Attempt at parsing "version" from JSON

This commit is contained in:
3wc 2023-03-27 11:51:30 -04:00
parent af5565dcc5
commit 70307aad9e
1 changed files with 13 additions and 2 deletions

View File

@ -37,7 +37,7 @@ type alias App =
{ name : String
, category : String
, repository : Maybe String
, versions : Maybe (List String)
, versions : List String
, icon : Maybe String
, status : Int
, slug : String
@ -316,13 +316,24 @@ featuresDecoder =
]
versionsDecoder =
Decode.keyValuePairs Decode.value
|> Decode.map buildVersions
buildVersions : List ( String, Decode.Value ) -> List String
buildVersions versions =
List.map (\( version, _ ) -> version) versions
appDecoder : Decode.Decoder App
appDecoder =
Decode.succeed App
|> andMap (Decode.field "name" Decode.string)
|> andMap (Decode.field "category" Decode.string)
|> andMap (Decode.maybe (Decode.field "repository" Decode.string))
|> andMap (Decode.succeed Nothing)
|> andMap (Decode.at [ "versions" ] versionsDecoder)
-- |> andMap (Decode.succeed Nothing)
|> andMap (Decode.maybe (Decode.field "icon" Decode.string))
|> andMap (Decode.at [ "features" ] featuresDecoder)
|> andMap (Decode.succeed "")