From 70307aad9e1e1711053b1d28a72199d91cc3ff65 Mon Sep 17 00:00:00 2001 From: 3wc <3wc@doesthisthing.work> Date: Mon, 27 Mar 2023 11:51:30 -0400 Subject: [PATCH] Attempt at parsing "version" from JSON --- src/Pages/App_String.elm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Pages/App_String.elm b/src/Pages/App_String.elm index 4756b95..922ea52 100644 --- a/src/Pages/App_String.elm +++ b/src/Pages/App_String.elm @@ -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 "")