use crate::registry_core::identity::NodeId;
use super::Registry;
impl Registry {
pub fn path(&self) -> &str {
&self.header.path
}
pub fn id(&self) -> NodeId {
self.header.id
}
pub fn len(&self) -> usize {
self.entries.len()
}
pub fn is_empty(&self) -> bool {
self.entries.is_empty()
}
pub fn registry_count(&self) -> usize {
1 + self
.entries
.values()
.filter_map(|entry| entry.child.as_ref())
.map(|child| child.registry_count())
.sum::<usize>()
}
pub fn node_count(&self) -> usize {
self.entries
.values()
.map(|entry| 1 + entry.child.as_ref().map_or(0, |child| child.node_count()))
.sum()
}
pub fn check_count(&self) -> usize {
self.entries
.values()
.map(|entry| {
entry.info.runtime_checks.len()
+ entry.child.as_ref().map_or(0, |child| child.check_count())
})
.sum()
}
}