ConstraintDSLModule

PackageReified.Constraint
Constraint constructors usable without the Constraint. prefix inside a module that declares value rules.

Summary

NameSignatureSynopsis
Operations
presentpresent Alias for present.
blankblank Alias for blank.
optionaloptional innerAlias for optional.
minLengthminLength minimumAlias for minLength.
maxLengthmaxLength maximumAlias for maxLength.
lengthBetweenlengthBetween minimum maximumAlias for lengthBetween.
emailemail Alias for email.
trimmedtrimmed Alias for trimmed.
numericnumeric Alias for numeric.
alphanumericalphanumeric Alias for alphanumeric.
patternpattern Alias for pattern.
oneOfoneOf Alias for oneOf.
noneOfnoneOf Alias for noneOf.
equalToequalTo Alias for equalTo.
notEqualTonotEqualTo Alias for notEqualTo.
greaterThangreaterThan Alias for greaterThan.
lessThanlessThan Alias for lessThan.
atLeastatLeast Alias for atLeast.
atMostatMost Alias for atMost.
positivepositive Alias for positive.
nonNegativenonNegative Alias for nonNegative.
negativenegative Alias for negative.
nonPositivenonPositive Alias for nonPositive.
singlesingle Alias for single.
atLeastOneatLeastOne Alias for atLeastOne.
atMostOneatMostOne Alias for atMostOne.
moreThanOnemoreThanOne Alias for moreThanOne.
notContainsnotContains expectedAlias for notContains.
multipleOfmultipleOf divisorAlias for multipleOf.
finitefinite Alias for finite.
finite32finite32 Alias for finite32.
notWithnotWith Alias for notWith.
customcustom Alias for custom.
customLocalizedcustomLocalized Alias for customLocalized.
customWithcustomWith Alias for customWith.
contramapcontramap Alias for contramap.
describedescribe Alias for describe.
orErrororError failure resultReplaces a failed constraint's violation with the supplied error.
mapErrormapError mapper resultMaps a failed constraint's violation with the supplied function.

Operations

kind:member

present

present
Member
Alias for present.

Returns

Constraint<^value>
kind:member

blank

blank
Member
Alias for blank.

Returns

Constraint<^value>
kind:member

optional

optional inner
Member
Alias for optional.

Parameters

NameTypeDescription
innerConstraint<'a>

Returns

Constraint<^b>
kind:member

minLength

minLength minimum
Member
Alias for minLength.

Parameters

NameTypeDescription
minimumint

Returns

Constraint<^value>
kind:member

maxLength

maxLength maximum
Member
Alias for maxLength.

Parameters

NameTypeDescription
maximumint

Returns

Constraint<^value>
kind:member

lengthBetween

lengthBetween minimum maximum
Member
Alias for lengthBetween.

Parameters

NameTypeDescription
minimumint
maximumint

Returns

Constraint<^value>
kind:member

email

email
Member
Alias for email.

Returns

Constraint<string>
kind:member

trimmed

trimmed
Member
Alias for trimmed.

Returns

Constraint<string>
kind:member

numeric

numeric
Member
Alias for numeric.

Returns

Constraint<string>
kind:member

alphanumeric

alphanumeric
Member
Alias for alphanumeric.

Returns

Constraint<string>
kind:member

pattern

pattern
Member
Alias for pattern.

Returns

string -> Constraint<string>
kind:member

oneOf

oneOf
Member
Alias for oneOf.

Returns

'a seq -> Constraint<'a>
kind:member

noneOf

noneOf
Member
Alias for noneOf.

Returns

'a seq -> Constraint<'a>
kind:member

equalTo

equalTo
Member
Alias for equalTo.

Returns

'a -> Constraint<'a>
kind:member

notEqualTo

notEqualTo
Member
Alias for notEqualTo.

Returns

'a -> Constraint<'a>
kind:member

greaterThan

greaterThan
Member
Alias for greaterThan.

Returns

'a -> Constraint<'a>
kind:member

lessThan

lessThan
Member
Alias for lessThan.

Returns

'a -> Constraint<'a>
kind:member

atLeast

atLeast
Member
Alias for atLeast.

Returns

'a -> Constraint<'a>
kind:member

atMost

atMost
Member
Alias for atMost.

Returns

'a -> Constraint<'a>
kind:member

positive

positive
Member
Alias for positive.

Returns

Constraint<^value>
kind:member

nonNegative

nonNegative
Member
Alias for nonNegative.

Returns

Constraint<^value>
kind:member

negative

negative
Member
Alias for negative.

Returns

Constraint<^value>
kind:member

nonPositive

nonPositive
Member
Alias for nonPositive.

Returns

Constraint<^value>
kind:member

single

single
Member
Alias for single.

Returns

Constraint<^value>
kind:member

atLeastOne

atLeastOne
Member
Alias for atLeastOne.

Returns

Constraint<^value>
kind:member

atMostOne

atMostOne
Member
Alias for atMostOne.

Returns

Constraint<^value>
kind:member

moreThanOne

moreThanOne
Member
Alias for moreThanOne.

Returns

Constraint<^value>
kind:member

notContains

notContains expected
Member
Alias for notContains.

Parameters

NameTypeDescription
expected'value

Returns

Constraint<^container>
kind:member

multipleOf

multipleOf divisor
Member
Alias for multipleOf.

Parameters

NameTypeDescription
divisor^a

Returns

Constraint<^a>
kind:member

finite

finite
Member
Alias for finite.

Returns

Constraint<float>
kind:member

finite32

finite32
Member
Alias for finite32.

Returns

Constraint<float32>
kind:member

notWith

notWith
Member
Alias for notWith.

Returns

string -> Constraint<'a> -> Constraint<'a>
kind:member

custom

custom
Member
Alias for custom.

Returns

string -> ('a -> bool) -> Constraint<'a>
kind:member

customLocalized

customLocalized
Member
Alias for customLocalized.

Returns

string -> string -> ('a -> bool) -> Constraint<'a>
kind:member

customWith

customWith
Member
Alias for customWith.

Returns

string -> ('a -> Result<unit, Violation>) -> Constraint<'a>
kind:member

contramap

contramap
Member
Alias for contramap.

Returns

('a -> 'b) -> Constraint<'b> -> Constraint<'a>
kind:member

describe

describe
Member
Alias for describe.

Returns

string -> Constraint<'a> -> Constraint<'a>
kind:member

orError

orError failure result
Member
Replaces a failed constraint's violation with the supplied error.

Parameters

NameTypeDescription
failure'a
resultResult<'b, 'c>

Returns

Result<'b, 'a>

Verification Examples

value |> Constraint.guard present |> orError NameRequired
kind:member

mapError

mapError mapper result
Member
Maps a failed constraint's violation with the supplied function.

Parameters

NameTypeDescription
mapper'a -> 'b
resultResult<'c, 'a>

Returns

Result<'c, 'b>

Verification Examples

value |> Constraint.guard (greaterThan 0) |> mapError InvalidQuantity

Examples

module SignupRules =
    open Reified.ConstraintDSL

    let age : Constraint<int> = atLeast 13
    let contact : Constraint<string> = Constraint.all [ present; email ]
    let requireContact value = value |> Constraint.guard contact |> orError EmailRequired