Skip to main content

zenith_core/parse/transform/
mod.rs

1//! KDL-node-tree → Zenith AST transform.
2//!
3//! All fallible helpers return `Result<_, ParseError>` so no `.unwrap()` or
4//! `.expect()` appears anywhere in this module tree.
5//!
6//! Wiring only: submodules carry the logic, grouped by node cohesion.
7//! - `helpers`: shared span/value-extraction helpers.
8//! - `document`: the top-level `transform` entry plus the document-level
9//!   structural blocks (project/assets/libraries/.../pages).
10//! - `tokens`: the `tokens { … }` and `styles { … }` blocks.
11//! - `node`: the per-node-kind dispatch edge (`node::transform_node`).
12//! - `page`: `page { … }` block transform and `PAGE_KNOWN_PROPS`.
13//! - `pattern`: `pattern` node transform.
14//! - `chart`: `chart` node transform.
15//! - `leaf`/`container`/`special`: the renderable node transforms.
16
17mod block_style;
18mod chart;
19mod container;
20mod document;
21mod helpers;
22mod leaf;
23mod node;
24mod page;
25mod pattern;
26mod special;
27mod tokens;
28
29pub use document::transform;
30pub(crate) use document::{
31    ASSET_KNOWN_PROPS, DOCUMENT_KNOWN_PROPS, transform_brand_contract, transform_diagnostic_policy,
32};
33pub(crate) use helpers::known_props_for_kind;
34pub(crate) use page::PAGE_KNOWN_PROPS;