17 个版本
0.6.0 | 2021 年 10 月 6 日 |
---|---|
0.5.2 | 2021 年 5 月 18 日 |
0.5.1 | 2020 年 7 月 12 日 |
0.5.0 | 2019 年 7 月 7 日 |
0.1.1 | 2016 年 11 月 27 日 |
#1713 in 编码
每月下载量 50,831 次
用在 19 个 软件包中(5 个直接使用)
110KB
1.5K SLoC
schemafy
这是一个 Rust 包,可以接受 JSON 架构(草案 4) 并生成可使用 serde 序列化的 Rust 类型。不执行诸如 min_value
这样的检查,而是尽可能紧密地遵循架构的结构。
由于架构可以是任意复杂的,因此这个包不能保证为给定的架构生成好的类型,甚至不能保证生成任何类型,但该包确实能够启动自身,这有点酷。
示例
为 VS Codes 的 调试服务器协议 生成的类型: https://docs.rs/debugserver-types
开发
如果在库本身中进行了更改,可以使用 cargo build --features internal-regenerate
重新生成由 JSON 架构规范生成的类型。需要 Rustfmt 以便 src/schema.rs
可读。
依赖项
~2.5MB
~59K SLoC