[][src]Crate atelier_lib

Combined crate for all Atelier sub-crates incorporated as features. Atelier is a Rust native library, and tools, for the AWS Smithy Interface Definition Language.

Features

The aim of this crate is to provide a single client interface over a set of crates that provide different Atelier capabilities. The following table shows the mapping from individual crate to the combined module path in this library. The column Default indicates those that are included in the default feature, although the core will be included regardless of any feature selection.

Feature nameDefaultIndividual crateTarget module pathPurpose
N/AYesatelier_core::coreSemantic model, builders, and API traits.
N/AYesatelier_select::selectCore select model.
"json"Yesatelier_json::format::jsonReading and Writing JSON AST representation.
"openapi"Noatelier_openapi::format::openapiReading and Writing OpenAPI representations.
"rdf"Noatelier_rdf::format::rdfReading and Writing RDF representations.
"smithy"Yesatelier_smithy::format::smithyReading and Writing the Smithy native representation.
"uml"NoIn this crate::format::plant_umlWriting models in a diagram form.

Additions

Actions...

Assembler...

Re-exports

pub use atelier_core as core;
pub use atelier_select as select;

Modules

action

This module provides functions that wrap common actions into single entry points. The two entry points ensure that standard lint and validation actions are always easily accessible to the user.

assembler

Provides the model assembly capability, to merge files into a single in-memory Model. A tool can add files one-by-one, or from a directory, and then process them all into a single model. This implementation understands the different registered file extensions so that it can read files in different representations and assemble them seamlessly.

format

Child modules that implement ModelReader and ModelWriter for specific representations.