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 |
#53 in #ipld
61KB
1.5K
SLoC
ipld-schema
Features
- DSL
- Parse the schema-schema
- 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
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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
~3–4MB
~74K SLoC