orion_conf 0.7.2

conf storage
Documentation
use orion_variate::{EnvChecker, EnvDict, EnvEvaluable, ValueType};

fn main() {
    let json_content = r#"{
    "database_url": "${DB_URL}",
    "api_key": "${API_KEY}",
    "timeout": 30
}"#;

    println!("原始内容:");
    println!("{}", json_content);
    println!("\n");

    let mut env_dict = EnvDict::new();
    env_dict.insert("DB_URL", ValueType::from("postgresql://localhost/mydb"));
    env_dict.insert("API_KEY", ValueType::from("secret-key-123"));

    println!("环境变量字典:");
    println!("  DB_URL = postgresql://localhost/mydb");
    println!("  API_KEY = secret-key-123");
    println!("\n");

    let evaluated = json_content.to_string().env_eval(&env_dict);

    println!("env_eval 之后:");
    println!("{}", evaluated);
    println!("\n");

    println!("needs_env_eval: {}", evaluated.needs_env_eval());
    if evaluated.needs_env_eval() {
        println!("未定义的变量: {:?}", evaluated.list_env_vars());
    }
}