Safe Haskell | None |
---|---|
Language | Haskell2010 |
Pretty-printing functions for Decoder.elm
module.
Also contains decoders for common types which go to the ElmStreet.elm
module.
Synopsis
- prettyShowDecoder :: ElmDefinition -> Text
- decodeEnum :: Text
- decodeChar :: Text
- decodeEither :: Text
- decodePair :: Text
- decodeTriple :: Text
Documentation
prettyShowDecoder :: ElmDefinition -> Text Source #
Sum Types:
Haskell type
type User = Foo | Bar String Int
Encoded JSON on Haskell side
[ { "tag" : Foo } , { "tag" : Bar , "contents" : ["asd", 42, "qwerty"] } ]
Elm decoder
userDecoder : Decoder User userDecoder = let decide : String -> Decoder User decide x = case x of "Foo" -> D.succeed Foo "Bar" -> D.field "contents" <| D.map2 Bar (D.index 0 D.string) (D.index 1 D.int) x -> D.fail <| "There is no constructor for User type:" ++ x in D.andThen decide (D.field "tag" D.string)
Standard missing decoders
decodeEnum :: Text Source #
JSON
decoder Elm help function for Enum types.
decodeChar :: Text Source #
JSON
decoder Elm help function for Char
s.
decodeEither :: Text Source #
JSON
decoder Elm help function for Either
s.
decodePair :: Text Source #
JSON
decoder Elm help function for 2-tuples.
decodeTriple :: Text Source #
JSON
decoder Elm help function for 3-tuples.