Module

Polyform.Duals.Validators.Json

Package
purescript-polyform-validators
Repository
lambdaterms/purescript-polyform-validators

#Dual Source

type Dual m e a b = Dual m (Errors e) a b

#JsonDual Source

type JsonDual m e a = Dual m (JsonError e) Json a

#ObjectDual Source

type ObjectDual m e a = Dual m (JsonError e) (Object Json) a

#Object Source

type Object a = Object (First a)

#argonaut Source

argonaut :: forall m e a. Applicative m => EncodeJson a => DecodeJson a => JsonDual m e a

#arrayOf Source

arrayOf :: forall o e m. Monad m => JsonDual m e o -> JsonDual m e (Array o)

#boolean Source

boolean :: forall e m. Monad m => JsonDual m e Boolean

#decode Source

decode :: forall e a. JsonDual Identity e a -> Json -> Either (Errors (JsonError + e)) a

#encode Source

encode :: forall e a. JsonDual Identity e a -> a -> Json

#int Source

int :: forall e m. Monad m => JsonDual m e Int

#insert Source

insert :: forall ser' ser prs' prs o l m e. Cons l o ser ser' => Lacks l ser => Cons l o prs prs' => Lacks l prs => IsSymbol l => Monad m => SProxy l -> JsonDual m e o -> Builder (Validator m (Errors (JsonError e))) (Object Json) (Record ser') (Record prs) (Record prs')

#json Source

json :: forall m e. Monad m => Dual m (JsonDecodingError e) String Json

#noArgs Source

noArgs :: forall m e. Monad m => JsonDual m e NoArguments

#number Source

number :: forall e m. Monad m => JsonDual m e Number

#object Source

object :: forall m e. Monad m => JsonDual m e (Object Json)

#on Source

on :: forall r' r m e l a. IsSymbol l => Monad m => Cons l a r r' => SProxy l -> JsonDual m e a -> JsonDual m e (Variant r) -> JsonDual m e (Variant r')

#field Source

field :: forall a e m. Monad m => String -> JsonDual m e a -> ObjectDual m e a

#string Source

string :: forall e m. Monad m => JsonDual m e String

#sum Source

sum :: forall r rep e m a. Monad m => Generic a rep => GDualSum (Validator m (Errors (JsonError e))) Json rep r => Record r -> JsonDual m e a

#unit Source

unit :: forall m e. Monad m => JsonDual m e Unit

#variant Source

variant :: forall v m dl d e. Monad m => RowToList d dl => GDualVariant (Validator m (Errors (JsonError e))) Json dl d v => Record d -> JsonDual m e (Variant v)

#(:=) Source

Operator alias for Polyform.Duals.Validators.Json.insert (non-associative / precedence 10)

#(:>) Source

Operator alias for Polyform.Duals.Validators.Json.on (non-associative / precedence 10)