17 releases
0.6.0 | Oct 6, 2021 |
---|---|
0.5.2 | May 18, 2021 |
0.5.1 | Jul 12, 2020 |
0.5.0 | Jul 7, 2019 |
0.1.1 | Nov 27, 2016 |
#550 in Procedural macros
78,136 downloads per month
Used in 15 crates
(5 directly)
110KB
1.5K
SLoC
schemafy
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
~1.3–2.2MB
~44K SLoC