use crate::addressing::Address; use crate::database::entry::{EntryValue, InvariantEntry}; pub const TYPE_TYPE: &str = "TYPE"; pub const TYPE_IS_ATTR: &str = "TYPE"; pub const TYPE_REQUIRES_ATTR: &str = "TYPE_REQUIRES"; pub const TYPE_HAS_ATTR: &str = "TYPE_HAS"; pub const TYPE_ID_ATTR: &str = "TYPE_ID"; pub const TYPE_INSTANCES_ATTR: &str = "TYPE_INSTANCES"; pub const IS_OF_TYPE_ATTR: &str = "IS"; pub const HIER_TYPE: &str = "HIER"; pub const HIER_HAS_ATTR: &str = "HAS"; lazy_static! { pub static ref TYPE_INVARIANT: InvariantEntry = InvariantEntry { attribute: String::from(TYPE_IS_ATTR), value: EntryValue::Value(serde_json::Value::from(TYPE_TYPE)), }; pub static ref TYPE_ADDR: Address = TYPE_INVARIANT.entity().unwrap(); pub static ref HIER_INVARIANT: InvariantEntry = InvariantEntry { attribute: String::from(TYPE_IS_ATTR), value: EntryValue::Value(serde_json::Value::from(HIER_TYPE)), }; pub static ref HIER_ADDR: Address = HIER_INVARIANT.entity().unwrap(); }