#mini #config #minimalist #derive #dynamic #macro #macro-derive

mini-config-derive

支持性的迷你配置推导宏

3个版本

0.1.2 2024年4月29日
0.1.1 2023年4月17日
0.1.0 2023年4月17日

68#mini

每月49次 下载
mini-config 中使用

MIT 许可证

5KB

mini-config-rs

Rust的简约动态配置

0.1.3版本更新了什么?

内存增强“再次”,测试32百万个get同时只消耗1.009 KB。添加了新的功能get_str()以引用方式获取(由于双String使用减少2倍从get()),现在仅为String的1倍使用

SomeEnum::Data.get_str() -> &str

从0.1.2版本没有引入破坏性更改,您可以无忧升级!

为什么存在这个?

我尝试了使用Rust配置,但对我来说的小项目来说它太大、太重了。
而且出于某种原因,有许多我没有使用过的功能。
所以我决定创建一个使用枚举将数据存储到内存中的简约配置。
并且直接使用枚举检索它。

如何使用?

请将 derive 功能添加到 Cargo.toml 中
以启用 Configure 推导。

[dependencies]
mini-config = { version="*", features=["derive"]}

它可以直接在 main 中使用。

use mini_config::Configure;

// Debug and Clone "MUST" present.
#[derive(Debug,Clone,Configure)]
pub enum SampleConfig {
    VariableOne
}

fn main(){
    // set value (as &str)
    SampleConfig::VariableOne.set("string"); 
    
    // get value (as String)
    let retrived_value = SampleConfig::VariableOne.val();
}

如果您想在其他函数中调用它,只需导入枚举。

use crate::SampleConfig;

然后您可以使用 .set("new val") 来重新初始化
.val() 来获取该特定函数中的数据。

最佳实践?请参考GitHub仓库中的 example 文件夹。

依赖项

~1.5MB
~36K SLoC