icydb_core/
lib.rs

1//! Core runtime for IcyDB: entity traits, values, executors, visitors, and
2//! the ergonomics exported via the `prelude`.
3pub mod db;
4pub mod error;
5pub mod hash;
6pub mod interface;
7pub mod key;
8pub mod model;
9pub mod obs;
10pub mod sanitize;
11pub mod serialize;
12pub mod traits;
13pub mod types;
14pub mod validate;
15pub mod value;
16pub mod view;
17pub mod visitor;
18
19///
20/// CONSTANTS
21///
22
23/// Maximum number of indexed fields allowed on an entity.
24///
25/// This limit keeps hashed index keys within bounded, storable sizes and
26/// simplifies sizing tests in the stores.
27pub const MAX_INDEX_FIELDS: usize = 4;
28
29///
30/// Prelude
31///
32/// Prelude contains only domain vocabulary.
33/// No errors, executors, stores, serializers, or helpers are re-exported here.
34///
35
36pub mod prelude {
37    pub use crate::{
38        key::Key,
39        model::index::IndexModel,
40        traits::{EntityKind, Path},
41        value::Value,
42    };
43}