Module DA.Validation¶
Validation
type and associated functions.
Data Types¶
data Validation err a
A
Validation
represents eithor a non-empty list of errors, or a successful value. This generalizesEither
to allow more than one error to be collected.Success a
instance Foldable (Validation err)
instance Applicative (Validation err)
instance Semigroup (Validation err a)
instance Traversable (Validation err)
instance Functor (Validation err)
instance (Eq err, Eq a) => Eq (Validation err a)
instance (Show err, Show a) => Show (Validation err a)
Functions¶
- invalid
: err -> Validation err a
Fail for the given reason.
- ok
: a -> Validation err a
Succeed with the given value.
- validate
: Either err a -> Validation err a
Turn an
Either
into aValidation
.
- run
: Validation err a -> Either (NonEmpty err) a
Convert a
Validation err a
value into anEither
, taking the non-empty list of errors as the left value.
- run1
: Validation err a -> Either err a
Convert a
Validation err a
value into anEither
, taking just the first error as the left value.
- runWithDefault
: a -> Validation err a -> a
Run a
Validation err a
with a default value in case of errors.
- (<?>)
: Optional b -> err -> Validation err b
Convert an
Optional t
into aValidation err t
, or more generally into anm t
for anyActionFail
typem
.