#json-schema #code-generation #generate #type #serializable #serde #structure

二进制文件 schemafy

从 JSON 架构生成可序列化的 Rust 类型

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 编码

Download history 12586/week @ 2024-04-03 12823/week @ 2024-04-10 14347/week @ 2024-04-17 11558/week @ 2024-04-24 10664/week @ 2024-05-01 11920/week @ 2024-05-08 12789/week @ 2024-05-15 10180/week @ 2024-05-22 12937/week @ 2024-05-29 11586/week @ 2024-06-05 12865/week @ 2024-06-12 14794/week @ 2024-06-19 11705/week @ 2024-06-26 12815/week @ 2024-07-03 12841/week @ 2024-07-10 10800/week @ 2024-07-17

每月下载量 50,831
用在 19 软件包中(5 个直接使用)

MIT 许可证

110KB
1.5K SLoC

schemafy

Build Status Docs

这是一个 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