#json-schema #code-generation #generate #type #serializable #schemafy #generated

二进制 polywrap_schemafy

从 JSON 模式生成可序列化的 Rust 类型

2 个版本

0.1.1 2022 年 11 月 7 日
0.1.0 2022 年 11 月 7 日

5#schemafy

Download history 163/week @ 2024-04-01 62/week @ 2024-04-08 82/week @ 2024-04-15 77/week @ 2024-04-22 84/week @ 2024-04-29 101/week @ 2024-05-06 93/week @ 2024-05-13 70/week @ 2024-05-20 93/week @ 2024-05-27 72/week @ 2024-06-03 69/week @ 2024-06-10 65/week @ 2024-06-17 95/week @ 2024-06-24 39/week @ 2024-07-08 107/week @ 2024-07-15

244 每月下载量
用于 24 个 crate(直接使用 3 个)

MIT 许可证

200KB
1.5K SLoC

schemafy

Build Status Docs

这是一个 Rust crate,可以从 JSON 模式(草案 4) 中生成可使用 serde 序列化的 Rust 类型。没有执行检查,如 min_value,而是尽可能地遵循模式的结构。

由于模式可能非常复杂,这个 crate 不能保证为给定的模式生成好的类型,甚至不能保证生成任何类型,但它确实能够自我引导,这是相当有趣的。

示例

为 VS Code 的 调试服务器协议 生成的类型: https://docs.rs/debugserver-types

开发

如果库本身有更改,可以使用 cargo build --features internal-regenerate 重新生成由 JSON 模式规范生成的类型。需要 Rustfmt 以便 src/schema.rs 可读。

依赖关系

~1–10MB
~115K SLoC