atelier_assembler

Crates.ioatelier_assembler
lib.rsatelier_assembler
version0.1.4
sourcesrc
created_at2021-04-30 23:21:52.547974
updated_at2021-07-12 23:27:47.262822
descriptionImplements the Smithy model assembler pattern, to merge files into a single in-memory Model.
homepage
repositoryhttps://github.com/johnstonskj/rust-atelier.git
max_upload_size
id391735
size30,516
Simon Johnston (johnstonskj)

documentation

https://docs.rs/atelier_assembler/

README

Atelier: crate atelier_assembler

This crate provides the model assembly capability, to merge files into a single in-memory Model.

crates.io docs.rs

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.

Example

The following is the simple, and most common, method of using the assembler. This uses the default FileTypeRegistry and will search for all models in the set of paths specified in the environment variable "SMITHY_PATH".

use atelier_assembler::ModelAssembler;
use atelier_core::error::Result;
use atelier_core::model::Model;
use std::convert::TryFrom;

let env_assembler = ModelAssembler::default();

let model: Result<Model> = Model::try_from(env_assembler);

For more information, see the Rust Atelier book.

Changes

Version 0.1.4

  • Refactored constructors for ModelAssembler, just one 'new' function now.

Version 0.1.3

  • Added validation for swaits' resolver test.

Version 0.1.2

Version 0.1.1

  • Refactored to produce:
    • A FileReader function type that parses a file type.
    • A FileType that matches a name, reader, and MIME type.
    • A FileTypeRegistry that matches one or more file extensions to a file type.

Version 0.1.0

  • Extracted from the atelier_lib crate.
Commit count: 421

cargo fmt