8 releases

Uses old Rust 2015

0.4.2 Mar 2, 2019
0.4.1 Dec 23, 2017
0.4.0 Aug 11, 2017
0.3.0 May 6, 2017
0.1.0 Nov 1, 2016

#2041 in Database interfaces

28 downloads per month

MIT license

36KB
867 lines

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

~1.3–2.2MB
~45K SLoC