6 个版本

0.2.5 2021 年 8 月 14 日
0.2.4 2021 年 8 月 13 日
0.2.0 2021 年 7 月 25 日
0.1.3 2021 年 7 月 14 日
0.1.2-alpha.1 2020 年 3 月 13 日

Rust 模式 中排名 1815

每月下载量 26

MIT/Apache

21KB
475

Constrained Type

Rust 中的即时值对象

crates.io Documentation Version MIT or Apache 2.0 licensed Dependency Status
build status Coverage Status downloads

这是一个简单的项目,旨在帮助创建即时值对象,即受约束类型。

它提供了一些辅助函数,可以从 Rust 原语构造这些类型,并将它们转换为领域原语、新类型、值对象等。

动机

受约束类型在构造后确保动态运行时输入的有效状态和行为。

这在创建简单的包装类型,所谓的 newtypes,值对象或领域原语时非常有用。

如果输入不满足验证标准,则返回错误结果。

目标是减少防御性代码语句,简化业务不变量的实现,并在运行时保证正确的状态。

深受"Domain Modelling Made Functional" 的启发。

对于更复杂类型,请参阅各种构建器crate。

依赖关系

~3–4.5MB
~82K SLoC