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