ipld-schema 0.3.2

IPLD Schema tools
Documentation
# ipld-schema

[![Crates.io](https://img.shields.io/crates/v/ipld-schema.svg)](https://crates.io/crates/ipld-schema)
[![Docs.rs](https://docs.rs/ipld-schema/badge.svg)](https://docs.rs/ipld-schema)
[![CI](https://github.com/mx00s/ipld-schema/workflows/Continuous%20Integration/badge.svg)](https://github.com/mx00s/ipld-schema/actions)
[![Coverage Status](https://coveralls.io/repos/github/mx00s/ipld-schema/badge.svg?branch=main)](https://coveralls.io/github/mx00s/ipld-schema?branch=main)

## Features

- [ ] DSL
  - [x] Parse the [schema-schema]./specs/schemas/schema-schema.ipldsch
- [ ] Reified Form
  - [x] Convert parsed schema-schema to its [reified JSON form]./specs/schemas/schema-schema.ipldsch.json
  - [x] Convert reified form of the schema-schema back to its DSL representation (sans comments)
  - [x] 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]LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
 * MIT license
   ([LICENSE-MIT]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](CONTRIBUTING.md).