corium_forms/lib.rs
1//! Boundary conversion between human-facing forms and engine types.
2//!
3//! Boundary modules bridge the formats used at wire, file, and console
4//! boundaries onto the engine's schema and transaction types:
5//!
6//! * [`schemaform`] turns `{:db/ident … :db/valueType …}` maps into a
7//! [`corium_core::Schema`] and its [`corium_db::Idents`].
8//! * `toml_schema` (feature `toml`) turns grouped or flat TOML declarations
9//! into one neutral attribute model and equivalent EDN schema forms.
10//! * [`txforms`] turns map/list transaction forms into [`corium_tx::TxItem`]s.
11//!
12//! The EDN modules depend only on the pure engine crates (`corium-core`,
13//! `corium-db`, `corium-query`, `corium-tx`), so disabling default features
14//! keeps TOML and Serde out of consumers such as `corium-wasm`.
15//! `corium-protocol` re-exports the EDN modules for back-compatible paths
16//! (`corium_protocol::schemaform`, `corium_protocol::txforms`).
17
18pub mod schemaform;
19#[cfg(feature = "toml")]
20pub mod toml_schema;
21pub mod txforms;