[haskell-http-client] relax Aeson constraint to allow Aeson 1 (#12486)

This commit is contained in:
Jon Schoning 2022-05-27 23:22:09 -05:00 committed by GitHub
parent e823290c8f
commit 078232acb5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 585 additions and 562 deletions

View File

@ -14,6 +14,7 @@ Module : {{baseModule}}.Core
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE CPP #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
module {{baseModule}}.Core where
@ -419,7 +420,11 @@ _applyAuthMethods req config@({{configType}} {configAuthMethods = as}) =
-- * Utils
-- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)
#if MIN_VERSION_aeson(2,0,0)
_omitNulls :: [(A.Key, A.Value)] -> A.Value
#else
_omitNulls :: [(Text, A.Value)] -> A.Value
#endif
_omitNulls = A.object . P.filter notNull
where
notNull (_, A.Null) = False

View File

@ -39,7 +39,7 @@ library
lib
ghc-options: -Wall -funbox-strict-fields
build-depends:
aeson >=2.0 && <3.0
aeson >=1.0 && <3.0
, base >=4.7 && <5.0
, base64-bytestring >1.0 && <2.0
, bytestring >=0.10.0

View File

@ -1,3 +1,4 @@
{-# LANGUAGE CPP #-}
{-# OPTIONS_GHC -fno-warn-unused-imports -fno-warn-unused-matches #-}
module Instances where
@ -53,9 +54,12 @@ instance Arbitrary Date where
arbitrary = Date <$> arbitrary
shrink (Date xs) = Date <$> shrink xs
#if MIN_VERSION_aeson(2,0,0)
#else
-- | A naive Arbitrary instance for A.Value:
-- instance Arbitrary A.Value where
-- arbitrary = arbitraryValue
instance Arbitrary A.Value where
arbitrary = arbitraryValue
#endif
arbitraryValue :: Gen A.Value
arbitraryValue =

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -24,7 +24,7 @@ executable openapi-petstore-app
Paths_openapi_petstore_app
ghc-options: -Wall
build-depends:
aeson >=2.0 && <3.0
aeson >=1.0 && <3.0
, base >=4.7 && <5.0
, bytestring >=0.10.0 && <0.11
, case-insensitive

View File

@ -19,7 +19,7 @@ dependencies:
- mtl >=2.2.1
- unordered-containers
- containers >=0.5.0.0 && <0.8
- aeson >=2.0 && <3.0
- aeson >=1.0 && <3.0
- bytestring >=0.10.0 && <0.11
- http-types >=0.8 && <0.13
- http-client >=0.5 && <0.8

View File

@ -23,6 +23,7 @@ Module : OpenAPIPetstore.Core
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE CPP #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
module OpenAPIPetstore.Core where
@ -428,7 +429,11 @@ _applyAuthMethods req config@(OpenAPIPetstoreConfig {configAuthMethods = as}) =
-- * Utils
-- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)
#if MIN_VERSION_aeson(2,0,0)
_omitNulls :: [(A.Key, A.Value)] -> A.Value
#else
_omitNulls :: [(Text, A.Value)] -> A.Value
#endif
_omitNulls = A.object . P.filter notNull
where
notNull (_, A.Null) = False

View File

@ -35,7 +35,7 @@ library
lib
ghc-options: -Wall -funbox-strict-fields
build-depends:
aeson >=2.0 && <3.0
aeson >=1.0 && <3.0
, base >=4.7 && <5.0
, base64-bytestring >1.0 && <2.0
, bytestring >=0.10.0

View File

@ -19,7 +19,7 @@ dependencies:
- mtl >=2.2.1
- unordered-containers
- containers >=0.5.0.0 && <0.7
- aeson >=2.0 && <3.0
- aeson >=1.0 && <3.0
- bytestring >=0.10.0
- http-types >=0.8 && <0.13
- http-client >=0.5 && <0.8

View File

@ -1,3 +1,4 @@
{-# LANGUAGE CPP #-}
{-# OPTIONS_GHC -fno-warn-unused-imports -fno-warn-unused-matches #-}
module Instances where
@ -52,9 +53,12 @@ instance Arbitrary Date where
arbitrary = Date <$> arbitrary
shrink (Date xs) = Date <$> shrink xs
#if MIN_VERSION_aeson(2,0,0)
#else
-- | A naive Arbitrary instance for A.Value:
-- instance Arbitrary A.Value where
-- arbitrary = arbitraryValue
instance Arbitrary A.Value where
arbitrary = arbitraryValue
#endif
arbitraryValue :: Gen A.Value
arbitraryValue =