automerge/automerge/src/query/len.rs
Orion Henry 3046cbab35
Replace the OpID API with an object ID
Rather than returning an OpID for every mutation, we now return an
`Option<ObjId>`. This is `Some` only when a `make*` operation was
applied. This `ObjID` is an opaque type which can be used with any
document.
2022-01-01 20:15:02 +00:00

21 lines
473 B
Rust

use crate::op_tree::OpTreeNode;
use crate::query::{QueryResult, TreeQuery};
use std::fmt::Debug;
#[derive(Debug, Clone, PartialEq)]
pub(crate) struct Len<const B: usize> {
pub len: usize,
}
impl<const B: usize> Len<B> {
pub fn new() -> Self {
Len { len: 0 }
}
}
impl<const B: usize> TreeQuery<B> for Len<B> {
fn query_node(&mut self, child: &OpTreeNode<B>) -> QueryResult {
self.len = child.index.len;
QueryResult::Finish
}
}