chaincodec_registry/lib.rs
1//! # chaincodec-registry
2//!
3//! Schema Registry for ChainCodec.
4//!
5//! ## Levels
6//! 1. **In-Memory Registry** — fast, ephemeral; loaded from CSDL files or JSON
7//! 2. **File-Backed Registry** — loads CSDL files from a directory at startup
8//! 3. **Remote Registry** (future) — HTTP client for registry.chaincodec.io
9//!
10//! The public-facing API is the `SchemaRegistry` trait from `chaincodec-core`.
11
12pub mod csdl;
13pub mod memory;
14#[cfg(feature = "remote")]
15pub mod remote;
16#[cfg(all(feature = "sqlite", not(target_arch = "wasm32")))]
17pub mod sqlite;
18
19pub use csdl::CsdlParser;
20pub use memory::MemoryRegistry;
21
22#[cfg(feature = "remote")]
23pub use remote::AbiFetcher;
24
25#[cfg(all(feature = "sqlite", not(target_arch = "wasm32")))]
26pub use sqlite::SqliteRegistry;