icydb_core/lib.rs
1//! Core runtime for IcyDB: entity traits, values, executors, visitors, and
2//! the ergonomics exported via the `prelude`.
3extern crate self as icydb;
4pub mod db;
5pub mod error;
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 model::{entity::EntityModel, index::IndexModel},
37 traits::{EntityIdentity, EntityKind, Path},
38 value::Value,
39 };
40}