buffer-builder-aeson 0.2.0.4 → 0.2.0.5
raw patch · 3 files changed
+15/−4 lines, 3 filessetup-changednew-uploaderPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Setup.hs +0/−2
- buffer-builder-aeson.cabal +1/−1
- src/Data/BufferBuilder/Aeson.hs +14/−1
− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
buffer-builder-aeson.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: buffer-builder-aeson-version: 0.2.0.4+version: 0.2.0.5 synopsis: Serialize Aeson values with Data.BufferBuilder -- description: license: MIT
src/Data/BufferBuilder/Aeson.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE MagicHash #-} {-# OPTIONS_GHC -fno-warn-orphans #-} @@ -10,10 +11,15 @@ import qualified Data.BufferBuilder.Json as Json import qualified Data.BufferBuilder.Utf8 as Utf8Builder import qualified Data.ByteString.Lazy as BSL-import qualified Data.ByteString.Lazy.Builder as BB+import qualified Data.ByteString.Builder as BB import qualified Data.ByteString.Builder.Scientific as BB import qualified Data.Scientific as Scientific +#if MIN_VERSION_aeson(2,0,0)+import Data.Aeson.KeyMap (foldrWithKey)+import Data.Aeson.Key (toText)+#endif+ -- TODO: this doesn't need to convert the bytestring to strict before appending it -- there is an appendBSL slowNumber :: Scientific.Scientific -> Json.Value@@ -24,7 +30,14 @@ instance ToJson Value where {-# INLINE toJson #-}+#if MIN_VERSION_aeson(2,0,0)+ toJson (Object o) = toJson $ foldrWithKey+ (\k v built -> (toText k Json..= (toJson v)) <> built)+ mempty+ o+#else toJson (Object o) = toJson o+#endif toJson (Array a) = toJson a toJson (String s) = toJson s toJson (Number n) = case Scientific.coefficient n of