constrained_type

Crates.ioconstrained_type
lib.rsconstrained_type
version0.2.5
sourcesrc
created_at2020-03-11 23:27:50.605737
updated_at2021-08-14 00:50:32.893679
descriptionOn the fly value objects in Rust.
homepage
repositoryhttps://www.github.com/ronlobo/constrained_type
max_upload_size
id217685
size40,236
Ron Lobo (ronlobo)

documentation

README

Constrained Type

On the fly value objects in Rust

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

This is a simple project to help create on the fly value objects aka constrained types.

It provides some helper functions to construct these from Rust primitives and turn them into domain primitives, new types, value objects, you name it.

Motivation

Constrained types guarantee valid state and behaviour from dynamic runtime inputs after construction.

This can be useful when creating simple wrapper types, so called newtypes, value objects or domain primitives.

If an input does not meet the validation criteria, it returns an error result instead.

The goal is to remove defensive code statements, ease implementing business invariants and guarantee correct state at runtime.

Heavily inspired by "Domain Modelling Made Functional".

For more complex types, please take a look at the various builder crates.

Commit count: 0

cargo fmt