the-sett / salix / Elm.Json.Coding

Elm.Json.Coding is a code generator for JSON encoders, decoders and miniBill/elm-codec style codecs. The 'codec' property when defined on a declaration will signifiy which type of json coding is required. The 'codec' property is also used to know how to generate references to needed json coders where data models are nested.

The L3 processor implementation.

processorImpl : L3.ProcessorImpl pos JsonCodingError

The L3 processor implementation for JSON coding.


type JsonCodingError

The errors that can occurr whilst generating JSON codings.

errorBuilder : (pos -> SourcePos.SourceLines) -> JsonCodingError -> Errors.Error

The error building for JsonCodingErrors.

Properties

jsonCodingEnum : Enum String

An enumeration of the possible JSON codings that can be generated.

Set this on a Declarable to generate a coding for it.

The code generation functions.

coding : L3.PropertiesAPI pos -> L2 pos -> String -> L1.Declarable pos L2.RefChecked -> ResultME JsonCodingError Elm.FunDecl.FunGen

Generates a JSON coding for a Declarable.

partialCoding : L3.PropertiesAPI pos -> L2 pos -> String -> String -> List.Nonempty.Nonempty (L1.Field pos L2.RefChecked) -> ResultME JsonCodingError Elm.FunDecl.FunGen

Generates a JSON coding for a set of fields (which may be part of a product).