4 个版本
0.2.0 | 2023 年 7 月 25 日 |
---|---|
0.1.2 | 2023 年 1 月 6 日 |
0.1.1 | 2022 年 10 月 11 日 |
0.1.0 | 2022 年 9 月 30 日 |
#12 在 #kdl
用于 2 crates
30KB
944 行
Knurdy
一个从 kdl 库到 serde 的最小化、低复制、非常有偏见的转换层。
这主要针对我的 Dialga 库,这是一个类似 Qud 洞穴蓝图实例化系统,它本身又是为 Palkia 设计的。
我对现有的所有 Rust KDL 库都存在一些不足
- Knuffel 非常强大,但它有自己的反序列化系统和宏,而不是使用 Serde。(当然,这适合它试图做的事情;KDL 并不完全映射到 Serde 的数据模型。)它在内存中存储 AST,但也需要存储它从其中解析的文本的范围,而我只想让纯 AST 留在周围。
- Kaydle 是一个使用 Serde 的 KDL 库,但它的功能不如 Knuffel 完整,并且不存储 AST 到内存中。
使用
调用 knurdy::deserialize_node
,或直接使用 KdlNodeDeser
。
依赖项
~2.9–4MB
~67K SLoC