packages feed

elm-export-0.5.0.1: test/PostEncoder.elm

module PostEncoder exposing (..)

import CommentEncoder exposing (..)
import Json.Encode
import PostType exposing (..)


encodePost : Post -> Json.Encode.Value
encodePost x =
    Json.Encode.object
        [ ( "id", Json.Encode.int x.id )
        , ( "name", Json.Encode.string x.name )
        , ( "age", (Maybe.withDefault Json.Encode.null << Maybe.map Json.Encode.float) x.age )
        , ( "comments", (Json.Encode.list << List.map encodeComment) x.comments )
        , ( "promoted", (Maybe.withDefault Json.Encode.null << Maybe.map encodeComment) x.promoted )
        , ( "author", (Maybe.withDefault Json.Encode.null << Maybe.map Json.Encode.string) x.author )
        ]