packages feed

core-data 0.3.0.0 → 0.3.0.1

raw patch · 2 files changed

+24/−3 lines, 2 filesdep ~aesonPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: aeson

API changes (from Hackage documentation)

Files

core-data.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           core-data-version:        0.3.0.0+version:        0.3.0.1 synopsis:       Convenience wrappers around common data structures and encodings description:    Wrappers around common data structures and encodings.                 .@@ -42,7 +42,7 @@       lib   ghc-options: -Wall -Wwarn -fwarn-tabs   build-depends:-      aeson >=2.0.1+      aeson >=1.5 && <2 || >=2.0.1     , base >=4.11 && <5     , bytestring     , containers
lib/Core/Encoding/Json.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE InstanceSigs #-}@@ -91,8 +92,13 @@     breakPieces,  ) import qualified Data.Aeson as Aeson++#if MIN_VERSION_aeson(2,0,1) import qualified Data.Aeson.Key as Aeson import qualified Data.Aeson.KeyMap as Aeson+#else+import qualified Data.HashMap.Strict as HashMap+#endif import Data.Coerce import Data.Hashable (Hashable) import qualified Data.List as List@@ -249,6 +255,7 @@  fromAeson :: Aeson.Value -> JsonValue fromAeson value = case value of+#if MIN_VERSION_aeson(2,0,1)     Aeson.Object o ->         let tvs = Aeson.toList o             kvs =@@ -260,10 +267,24 @@                         )                     )                     tvs-             kvm :: Map JsonKey JsonValue             kvm = intoMap kvs          in JsonObject kvm+#else+    Aeson.Object o ->+        let tvs = HashMap.toList o+            kvs =+                fmap ( \(k, v) ->+                        ( JsonKey+                            (intoRope k)+                        , fromAeson v+                        )+                    )+                    tvs+            kvm :: Map JsonKey JsonValue+            kvm = intoMap kvs+         in JsonObject kvm+#endif     Aeson.Array v -> JsonArray (fmap fromAeson (V.toList v))     Aeson.String t -> JsonString (intoRope t)     Aeson.Number n -> JsonNumber n