2 个版本
0.5.1 | 2024 年 6 月 6 日 |
---|---|
0.5.0 | 2024 年 6 月 4 日 |
#287 in 配置
每月 32 次下载
19KB
256 行
krossbar-settings-lib
Krossbar 设置库
该库提供了一个方便的包装器,用于将设置写入和读取 JSON 文件。
使用 Settings 处理器打开设置文件。使用处理器,您可以读取、插入或从内部 JSON 中删除设置项。
要创建 条目,请使用 Settings::read 或 Settings::read_or_insert 方法,该方法尝试从设置文件中读取值,如果不存在,则添加新的 JSON 条目。
使用 条目 处理器,您可以修改相应的 JSON 设置文件。
示例
use std::path::Path;
use krossbar_settings_common::DEFAULT_SETTINGS_DIR;
use krossbar_settings_lib::Settings;
const SERVICE_NAME: &str = "krossbar.storage.example";
fn print_json(path: &Path) {
let data = std::fs::read_to_string(path).unwrap();
println!("Settings: '{data}'");
}
fn manage_settings() {
let settings = Settings::init(SERVICE_NAME).unwrap();
let settings_path = Path::new(DEFAULT_SETTINGS_DIR).join(format!("{SERVICE_NAME}.json"));
print_json(&settings_path); // {}
let mut value = settings.read_or_insert("test_value", 42i32).unwrap();
print_json(&settings_path);
// { "test_value": ${some number} } if existed or
// { "test_value": 42 } if a newly created entry
value.update(11).unwrap();
print_json(&settings_path); // { "test_value": 11 }
value.clear().unwrap(); // {}
}
依赖项
~0.7–1.6MB
~35K SLoC