Skip to main content

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}