Module

Data.Validation.Jaws.Coproduct

Package
purescript-jaws
Repository
paluh/purescript-jaws

#runCoproductValidation Source

runCoproductValidation :: forall a b e m. CoproductValidation m e a b -> a -> m (Either e b)

#CVBifunctor Source

newtype CVBifunctor m a e b

Constructors

Instances

#validation Source

validation :: forall a b e m. (a -> m (Either e b)) -> CoproductValidation m e a b

Beside these constructors you can also use just Applicative pure

#validation' Source

validation' :: forall a b e m p r r'. 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 a b e m. Monad m => (a -> Either e b) -> CoproductValidation m e a b

#pureV' Source

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

#fail' Source

fail' :: forall a b e m p r r'. RowCons p e r r' => Monad m => IsSymbol p => SProxy p -> e -> CoproductValidation m (Variant r') a b

#tag Source

tag :: forall a b e m p r r'. 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 a m. Monad m => (a -> Boolean) -> CoproductValidation m a a a

#check' Source

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