Module

Data.Validation.Jaws.Coproduct

Package
purescript-jaws
Repository
paluh/purescript-jaws

#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

Instances

#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

#pureV Source

pureV :: forall m e b a. Monad m => (a -> Either e b) -> CoproductValidation m e a b

#pureV' Source

pureV' :: forall r' r p m e b a. RowCons p e r r' => Monad m => IsSymbol p => SProxy p -> (a -> 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

#fail' Source

fail' :: forall r' r p m e b a. RowCons p e r r' => Monad m => IsSymbol p => SProxy p -> e -> CoproductValidation m (Variant r') 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

#check Source

check :: forall m a. Monad m => (a -> Boolean) -> CoproductValidation m a a a

#check' Source

check' :: forall r' r m l a. RowCons l a r r' => Monad m => IsSymbol l => SProxy l -> (a -> Boolean) -> CoproductValidation m (Variant r') a a