1 unstable release

0.1.0 Nov 7, 2022

#1354 in Procedural macros

Download history 70/week @ 2023-11-28 56/week @ 2023-12-05 59/week @ 2023-12-12 151/week @ 2023-12-19 55/week @ 2023-12-26 53/week @ 2024-01-02 62/week @ 2024-01-09 58/week @ 2024-01-16 34/week @ 2024-01-23 39/week @ 2024-01-30 47/week @ 2024-02-06 82/week @ 2024-02-13 72/week @ 2024-02-20 105/week @ 2024-02-27 68/week @ 2024-03-05 74/week @ 2024-03-12

325 downloads per month
Used in 25 crates (via polywrap_schemafy)

MIT license

46KB
1K SLoC

schemafy

Build Status Docs

This is a Rust crate which can take a JSON schema (draft 4) and generate Rust types which are serializable with serde. No checking such as min_value are done but instead only the structure of the schema is followed as closely as possible.

As a schema could be arbitrarily complex this crate makes no guarantee that it can generate good types or even any types at all for a given schema but the crate does manage to bootstrap itself which is kind of cool.

Example

Generated types for VS Codes debug server protocol: https://docs.rs/debugserver-types

Development

The types generated by the JSON schema specification can be regenerated with cargo build --features internal-regenerate if changes have been made in the library itself. Rustfmt is required so that src/schema.rs is readable.

Dependencies

~2.5MB
~57K SLoC