15个版本 (5个重大更新)
0.11.7 | 2024年3月23日 |
---|---|
0.11.5 | 2024年1月30日 |
0.11.4 | 2023年12月4日 |
0.11.3 | 2023年11月12日 |
0.10.0 | 2023年7月17日 |
#51 in 配置
每月8,069次下载
62KB
1K SLoC
confik
这个crate提供创建配置/设置结构的宏和从文件和环境读取它们的函数。
示例
假设config.toml
包含
host = "google.com"
username = "root"
并且环境包含
PASSWORD=hunter2
那么
use confik::{Configuration, EnvSource, FileSource};
#[derive(Debug, PartialEq, Configuration)]
struct Config {
host: String,
username: String,
#[confik(secret)]
password: String,
}
fn main() {
let config = Config::builder()
.override_with(FileSource::new("config.toml"))
.override_with(EnvSource::new().allow_secrets())
.try_build()
.unwrap();
assert_eq!(
config,
Config {
host: "google.com".to_string(),
username: "root".to_string(),
password: "hunter2".to_string(),
}
);
}
许可证
本项目采用Apache License,版本2.0或MIT License,由您选择。
- Apache License,版本2.0
- MIT License
由您选择。
依赖
~2.7–4.5MB
~94K SLoC