У меня есть эта функция, которая декодирует JSON
type alias Item =
{ title : String
, description : String
, price : Float
, imageUrl : String
}
itemDecoder : Json.Decode.Decoder Item
itemDecoder =
D.map4 ItemData
(D.field "title" D.string)
(D.field "description" D.string)
(D.field "price" D.float)
(D.field "imageUrl" D.string)
decodeItem : Json.Decode.Value -> Item
decodeItem =
Json.Decode.decodeValue itemDecoder
Ошибка, которую я получаю от компилятора, заключается в том, что decodeItem выдает
Json.Decode.Value -> Result Json.Decode.Error Item
вместо
Json.Decode.Value -> Item
Как можно обернуть вывод decodeItem
в Result.withDefault
, чтобы он генерировал действительный элемент или возвращал пустой Item
. Пустой Item
будет первым аргументом Result.withDefault
.