6 个版本

0.2.4 2024 年 4 月 20 日
0.2.3 2024 年 4 月 19 日
0.2.2 2024 年 3 月 5 日
0.1.0 2024 年 2 月 27 日

1362编码

每月 39 次下载

MIT 许可证

15KB
392

config-rs

管理配置文件的一个简单工具

计划

  • 与 toml, yaml 等集成...
  • 定期更新...

lib.rs:

xcfg_rs 是一个简单的配置文件加载器和保存器。

示例

use serde::{Deserialize, Serialize};
use xcfg::File;
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)]
pub struct Test {
    a: i32,
    b: Vec<i32>,
    sub: SubTest,
}
impl Default for Test {
    fn default() -> Self {
        Self {
            a: 0,
            b: vec![],
            sub: SubTest::default(),
        }
    }
}

#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)]
pub struct SubTest {
    c: Vec<String>,
}
impl Default for SubTest {
    fn default() -> Self {
        Self { c: vec![] }
    }
}

let test = Test {
    a: 1,
    b: vec![0, 1, 2],
    sub: SubTest {
        c: vec!["ab".to_string(), "cd".to_string()],
    },
};
let path = "./test.toml";
let mut f = File::default().path(path);
f.inner = test.clone();
f.save().unwrap();
f.inner = Test::default();
f.load().unwrap();
assert_eq!(f.inner, test);
std::fs::remove_file(path).unwrap();

依赖项

~0.3–0.9MB
~18K SLoC