Header menu logo TDesu.FSharp

Validation Module

Combinators for Validation.

Functions and values

Function or value Description

Validation.apply fV xV

Full Usage: Validation.apply fV xV

Parameters:
Returns: Validation<'TResult, 'TError>

Applicative apply — combines errors from both sides. A validation containing a function. A validation containing a value.

fV : Validation<('TValue -> 'TResult), 'TError>
xV : Validation<'TValue, 'TError>
Returns: Validation<'TResult, 'TError>

Validation.bind f v

Full Usage: Validation.bind f v

Parameters:
Returns: Validation<'TResult, 'TError>

Bind (monadic, short-circuits on first Error — use and! for applicative). The binding function. The validation to bind.

f : 'TValue -> Validation<'TResult, 'TError>
v : Validation<'TValue, 'TError>
Returns: Validation<'TResult, 'TError>

Validation.defaultValue defaultValue v

Full Usage: Validation.defaultValue defaultValue v

Parameters:
    defaultValue : 'TValue
    v : Validation<'TValue, 'TError>

Returns: 'TValue

Extract the value or use a default. The fallback value. The validation to unwrap.

defaultValue : 'TValue
v : Validation<'TValue, 'TError>
Returns: 'TValue

Validation.error err

Full Usage: Validation.error err

Parameters:
    err : 'TError

Returns: Validation<'TValue, 'TError>
Modifiers: inline
Type parameters: 'TError, 'TValue

Create a single-error validation. The error to wrap.

err : 'TError
Returns: Validation<'TValue, 'TError>

Validation.errors errs

Full Usage: Validation.errors errs

Parameters:
    errs : 'TError list

Returns: Validation<'TValue, 'TError>
Modifiers: inline
Type parameters: 'TError, 'TValue

Create a multi-error validation. The list of errors.

errs : 'TError list
Returns: Validation<'TValue, 'TError>

Validation.isError v

Full Usage: Validation.isError v

Parameters:
Returns: bool
Modifiers: inline
Type parameters: 'TValue, 'TError

Returns true if the validation is Error. The validation to check.

v : Validation<'TValue, 'TError>
Returns: bool

Validation.isOk v

Full Usage: Validation.isOk v

Parameters:
Returns: bool
Modifiers: inline
Type parameters: 'TValue, 'TError

Returns true if the validation is Ok. The validation to check.

v : Validation<'TValue, 'TError>
Returns: bool

Validation.map f v

Full Usage: Validation.map f v

Parameters:
    f : 'TValue -> 'TResult
    v : Validation<'TValue, 'TError>

Returns: Validation<'TResult, 'TError>

Map over the value, leaving errors unchanged. The mapping function. The validation to map over.

f : 'TValue -> 'TResult
v : Validation<'TValue, 'TError>
Returns: Validation<'TResult, 'TError>

Validation.mapError f v

Full Usage: Validation.mapError f v

Parameters:
    f : 'TError -> 'TError2
    v : Validation<'TValue, 'TError>

Returns: Validation<'TValue, 'TError2>

Map over the errors, leaving the value unchanged. The error mapping function. The validation to map over.

f : 'TError -> 'TError2
v : Validation<'TValue, 'TError>
Returns: Validation<'TValue, 'TError2>

Validation.ofResult r

Full Usage: Validation.ofResult r

Parameters:
    r : Result<'TValue, 'TError>

Returns: Validation<'TValue, 'TError>

Convert a Result to a Validation. The Result to convert.

r : Result<'TValue, 'TError>
Returns: Validation<'TValue, 'TError>

Validation.ok value

Full Usage: Validation.ok value

Parameters:
    value : 'TValue

Returns: Validation<'TValue, 'TError>
Modifiers: inline
Type parameters: 'TValue, 'TError

Create a valid value. The value to wrap.

value : 'TValue
Returns: Validation<'TValue, 'TError>

Validation.toResult v

Full Usage: Validation.toResult v

Parameters:
Returns: Result<'TValue, 'TError list>

Convert a Validation to a Result. The Validation to convert.

v : Validation<'TValue, 'TError>
Returns: Result<'TValue, 'TError list>

Validation.valueOrFail v

Full Usage: Validation.valueOrFail v

Parameters:
Returns: 'TValue

Extract the value, throwing if Error. The validation to unwrap.

v : Validation<'TValue, 'TError>
Returns: 'TValue

Type something to start searching.