fix(apb): is_empty === len()==0, new is_nothing

basically is_empty on an empty Node::Vec is true, but is_nothing on an
empty Node::Vec is false
This commit is contained in:
əlemi 2024-04-23 23:27:01 +02:00
parent deb5fe5744
commit d50a762f63
Signed by: alemi
GPG key ID: A4895B84D311642C

View file

@ -37,7 +37,7 @@ impl<T : super::Base> Node<T> {
match self {
Node::Empty | Node::Link(_) => None,
Node::Object(x) => Some(x),
Node::Array(v) => v.get(0),
Node::Array(v) => v.front(),
}
}
@ -51,7 +51,7 @@ impl<T : super::Base> Node<T> {
}
/// true only if Node is empty
pub fn is_empty(&self) -> bool {
pub fn is_nothing(&self) -> bool {
matches!(self, Node::Empty)
}
@ -70,6 +70,12 @@ impl<T : super::Base> Node<T> {
matches!(self, Node::Array(_))
}
/// true only if Node is empty
pub fn is_empty(&self) -> bool {
self.len() == 0
}
/// returns number of contained items (links count as items for len)
pub fn len(&self) -> usize {
match self {