import Json.Encode
import Json.Decode exposing ((:=))
-- elm-package install --yes circuithub/elm-json-extra
import Json.Decode.Extra exposing ((|:))
type alias HabitRecord =
{ label : String
, checkins : List ComplexType
}
decodeHabitRecord : Json.Decode.Decoder HabitRecord
decodeHabitRecord =
Json.Decode.succeed HabitRecord
|: ("label" := Json.Decode.string)
|: ("checkins" := Json.Decode.list decodeComplexType)
encodeHabitRecord : HabitRecord -> Json.Encode.Value
encodeHabitRecord record =
Json.Encode.object
[ ("label", Json.Encode.string <| record.label)
, ("checkins", Json.Encode.list <| List.map encodeComplexType <| record.checkins)
]