This package allows you to build pairs of JSON encoders (a -> Value) and decoders (Decoder a), collectively called a Codec a.
The design goal is to be as type safe as possible while keeping a nice API. Using this package will greatly reduce the risk of unmatched encoders and decoders.
The packages re-exposes the Value and Decoder types from elm/json, so you don't need to import them too.
import Codec exposing (Codec, Value)
codec : Codec (List Int)
codec =
Codec.list Codec.int
encode : List Int -> Value
encode list =
Codec.encoder codec list
decodeString : String -> Result Codec.Error (List Int)
decodeString s =
Codec.decodeString codec sAsk for help on the Elm Slack.
You can also have a look at the FAQ.md file.