ConstraintDSLModule
PackageReified.Constraint
Constraint constructors usable without the Constraint. prefix inside a module that declares value rules.
Summary
| Name | Signature | Synopsis |
|---|
| Operations |
| present | present | Alias for present. |
| blank | blank | Alias for blank. |
| optional | optional inner | Alias for optional. |
| minLength | minLength minimum | Alias for minLength. |
| maxLength | maxLength maximum | Alias for maxLength. |
| lengthBetween | lengthBetween minimum maximum | Alias for lengthBetween. |
| email | email | Alias for email. |
| trimmed | trimmed | Alias for trimmed. |
| numeric | numeric | Alias for numeric. |
| alphanumeric | alphanumeric | Alias for alphanumeric. |
| pattern | pattern | Alias for pattern. |
| oneOf | oneOf | Alias for oneOf. |
| noneOf | noneOf | Alias for noneOf. |
| equalTo | equalTo | Alias for equalTo. |
| notEqualTo | notEqualTo | Alias for notEqualTo. |
| greaterThan | greaterThan | Alias for greaterThan. |
| lessThan | lessThan | Alias for lessThan. |
| atLeast | atLeast | Alias for atLeast. |
| atMost | atMost | Alias for atMost. |
| positive | positive | Alias for positive. |
| nonNegative | nonNegative | Alias for nonNegative. |
| negative | negative | Alias for negative. |
| nonPositive | nonPositive | Alias for nonPositive. |
| single | single | Alias for single. |
| atLeastOne | atLeastOne | Alias for atLeastOne. |
| atMostOne | atMostOne | Alias for atMostOne. |
| moreThanOne | moreThanOne | Alias for moreThanOne. |
| notContains | notContains expected | Alias for notContains. |
| multipleOf | multipleOf divisor | Alias for multipleOf. |
| finite | finite | Alias for finite. |
| finite32 | finite32 | Alias for finite32. |
| notWith | notWith | Alias for notWith. |
| custom | custom | Alias for custom. |
| customLocalized | customLocalized | Alias for customLocalized. |
| customWith | customWith | Alias for customWith. |
| contramap | contramap | Alias for contramap. |
| describe | describe | Alias for describe. |
| orError | orError failure result | Replaces a failed constraint's violation with the supplied error. |
| mapError | mapError mapper result | Maps a failed constraint's violation with the supplied function. |
Operations
kind:member
Alias for present.
Returns
Constraint<^value>
kind:member
Alias for blank.
Returns
Constraint<^value>
kind:member
Alias for optional.
Parameters
| Name | Type | Description |
|---|
| inner | Constraint<'a> | |
kind:member
Alias for minLength.
Parameters
| Name | Type | Description |
|---|
| minimum | int | |
Returns
Constraint<^value>
kind:member
Alias for maxLength.
Parameters
| Name | Type | Description |
|---|
| maximum | int | |
Returns
Constraint<^value>
kind:member
lengthBetween minimum maximum
MemberAlias for lengthBetween.
Parameters
| Name | Type | Description |
|---|
| minimum | int | |
| maximum | int | |
Returns
Constraint<^value>
kind:member
Alias for email.
Returns
Constraint<string>
kind:member
Alias for trimmed.
Returns
Constraint<string>
kind:member
Alias for numeric.
Returns
Constraint<string>
kind:member
Alias for alphanumeric.
Returns
Constraint<string>
kind:member
Alias for pattern.
Returns
string -> Constraint<string>
kind:member
Alias for oneOf.
Returns
'a seq -> Constraint<'a>
kind:member
Alias for noneOf.
Returns
'a seq -> Constraint<'a>
kind:member
Alias for equalTo.
Returns
'a -> Constraint<'a>
kind:member
Alias for notEqualTo.
Returns
'a -> Constraint<'a>
kind:member
Alias for greaterThan.
Returns
'a -> Constraint<'a>
kind:member
Alias for lessThan.
Returns
'a -> Constraint<'a>
kind:member
Alias for atLeast.
Returns
'a -> Constraint<'a>
kind:member
Alias for atMost.
Returns
'a -> Constraint<'a>
kind:member
Alias for positive.
Returns
Constraint<^value>
kind:member
Alias for nonNegative.
Returns
Constraint<^value>
kind:member
Alias for negative.
Returns
Constraint<^value>
kind:member
Alias for nonPositive.
Returns
Constraint<^value>
kind:member
Alias for single.
Returns
Constraint<^value>
kind:member
Alias for atLeastOne.
Returns
Constraint<^value>
kind:member
Alias for atMostOne.
Returns
Constraint<^value>
kind:member
Alias for moreThanOne.
Returns
Constraint<^value>
kind:member
notContains expected
MemberAlias for notContains.
Parameters
| Name | Type | Description |
|---|
| expected | 'value | |
Returns
Constraint<^container>
kind:member
Alias for multipleOf.
Parameters
| Name | Type | Description |
|---|
| divisor | ^a | |
kind:member
Alias for finite32.
Returns
Constraint<float32>
kind:member
Alias for notWith.
Returns
string -> Constraint<'a> -> Constraint<'a>
kind:member
Alias for custom.
Returns
string -> ('a -> bool) -> Constraint<'a>
kind:member
Alias for customLocalized.
Returns
string -> string -> ('a -> bool) -> Constraint<'a>
kind:member
Alias for customWith.
Returns
string -> ('a -> Result<unit, Violation>) -> Constraint<'a>
kind:member
Alias for contramap.
Returns
('a -> 'b) -> Constraint<'b> -> Constraint<'a>
kind:member
Alias for describe.
Returns
string -> Constraint<'a> -> Constraint<'a>
kind:member
orError failure result
MemberReplaces a failed constraint's violation with the supplied error.
Parameters
| Name | Type | Description |
|---|
| failure | 'a | |
| result | Result<'b, 'c> | |
Verification Examples
value |> Constraint.guard present |> orError NameRequired
kind:member
mapError mapper result
MemberMaps a failed constraint's violation with the supplied function.
Parameters
| Name | Type | Description |
|---|
| mapper | 'a -> 'b | |
| result | Result<'c, 'a> | |
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