All Downloads are FREE. Search and download functionalities are using the official Maven repository.

elm.DateTime018.mustache Maven / Gradle / Ivy

There is a newer version: 7.8.0
Show newest version
module DateTime exposing (DateTime, decoder, encode, toString)

import Date
import Date.Extra exposing (fromIsoString, toIsoString)
import Json.Decode as Decode exposing (Decoder)
import Json.Encode as Encode
import Result


type alias DateTime =
    Date.Date


decoder : Decoder DateTime
decoder =
    Decode.string
        |> Decode.andThen decodeIsoString


encode : DateTime -> Encode.Value
encode =
    Encode.string << toString


decodeIsoString : String -> Decoder DateTime
decodeIsoString str =
    case fromIsoString str of
        Result.Ok date ->
            Decode.succeed date

        Result.Err msg ->
            Decode.fail msg


toString : DateTime -> String
toString =
    toIsoString




© 2015 - 2024 Weber Informatics LLC | Privacy Policy