6 releases

0.3.2 Dec 31, 2020
0.3.1 Dec 31, 2020
0.2.0 Dec 30, 2020
0.1.1 Dec 29, 2020

MIT/Apache

61KB
1.5K SLoC

ipld-schema

Crates.io Docs.rs CI Coverage Status

Features

  • DSL
  • Reified Form
    • Convert parsed schema-schema to its reified JSON form
    • Convert reified form of the schema-schema back to its DSL representation (sans comments)
    • Generate arbitrary IPLD schemas in reified form from the parsed schema-schema
    • Validate IPLD schema in reified form against the schema-schema and additional constraints (e.g. "rules around valid characters for type names")
    • Generate Rust types from a valid IPLD schema
    • Test generated IPLD schemas against implementations in other languages
    • Parse IPLD values into Rust types generated from a compatible schema
    • Generate arbitrary IPLD values from the reified form of some IPLD schema
    • Verify generated IPLD values roundtrip through parsing to Rust types which were generated from the IPLD schema

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

See CONTRIBUTING.md.

Dependencies

~2.1–3MB
~61K SLoC

)F_