This package helps generate Elm JSON decoders and encoders from a JSON sample.
fromJsonSample : GeneratorOptions -> JsonString -> Result String Output
Generate Elm code from a supplied JSON sample string using the supplied options.
The output consists of:
ElmCodeGenerator.fromJsonSample
{ rootTypeName = topLevelTypeName
, decodeImport = { importAlias = "Json.Decode", exposingSpec = ElmCodeGenerator.ExposingNone }
, encodeImport = { importAlias = "Json.Encode", exposingSpec = ElmCodeGenerator.ExposingNone }
, decoderStyle = ElmCodeGenerator.PlainDecoders
, namingStyle = ElmCodeGenerator.NounNaming
}
"""{"a": 1, "b": "str"}"""
Defines the style of decoders to generate:
andMap
from elm-community/json-extra
NoRedInk/elm-json-decode-pipeline
elm/json
functionsDefines what's exposed for an import
{ decodeImport : ImportSpec
, encodeImport : ImportSpec
, decoderStyle : DecoderStyle
, namingStyle : NamingStyle
, rootTypeName : String
}
Options for code generation given to fromJsonSample
{ importAlias : String
, exposingSpec : ExposingSpec
}
Details of an import
Defines function naming style:
decodeThing
thingDecoder
{ imports : List String
, types : List String
, decoders : List String
, encoders : List String
}
Output Elm strings produced by fromJsonSample