3 个稳定版本
新 1.1.0 | 2024 年 8 月 17 日 |
---|---|
1.0.1 | 2024 年 8 月 17 日 |
1.0.0 | 2024 年 7 月 24 日 |
#204 in 配置
83 每月下载量
用于 htrace
13KB
318 行
HConfig
一个简化从目录访问 Json 配置文件的文件配置管理库。
如果配置文件不存在,它将被创建。任何变量通过路径访问。保存使用原子方法,不允许其他应用程序/进程等部分加载。
使用的 serde_json crate 通过 "Hconfig::serde_json" 重新导出
在线文档
示例
fn main()
{
// configuration path, the directory need to be existing or created before continuing
HConfigManager::singleton().setConfPath("./config");
// get a "config", the name "example" mean "./config/example.json"
let mut config = HConfigManager::singleton().get("example");
// exemple of getting a var and getting a string (parse is from serde_json)
let myVar: Option<Value> = config.get("name");
let myString: String = config.get("path/to/myvar").unwrap().as_str().unwrap().to_string();
config.set("path/to/save",JsonValue::String("test is update".to_string()));
// save config modification.
config.save();
}
您还可以查看测试。
许可证
根据您的选择,许可协议为
- Apache License,版本 2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确说明,否则您提交的任何有意包含在工作中的贡献,根据 Apache-2.0 许可证定义,应按照上述方式双重许可,没有任何额外的条款或条件。
依赖项
~2–8MB
~59K SLoC