Module
Data.Validation.Jaws.Coproduct
- Package
- purescript-jaws
- Repository
- paluh/purescript-jaws
#CoproductValidation Source
newtype CoproductValidation m e a b
Constructors
CoproductValidation (Star m a (Either e b))
Instances
Newtype (CoproductValidation m e a b) _
(Functor m) => Functor (CoproductValidation m e a)
(Monad m) => Bind (CoproductValidation m e a)
(Monad m) => Apply (CoproductValidation m e a)
(Monad m) => Applicative (CoproductValidation m e a)
(Monad m) => Monad (CoproductValidation m e a)
(Monad m) => Alt (CoproductValidation m e a)
(Monad m) => Semigroupoid (CoproductValidation m e)
(Monad m) => Category (CoproductValidation m e)
(Monad m) => Profunctor (CoproductValidation m e)
(Monad m) => Choice (CoproductValidation m e)
(Monad m) => Strong (CoproductValidation m e)
#runCoproductValidation Source
runCoproductValidation :: forall m e b a. CoproductValidation m e a b -> a -> m (Either e b)
#CVBifunctor Source
newtype CVBifunctor m a e b
Constructors
CVBifunctor (CoproductValidation m e a b)
Instances
Newtype (CVBifunctor m a e b) _
(Monad m) => Bifunctor (CVBifunctor m a)
#validation Source
validation :: forall m e b a. (a -> m (Either e b)) -> CoproductValidation m e a b
Beside these constructors you can also use just Applicative pure
#validation' Source
validation' :: forall r' r p m e b a. RowCons p e r r' => Monad m => IsSymbol p => SProxy p -> (a -> m (Either e b)) -> CoproductValidation m (Variant r') a b
#fail Source
fail :: forall m e b a. Monad m => e -> CoproductValidation m e a b
#tag Source
tag :: forall r' r p m e b a. RowCons p e r r' => Monad m => IsSymbol p => SProxy p -> CoproductValidation m e a b -> CoproductValidation m (Variant r') a b