use cirious_codex_config::{format::ConfigFormat, ConfigBuilder};
use serde::Deserialize;
#[derive(Debug, Deserialize)]
struct ServerConfig {
host: String,
port: u16,
}
fn main() {
let raw_json = r#"{
"host": "127.0.0.1",
"port": 3000
}"#;
let builder = ConfigBuilder::new().add_source(raw_json, ConfigFormat::Json);
if let Ok(builder) = builder {
let config_result = builder.value.add_env_prefix("APP_").build::<ServerConfig>();
if let Ok(config) = config_result {
let config = config.value;
println!("Server running at: {}:{}", config.host, config.port);
}
}
}