jacquard_lexicon/
lib.rs

1//! # Lexicon schema parsing and Rust code generation for the Jacquard atproto ecosystem
2//!
3//! This crate provides the core lexicon types and code generation infrastructure.
4//!
5//! For fetching lexicons and running the codegen binaries, see the `jacquard-lexgen` crate.
6//!
7//! ## Modules
8//!
9//! - [`codegen`] - Rust code generation from parsed schemas
10//! - [`corpus`] - Lexicon corpus management and namespace organization
11//! - [`lexicon`] - Schema parsing and validation
12//! - [`schema`] - Schema generation from Rust types (reverse codegen)
13//! - [`union_registry`] - Tracks union types for collision detection
14//! - [`fs`] - Filesystem utilities for lexicon storage
15//! - [`derive_impl`] - Implementation functions for derive macros (used by jacquard-derive)
16//! - [`validation`] - Runtime validation of Data against lexicon schemas
17
18#[cfg(feature = "codegen")]
19pub mod codegen;
20#[cfg(feature = "codegen")]
21pub mod corpus;
22#[cfg(feature = "codegen")]
23#[doc(hidden)]
24pub mod derive_impl;
25#[cfg(feature = "codegen")]
26pub mod error;
27#[cfg(feature = "codegen")]
28pub mod fs;
29pub mod lexicon;
30pub mod ref_utils;
31pub mod schema;
32pub mod validation;