#model #smithy #merge #assembly #single #different #in-memory

atelier_assembler

实现 Smithy 模型组装模式,将文件合并为一个内存中的模型

5 个版本

0.1.4 2021 年 7 月 12 日
0.1.3 2021 年 6 月 25 日
0.1.2 2021 年 6 月 25 日
0.1.1 2021 年 5 月 3 日
0.1.0 2021 年 4 月 30 日

#765 in 文件系统

Download history 937/week @ 2024-03-13 664/week @ 2024-03-20 659/week @ 2024-03-27 833/week @ 2024-04-03 618/week @ 2024-04-10 647/week @ 2024-04-17 575/week @ 2024-04-24 516/week @ 2024-05-01 709/week @ 2024-05-08 652/week @ 2024-05-15 587/week @ 2024-05-22 866/week @ 2024-05-29 1191/week @ 2024-06-05 1145/week @ 2024-06-12 660/week @ 2024-06-19 1120/week @ 2024-06-26

4,266 每月下载量
37 个 Crates 中使用 (2 直接)

MIT 许可证

580KB
11K SLoC

Atelier: crate atelier_assembler

此 crate 提供模型组装功能,将文件合并为一个内存中的 Model

crates.io docs.rs

一个工具可以逐个添加文件,或从目录中添加,然后将它们全部处理为一个模型。此实现理解不同的注册文件扩展名,因此它可以读取不同表示的文件并将它们无缝组装。

示例

以下是最简单、最常见使用汇编器的方法。它使用默认的 FileTypeRegistry,并将搜索在环境变量 "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);

更多信息,请参阅 Rust Atelier 书籍

变更

版本 0.1.4

  • 重构了 ModelAssembler 构造函数,现在只有一个 'new' 函数。

版本 0.1.3

  • 添加了对 swaits 解析器测试的验证。

版本 0.1.2

  • 实现了使用模型汇编器通过多个命名空间文件构建模型的 cargo-atelier 的 lint 和 validate。
    • 修复了此 crate 中的编译器警告。

版本 0.1.1

  • 重构以生成
    • 一个解析文件类型的 FileReader 函数类型。
    • 一个匹配名称、读取器和 MIME 类型的 FileType。
    • 一个将一个或多个文件扩展名匹配到文件类型的 FileTypeRegistry。

版本 0.1.0

  • 从 atelier_lib crate 中提取。

依赖项

~8–11MB
~206K SLoC