Skip to main content

ferriorm_core/
lib.rs

1//! Core domain types for the ferriorm ecosystem.
2//!
3//! This crate is the foundation of ferriorm. It defines the Abstract Syntax Tree
4//! ([`ast`]), the validated Schema Intermediate Representation ([`schema`]),
5//! scalar and provider types ([`types`]), and domain-level errors ([`error`]).
6//!
7//! `ferriorm-core` has **zero external dependencies** (aside from optional `serde`
8//! support behind a feature flag). Every other ferriorm crate depends on it, but it
9//! depends on nothing outside `std`.
10//!
11//! # Crate relationships
12//!
13//! ```text
14//! ferriorm-parser ──┐
15//! ferriorm-codegen ─┤
16//! ferriorm-runtime ─┼── all depend on ──► ferriorm-core
17//! ferriorm-migrate ─┘
18//! ```
19
20pub mod ast;
21pub mod error;
22pub mod schema;
23pub mod types;
24pub mod utils;