holoconf_core/lib.rs
1//! holoconf-core: Configuration library with resolver support
2//!
3//! This crate provides the core functionality for loading, parsing, and resolving
4//! configuration files with interpolation support.
5//!
6//! # Safety
7//!
8//! This crate contains no unsafe code. All unsafe operations are delegated to
9//! well-audited dependencies (serde, tokio, etc.).
10//!
11//! # Example
12
13#![forbid(unsafe_code)]
14//!
15//! ```rust
16//! use holoconf_core::Config;
17//!
18//! let yaml = r#"
19//! database:
20//! host: localhost
21//! port: 5432
22//! "#;
23//!
24//! let config = Config::from_yaml(yaml).unwrap();
25//! assert_eq!(config.get("database.host").unwrap().as_str(), Some("localhost"));
26//! ```
27
28pub mod error;
29pub mod interpolation;
30pub mod resolver;
31pub mod schema;
32pub mod value;
33
34mod config;
35
36pub use config::{Config, ConfigOptions};
37pub use error::{Error, Result};
38pub use resolver::{ResolvedValue, Resolver, ResolverRegistry};
39pub use schema::Schema;
40pub use value::Value;