Rust native library and tools for the AWS Smithy Interface Definition Language.
Given that a Smithy is "the workshop of a smith", this project has been named for "an artist's or designer's studio or workroom". Also, given that Fashion Tech. is just a damn fun place to be these days, it seemed appropriate. This repo contains a number of crates that provide different aspects, or capabilities, around Smithy processing. For clients that wish to use a number of features but don't want to track individual version compatibility the
atelier_lib crate incorporates all but the cargo command using features to select the different capabilities.
||The Model, Builder, and Selector types and I/O traits.||Model: 80%, Builder: 75%, Selector: 20%, Tests: 0%|
||The serializer/de-serializer for native Smithy.||Writer: 90%, Reader: 0%, Tests: 5%|
||The serializer/de-serializer for the JSON AST||Writer: 90%, Reader: 0%, Tests: 5%|
||Re-export structures from previous crates.||Done.|
- Core API support for readers.
- Parser for Smithy representation.
- Parser for Smithy's JSON AST representation.
- Additional documentation.
- Cleaned up core and builder APIs.
- Documented all core package APIs.
- Goal: documentation and examples.
- Initial types for manipulation of Smithy Models, not including selector expressions.
- Initial builder types for fluent construction of models.
- Builder example working to construct the weather model.
- Complete JSON serialization of the weather model.
- Complete Smithy serialization of the weather model.
- Goal: to be able to create a copy of the weather example model in code using the model builder API.
- Complete model for selector expressions.
- Validation (internal and external) support.
- Parser and writer for OpenAPI representation.
- Work on cargo command for processing Smithy files.