3 个版本
0.1.12 | 2023年10月8日 |
---|---|
0.1.11 | 2023年9月28日 |
0.1.10 | 2023年9月24日 |
#923 in 解析器实现
每月 32 次下载
18KB
271 行
dynp
一个强调使用 Newtype 模式的动态、类型安全的属性系统。
💡 灵感来源
这个库受到了 iZotope/glassproperties
C++ 库的启发;向那个库的出色作者致以最高的敬意。
📦 特性
- 属性集合
- 属性赋值
- 属性检索
- 属性订阅(带有回调/闭包)
👨💻 使用方法
以下代码片段应该能给你这个库的基本概念。
use dynp::PropertyCollection;
// define a custom property using the Newtype pattern
#[derive(Copy, Clone, Debug)]
struct CustomProperty(i32);
fn main() {
// create a new property collection
let mut collection = PropertyCollection::new();
// assign a new property
collection.assign(CustomProperty(42));
// get the property
match collection.get::<CustomProperty>() {
Some(prop) => {
println!("Property: {:?}", prop);
},
None => {
println!("Property does not exist");
}
};
}
🚧 路线图
- 属性反序列化
- 性能测试和改进
- 改进文档