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.
#genericUserEncodeJson' Source
genericUserEncodeJson' :: Options -> GenericSignature -> GenericSpine -> JsonGenerically encode to json, using a supplied userEncoding, falling back to genericEncodeJson':
#genericEncodeJson' Source
genericEncodeJson' :: Options -> GenericSignature -> GenericSpine -> JsonEncode 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 SumEncodingConstructors
TaggedObject { contentsFieldName :: String, tagFieldName :: String, unpackRecords :: Boolean }
#Options Source
newtype OptionsConstructors
Options { allNullaryToStringTag :: Boolean, constructorTagModifier :: String -> String, encodeSingleConstructors :: Boolean, fieldLabelModifier :: String -> String, flattenContentsArray :: Boolean, omitNothingFields :: Boolean, sumEncoding :: SumEncoding, userDecoding :: Options -> GenericSignature -> Json -> Maybe (Either String GenericSpine), userEncoding :: Options -> GenericSignature -> GenericSpine -> Maybe Json }
#dummyUserEncoding Source
dummyUserEncoding :: Options -> GenericSignature -> GenericSpine -> Maybe JsonUse 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.