Crate holoconf_core

Crate holoconf_core 

Source
Expand description

holoconf-core: Configuration library with resolver support

This crate provides the core functionality for loading, parsing, and resolving configuration files with interpolation support.

§Safety

This crate contains no unsafe code. All unsafe operations are delegated to well-audited dependencies (serde, tokio, etc.).

§Example

use holoconf_core::Config;

let yaml = r#"
database:
  host: localhost
  port: 5432
"#;

let config = Config::from_yaml(yaml).unwrap();
assert_eq!(config.get("database.host").unwrap().as_str(), Some("localhost"));

Re-exports§

pub use error::Error;
pub use error::Result;
pub use resolver::ResolvedValue;
pub use resolver::Resolver;
pub use resolver::ResolverRegistry;
pub use schema::Schema;
pub use value::Value;

Modules§

error
Error types for holoconf
interpolation
Interpolation parsing per ADR-011
resolver
Resolver architecture per ADR-002
schema
Schema validation for configuration (ADR-007, FEAT-004)
value
Configuration value types

Structs§

Config
The main configuration container
ConfigOptions
Configuration options for loading configs