Module

Data.Argonaut.Generic.Encode

Package
purescript-argonaut-generic-codecs
Repository
eskimor/purescript-argonaut-generic-codecs

Flexible generic encoding. Use this for defining your own custom encodings or use "Data.Argonaut.Generic.Aeson" and "Data.Argonaut.Generic.Argonaut" for concrete codecs.

#genericEncodeJson Source

genericEncodeJson :: forall a. Generic a => Options -> a -> Json

#genericUserEncodeJson' Source

genericUserEncodeJson' :: Options -> GenericSignature -> GenericSpine -> Json

Generically encode to json, using a supplied userEncoding, falling back to genericEncodeJson':

#genericEncodeJson' Source

genericEncodeJson' :: Options -> GenericSignature -> GenericSpine -> Json

Encode GenericSpine into Json. This function is mutually recursive with genericUserEncodeJson', as for all descendent spines genericUserEncodeJson' is invoked.

Re-exports from Data.Argonaut.Generic.Options

#SumEncoding Source

data SumEncoding

Constructors

#Options Source

newtype Options

Constructors

#dummyUserEncoding Source

dummyUserEncoding :: Options -> GenericSignature -> GenericSpine -> Maybe Json

Use this for userEncoding if you don't want any special rules.

#dummyUserDecoding Source

dummyUserDecoding :: Options -> GenericSignature -> Json -> Maybe (Either String GenericSpine)

Use this for userDecodeing if you don't want any special rules.