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