Module

Data.Argonaut.Decode.Struct.Tolerant

Package
purescript-tolerant-argonaut
Repository
matthew-hilty/purescript-tolerant-argonaut

Re-exports from Data.Argonaut.Decode.Struct.Tolerant.Combinators

#getFieldOptional' Source

getFieldOptional' :: forall a. DecodeJson a => Object Json -> String -> Either String (Maybe a)

Attempt to get the value for a given key on an Object Json.

The result will be Right Nothing if the key and value are not present, or if the key is present and the value is null.

Use this accessor if the key and value are optional in your object. If the key and value are mandatory, use getField (.::) instead.

#getFieldOptional Source

getFieldOptional :: forall a. DecodeJson a => Object Json -> String -> Either String (Maybe a)

Attempt to get the value for a given key on an Object Json.

The result will be Right Nothing if the key and value are not present, but will fail if the key is present but the value cannot be converted to the right type.

This function will treat null as a value and attempt to decode it into your desired type. If you would like to treat null values the same as absent values, use getFieldOptional' (.::?) instead.

#getField Source

getField :: forall a. DecodeJson a => Object Json -> String -> Either String a

Attempt to get the value for a given key on an Object Json.

Use this accessor if the key and value must be present in your object. If the key and value are optional, use getFieldOptional' (.::?) instead.

#(.::?) Source

Operator alias for Data.Argonaut.Decode.Struct.Tolerant.Combinators.getFieldOptional' (non-associative / precedence 7)

#(.::!) Source

Operator alias for Data.Argonaut.Decode.Struct.Tolerant.Combinators.getFieldOptional (non-associative / precedence 7)

#(.::) Source

Operator alias for Data.Argonaut.Decode.Struct.Tolerant.Combinators.getField (non-associative / precedence 7)

Re-exports from Data.Argonaut.Decode.Struct.Tolerant.Cross.Utils

#decodeJsonWith Source

decodeJsonWith :: forall r3 r2 r0 l2 l0 f. Bind f => Bottom2 f String => DecodeJsonWith Builder f Record l0 r0 l2 r2 r3 (Record r2) => GDecodeJson Builder f Record Nil () l2 r2 => RowToList r0 l0 => RowToList r2 l2 => Top1_ f => Record r0 -> Json -> f (Record r3)

#decodeJsonPer Source

decodeJsonPer :: forall r3 r2 r0 l2 l0 f. Bind f => Bottom2 f String => DecodeJsonPer Builder f Record l0 r0 l2 r2 r3 => GDecodeJson Builder f Record Nil () l2 r2 => RowToList r0 l0 => RowToList r2 l2 => Top1_ f => Record r0 -> Json -> f (Record r3)

Re-exports from Data.Argonaut.Decode.Struct.Tolerant.DecodeJson

#DecodeJson Source

class DecodeJson a  where

Members

Instances