1pub mod build;
2pub mod error;
3pub mod node;
4pub mod types;
5pub mod validate;
6pub mod visit;
7
8pub const MAX_ENTITY_NAME_LEN: usize = 64;
10
11pub const MAX_FIELD_NAME_LEN: usize = 64;
13
14pub const MAX_INDEX_FIELDS: usize = 4;
16
17pub const MAX_INDEX_NAME_LEN: usize =
19 MAX_ENTITY_NAME_LEN + (MAX_INDEX_FIELDS * (1 + MAX_FIELD_NAME_LEN));
20
21use crate::{build::BuildError, node::NodeError};
22use thiserror::Error as ThisError;
23
24pub mod prelude {
29 pub(crate) use crate::{build::schema_read, validate::validate_ident};
30 pub use crate::{
31 err,
32 error::ErrorTree,
33 node::*,
34 types::{Cardinality, Primitive},
35 visit::Visitor,
36 };
37 pub use candid::CandidType;
38 pub use serde::{Deserialize, Serialize};
39}
40
41#[derive(Debug, ThisError)]
46pub enum Error {
47 #[error(transparent)]
48 BuildError(#[from] BuildError),
49
50 #[error(transparent)]
51 NodeError(#[from] NodeError),
52}