From 8249bf432abcf4aad261a79ac2d802c0ac3a0391 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Mon, 10 Jul 2023 00:31:13 +0200 Subject: [haskell] Refactored JSON parsing code --- haskell/src/SpaceTraders/APIClient/Client.hs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'haskell/src/SpaceTraders/APIClient/Client.hs') diff --git a/haskell/src/SpaceTraders/APIClient/Client.hs b/haskell/src/SpaceTraders/APIClient/Client.hs index 0bf92a8..cbbe422 100644 --- a/haskell/src/SpaceTraders/APIClient/Client.hs +++ b/haskell/src/SpaceTraders/APIClient/Client.hs @@ -11,7 +11,6 @@ module SpaceTraders.APIClient.Client ) where import Control.Concurrent -import Control.Monad import Data.Aeson import Data.Aeson.Types import qualified Data.Text as T @@ -23,8 +22,7 @@ import SpaceTraders.APIClient.Errors data FromJSON a => APIMessage a = APIMessage { data_ :: a } deriving (Show) instance FromJSON a => FromJSON (APIMessage a) where - parseJSON (Object o) = APIMessage <$> o .: "data" - parseJSON _ = mzero + parseJSON = withObject "APIMessage" $ \o -> APIMessage <$> o .: "data" defaultReq :: Request defaultReq = setRequestHost "api.spacetraders.io" -- cgit v1.2.3