aeson-extra 0.4.1.0 → 0.4.1.1
raw patch · 5 files changed
+33/−28 lines, 5 filesdep +base-compat-batteriesdep −base-compatdep ~aesondep ~basedep ~containersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: base-compat-batteries
Dependencies removed: base-compat
Dependency ranges changed: aeson, base, containers, recursion-schemes, tasty, template-haskell, these
API changes (from Hackage documentation)
- Data.Aeson.Extra.CollapsedList: instance (Data.Aeson.Types.FromJSON.FromJSON1 f, GHC.Base.Alternative f) => Data.Aeson.Types.FromJSON.FromJSON1 (Data.Aeson.Extra.CollapsedList.CollapsedList f)
- Data.Aeson.Extra.CollapsedList: instance (Data.Aeson.Types.FromJSON.FromJSON1 f, GHC.Base.Alternative f, Data.Aeson.Types.FromJSON.FromJSON a) => Data.Aeson.Types.FromJSON.FromJSON (Data.Aeson.Extra.CollapsedList.CollapsedList f a)
- Data.Aeson.Extra.CollapsedList: instance (Data.Aeson.Types.ToJSON.ToJSON1 f, Data.Foldable.Foldable f) => Data.Aeson.Types.ToJSON.ToJSON1 (Data.Aeson.Extra.CollapsedList.CollapsedList f)
- Data.Aeson.Extra.CollapsedList: instance (Data.Aeson.Types.ToJSON.ToJSON1 f, Data.Foldable.Foldable f, Data.Aeson.Types.ToJSON.ToJSON a) => Data.Aeson.Types.ToJSON.ToJSON (Data.Aeson.Extra.CollapsedList.CollapsedList f a)
- Data.Aeson.Extra.Map: instance (Data.Aeson.Extra.Map.ToJSONKey k, Data.Aeson.Types.ToJSON.ToJSON v) => Data.Aeson.Extra.Map.ToJSONMap (Data.HashMap.Base.HashMap k v) k v
- Data.Aeson.Extra.Map: instance (Data.Aeson.Extra.Map.ToJSONKey k, Data.Aeson.Types.ToJSON.ToJSON v) => Data.Aeson.Extra.Map.ToJSONMap (Data.Map.Base.Map k v) k v
- Data.Aeson.Extra.Map: instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k, Data.Aeson.Extra.Map.FromJSONKey k, Data.Aeson.Types.FromJSON.FromJSON v) => Data.Aeson.Extra.Map.FromJSONMap (Data.HashMap.Base.HashMap k v) k v
- Data.Aeson.Extra.Map: instance (GHC.Classes.Ord k, Data.Aeson.Extra.Map.FromJSONKey k, Data.Aeson.Types.FromJSON.FromJSON v) => Data.Aeson.Extra.Map.FromJSONMap (Data.Map.Base.Map k v) k v
- Data.Aeson.Extra.Map: instance Data.Aeson.Extra.Map.FromJSONMap m k v => Data.Aeson.Types.FromJSON.FromJSON (Data.Aeson.Extra.Map.M m)
- Data.Aeson.Extra.Map: instance Data.Aeson.Extra.Map.ToJSONMap m k v => Data.Aeson.Types.ToJSON.ToJSON (Data.Aeson.Extra.Map.M m)
- Data.Aeson.Extra.SingObject: instance (GHC.TypeLits.KnownSymbol s, Data.Aeson.Types.FromJSON.FromJSON a) => Data.Aeson.Types.FromJSON.FromJSON (Data.Aeson.Extra.SingObject.SingObject s a)
- Data.Aeson.Extra.SingObject: instance (GHC.TypeLits.KnownSymbol s, Data.Aeson.Types.ToJSON.ToJSON a) => Data.Aeson.Types.ToJSON.ToJSON (Data.Aeson.Extra.SingObject.SingObject s a)
- Data.Aeson.Extra.SingObject: instance GHC.TypeLits.KnownSymbol s => Data.Aeson.Types.FromJSON.FromJSON1 (Data.Aeson.Extra.SingObject.SingObject s)
- Data.Aeson.Extra.SingObject: instance GHC.TypeLits.KnownSymbol s => Data.Aeson.Types.ToJSON.ToJSON1 (Data.Aeson.Extra.SingObject.SingObject s)
- Data.Aeson.Extra.SymTag: instance GHC.TypeLits.KnownSymbol s => Data.Aeson.Types.FromJSON.FromJSON (Data.Aeson.Extra.SymTag.SymTag s)
- Data.Aeson.Extra.SymTag: instance GHC.TypeLits.KnownSymbol s => Data.Aeson.Types.ToJSON.ToJSON (Data.Aeson.Extra.SymTag.SymTag s)
- Data.Aeson.Extra.Time: instance Data.Aeson.Types.FromJSON.FromJSON Data.Aeson.Extra.Time.U
- Data.Aeson.Extra.Time: instance Data.Aeson.Types.FromJSON.FromJSON Data.Aeson.Extra.Time.Z
- Data.Aeson.Extra.Time: instance Data.Aeson.Types.ToJSON.ToJSON Data.Aeson.Extra.Time.U
- Data.Aeson.Extra.Time: instance Data.Aeson.Types.ToJSON.ToJSON Data.Aeson.Extra.Time.Z
+ Data.Aeson.Extra.CollapsedList: instance (Data.Aeson.Types.Class.FromJSON a, Data.Aeson.Types.Class.FromJSON (f a), GHC.Base.Alternative f) => Data.Aeson.Types.Class.FromJSON (Data.Aeson.Extra.CollapsedList.CollapsedList f a)
+ Data.Aeson.Extra.CollapsedList: instance (Data.Aeson.Types.Class.ToJSON a, Data.Aeson.Types.Class.ToJSON (f a), Data.Foldable.Foldable f) => Data.Aeson.Types.Class.ToJSON (Data.Aeson.Extra.CollapsedList.CollapsedList f a)
+ Data.Aeson.Extra.Map: instance (Data.Aeson.Extra.Map.ToJSONKey k, Data.Aeson.Types.Class.ToJSON v) => Data.Aeson.Extra.Map.ToJSONMap (Data.HashMap.Base.HashMap k v) k v
+ Data.Aeson.Extra.Map: instance (Data.Aeson.Extra.Map.ToJSONKey k, Data.Aeson.Types.Class.ToJSON v) => Data.Aeson.Extra.Map.ToJSONMap (Data.Map.Internal.Map k v) k v
+ Data.Aeson.Extra.Map: instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k, Data.Aeson.Extra.Map.FromJSONKey k, Data.Aeson.Types.Class.FromJSON v) => Data.Aeson.Extra.Map.FromJSONMap (Data.HashMap.Base.HashMap k v) k v
+ Data.Aeson.Extra.Map: instance (GHC.Classes.Ord k, Data.Aeson.Extra.Map.FromJSONKey k, Data.Aeson.Types.Class.FromJSON v) => Data.Aeson.Extra.Map.FromJSONMap (Data.Map.Internal.Map k v) k v
+ Data.Aeson.Extra.Map: instance Data.Aeson.Extra.Map.FromJSONMap m k v => Data.Aeson.Types.Class.FromJSON (Data.Aeson.Extra.Map.M m)
+ Data.Aeson.Extra.Map: instance Data.Aeson.Extra.Map.ToJSONMap m k v => Data.Aeson.Types.Class.ToJSON (Data.Aeson.Extra.Map.M m)
+ Data.Aeson.Extra.SingObject: instance (GHC.TypeLits.KnownSymbol s, Data.Aeson.Types.Class.FromJSON a) => Data.Aeson.Types.Class.FromJSON (Data.Aeson.Extra.SingObject.SingObject s a)
+ Data.Aeson.Extra.SingObject: instance (GHC.TypeLits.KnownSymbol s, Data.Aeson.Types.Class.ToJSON a) => Data.Aeson.Types.Class.ToJSON (Data.Aeson.Extra.SingObject.SingObject s a)
+ Data.Aeson.Extra.SymTag: instance GHC.TypeLits.KnownSymbol s => Data.Aeson.Types.Class.FromJSON (Data.Aeson.Extra.SymTag.SymTag s)
+ Data.Aeson.Extra.SymTag: instance GHC.TypeLits.KnownSymbol s => Data.Aeson.Types.Class.ToJSON (Data.Aeson.Extra.SymTag.SymTag s)
+ Data.Aeson.Extra.Time: instance Data.Aeson.Types.Class.FromJSON Data.Aeson.Extra.Time.U
+ Data.Aeson.Extra.Time: instance Data.Aeson.Types.Class.FromJSON Data.Aeson.Extra.Time.Z
+ Data.Aeson.Extra.Time: instance Data.Aeson.Types.Class.ToJSON Data.Aeson.Extra.Time.U
+ Data.Aeson.Extra.Time: instance Data.Aeson.Types.Class.ToJSON Data.Aeson.Extra.Time.Z
- Data.Aeson.Extra: parseCollapsedList :: (FromJSON a, FromJSON1 f, Alternative f) => Object -> Text -> Parser (f a)
+ Data.Aeson.Extra: parseCollapsedList :: (FromJSON a, FromJSON (f a), Alternative f) => Object -> Text -> Parser (f a)
- Data.Aeson.Extra.CollapsedList: parseCollapsedList :: (FromJSON a, FromJSON1 f, Alternative f) => Object -> Text -> Parser (f a)
+ Data.Aeson.Extra.CollapsedList: parseCollapsedList :: (FromJSON a, FromJSON (f a), Alternative f) => Object -> Text -> Parser (f a)
Files
- CHANGELOG.md +4/−0
- aeson-extra.cabal +10/−10
- src/Data/Aeson/Extra/Map.hs +8/−7
- src/Data/Aeson/Extra/SingObject.hs +7/−7
- src/Data/Aeson/Extra/SymTag.hs +4/−4
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 0.4.1.1 (2018-04-11)++- base-compat-0.10 support+ # 0.4.1.0 (2017-07-24) - GHC-8.2 support
aeson-extra.cabal view
@@ -1,5 +1,5 @@ name: aeson-extra-version: 0.4.1.0+version: 0.4.1.1 synopsis: Extra goodies for aeson description: Package provides extra funcitonality on top of @aeson@ and @aeson-compat@ category: Web@@ -9,7 +9,7 @@ maintainer: Oleg Grenrus <oleg.grenrus@iki.fi> license: BSD3 license-file: LICENSE-tested-with: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1+tested-with: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1 build-type: Simple cabal-version: >= 1.10 @@ -26,21 +26,21 @@ src ghc-options: -Wall build-depends:- base >=4.6 && <4.11- , aeson >=0.7.0.6 && <1.3+ base >=4.6 && <4.12+ , aeson >=0.7.0.6 && <1.4 , aeson-compat >=0.3.0.0 && <0.4 , attoparsec >=0.11.3.4 && <0.14 , attoparsec-iso8601 >=1.0 && <1.1- , base-compat >=0.6.0 && <0.10+ , base-compat-batteries >=0.10.1 && <0.11 , bytestring >=0.10 && <0.11 , containers >=0.5 && <0.6 , deepseq >=1.3 && <1.5- , exceptions >=0.8 && <0.9+ , exceptions >=0.8 && <0.11 , hashable >=1.2 && <1.3 , parsec >=3.1.9 && <3.2 , recursion-schemes >=4.1.2 && <5.1 , scientific >=0.3 && <0.4- , template-haskell >=2.8 && <2.13+ , template-haskell >=2.8 && <2.14 , text >=1.2 && <1.3 , these >=0.7.4 && <0.8 , time >=1.4.0.1 && <1.9@@ -78,9 +78,9 @@ , unordered-containers , vector , time-parsers >=0.1.0.0 && <0.2- , tasty >=0.10 && <0.12- , tasty-hunit >=0.9 && <0.10- , tasty-quickcheck >=0.8 && <0.10+ , tasty >=0.10 && <1.1+ , tasty-hunit >=0.9 && <0.11+ , tasty-quickcheck >=0.8 && <0.11 , quickcheck-instances >=0.3 && <0.4 other-modules: Orphans
src/Data/Aeson/Extra/Map.hs view
@@ -22,15 +22,16 @@ ToJSONMap(..), ) where -import Prelude ()+import Prelude () import Prelude.Compat -import Data.Aeson.Compat (ToJSON (..), FromJSON (..), Value (..), withObject)-import Data.Aeson.Types (Parser)-import Data.Hashable (Hashable)-import Data.Monoid ((<>))-import Data.Text (Text)-import Data.Typeable (Typeable)+import Data.Aeson.Compat+ (FromJSON (..), ToJSON (..), Value (..), withObject)+import Data.Aeson.Types (Parser)+import Data.Hashable (Hashable)+import Data.Semigroup.Compat ((<>))+import Data.Text (Text)+import Data.Typeable (Typeable) import qualified Data.HashMap.Strict as H import qualified Data.Map as Map
src/Data/Aeson/Extra/SingObject.hs view
@@ -22,18 +22,18 @@ import Prelude () import Prelude.Compat -import Control.DeepSeq (NFData (..))+import Control.DeepSeq (NFData (..)) import Data.Aeson.Compat-import Data.Monoid ((<>))-import Data.Proxy-import Data.Typeable (Typeable)-import GHC.TypeLits+import Data.Proxy (Proxy (..))+import Data.Semigroup.Compat ((<>))+import Data.Typeable (Typeable)+import GHC.TypeLits (KnownSymbol, Symbol, symbolVal) import qualified Data.Text as T #if MIN_VERSION_aeson(1,0,0)-import Data.Aeson.Internal (JSONPathElement (Key), (<?>)) import Data.Aeson.Encoding (pair)+import Data.Aeson.Internal (JSONPathElement (Key), (<?>)) import Data.Aeson.Types hiding ((.:?)) import qualified Data.HashMap.Strict as HM@@ -48,7 +48,7 @@ -- > "{\"value\":42}" -- -- /Available with: base >=4.7/-newtype SingObject (s ::Symbol) a = SingObject a+newtype SingObject (s :: Symbol) a = SingObject a deriving (Eq, Ord, Show, Read, Functor, Foldable, Traversable, Typeable) mkSingObject :: Proxy s -> a -> SingObject s a
src/Data/Aeson/Extra/SymTag.hs view
@@ -5,7 +5,7 @@ ----------------------------------------------------------------------------- -- | -- Module : Data.Aeson.Extra.SymTag--- Copyright : (C) 2015-2016 Oleg Grenrus+-- Copyright : (C) 2015-2018 Oleg Grenrus -- License : BSD3 -- Maintainer : Oleg Grenrus <oleg.grenrus@iki.fi> --@@ -13,14 +13,14 @@ SymTag(..), ) where -import Prelude ()+import Prelude () import Prelude.Compat import Control.DeepSeq (NFData (..)) import Data.Aeson.Compat import Data.Aeson.Types hiding ((.:?))-import Data.Proxy-import GHC.TypeLits+import Data.Proxy (Proxy (..))+import GHC.TypeLits (KnownSymbol, Symbol, symbolVal) import qualified Data.Text as T