1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//! loro-internal is a CRDT framework.
//!
//!
//!
//!
#![deny(clippy::undocumented_unsafe_blocks)]
#![warn(rustdoc::broken_intra_doc_links)]

pub mod arena;
pub mod diff_calc;
pub mod handler;
pub use event::{ContainerDiff, DiffEvent, DocDiff};
pub use fxhash::FxHashMap;
pub use handler::{BasicHandler, HandlerTrait, ListHandler, MapHandler, TextHandler, TreeHandler};
pub use loro::LoroDoc;
pub use oplog::OpLog;
pub use state::DocState;
pub mod loro;
pub mod obs;
pub mod oplog;
pub mod stable_pos;
pub mod txn;

pub mod change;
pub mod configure;
pub mod container;
pub mod dag;
pub mod encoding;
pub mod id;
pub mod op;
pub mod version;

mod error;
#[cfg(feature = "test_utils")]
pub mod fuzz;
mod span;
#[cfg(test)]
pub mod tests;
mod utils;
pub use utils::string_slice::StringSlice;

pub mod delta;
pub mod event;

pub use error::{LoroError, LoroResult};
pub(crate) mod group;
pub(crate) mod macros;
pub(crate) mod state;
pub(crate) mod value;
pub(crate) use id::{PeerID, ID};

// TODO: rename as Key?
pub(crate) use loro_common::InternalString;

pub use container::ContainerType;
pub use loro_common::{loro_value, to_value};
pub use value::{ApplyDiff, LoroValue, ToJson};
pub use version::VersionVector;