Skip to main content

Crate philiprehberger_config_loader

Crate philiprehberger_config_loader 

Source
Expand description

§philiprehberger-config-loader

Layered configuration from files and environment variables with zero dependencies.

Configuration is assembled from multiple sources with clear priority ordering: defaults < file values < environment variables < manual overrides.

§Example

use philiprehberger_config_loader::{ConfigBuilder, ConfigValue};

let config = ConfigBuilder::new()
    .default("host", "localhost")
    .default("port", 8080_i64)
    .default("debug", false)
    .set("version", "1.0.0")
    .build()
    .unwrap();

assert_eq!(config.get_string("host"), Some("localhost"));
assert_eq!(config.get_int("port"), Some(8080));
assert_eq!(config.get_bool("debug"), Some(false));

Structs§

Config
An immutable configuration store.
ConfigBuilder
Builder for assembling configuration from multiple layered sources.

Enums§

ConfigError
Errors that can occur during configuration loading.
ConfigValue
A configuration value that can hold different types.