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
Usage
Rust code is generated by providing a Schema
struct (which can be deserailized from JSON).
A proc macro is availible in schemafy
crate
extern crate serde;
extern crate schemafy_core;
extern crate serde_json;
use ;
use Expander;
let json = read_to_string.expect;
let schema = from_str.unwrap;
let mut expander = new;
let code = expander.expand;