9个版本
0.2.700 | 2024年1月6日 |
---|---|
0.2.630 | 2023年11月10日 |
0.2.621 | 2023年7月29日 |
0.2.601 | 2023年6月13日 |
0.1.501 | 2023年5月27日 |
#124 in 配置
37 每月下载次数
80KB
2K SLoC
binconf
轻松保存和加载二进制配置文件。
数据在序列化过程中进行哈希处理(XXH3),在反序列化时进行验证,因此您可以确信数据没有被损坏。
使用XXH3的Crate: xxhash-rust
您还可以使用 toml
、json
、yaml
和 ron
保存配置。您需要启用相应的功能才能使用此功能。 (不支持 toml
、json
、yaml 或
ron
的哈希验证)
可选功能
bincode-conf
:启用以二进制形式保存和加载配置。(默认启用)toml-conf
:启用使用toml
保存和加载配置。json-conf
:启用使用json
保存和加载配置。yaml-conf
:启用使用yaml
保存和加载配置。ron-conf
:启用使用ron
保存和加载配置。full
:启用所有配置类型。这使您能够使用toml
、json
、yaml
、ron
以及二进制进行保存和加载。
禁用默认功能
如果您只想使用其中一个功能,您可以禁用默认功能并启用您想要使用的功能。
例如,仅使用 toml
[dependencies.binconf]
features = ["toml-conf"]
default-features = false
用法
use binconf::ConfigLocation::{Cache, Config, LocalData, Cwd};
use serde::{Deserialize, Serialize};
#[derive(Default, Serialize, Deserialize, Clone)]
struct TestConfig {
strings: String,
vecs: Vec<u8>,
}
fn main() {
let config = TestConfig {
strings: String::from("binconf"),
vecs: vec![1, 2, 3, 4, 5],
};
// Save the data at the user's config directory
binconf::store_bin("binconf-app", Some("config.bin"), Config, &config).unwrap();
// Load the data from the user's config directory
let stored =
binconf::load_bin::<TestConfig>("binconf-app", Some("config.bin"), Config, false).unwrap();
assert_eq!(stored.strings, config.strings);
assert_eq!(stored.vecs, config.vecs);
}
许可证
本项目采用MIT许可证 - 请参阅LICENSE文件以获取详细信息。
依赖关系
~0.5–12MB
~92K SLoC