An Optional
can be Present
, Null
or Absent
.
map : (a -> b) -> Optional a -> Optional b
withDefault : a -> Optional a -> a
toMaybe : Optional a -> Maybe a
fromMaybe : Optional a -> Maybe a -> Optional a
encode : (a -> Json.Encode.Value) -> Optional a -> Maybe Json.Encode.Value
Encode an Optional
value.
encodeList : (a -> Json.Encode.Value) -> List (Optional a) -> Json.Encode.Value
Encode a list of Optional
values. Absent values are omitted.
encodeObject : List ( String, Optional Json.Encode.Value ) -> Json.Encode.Value
Encode a object of Optional
fields. Absent fields are omitted.
fieldDecoder : String -> Json.Decode.Decoder a -> Json.Decode.Decoder (Optional a)
Decode a JSON object with a Optional
field.
nonNullFieldDecoder : String -> Json.Decode.Decoder a -> Json.Decode.Decoder (Maybe a)
Decode a JSON object with a Optional
field that can be present or absent
but not null
.