packages feed

hslua-aeson 2.0.0 → 2.0.1

raw patch · 4 files changed

+34/−7 lines, 4 filesdep ~aesonPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: aeson

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -2,6 +2,12 @@  `hslua-aeson` uses [PVP Versioning][]. +## hslua-aeson-2.0.1++Released 2021-12-28.++-   Restored compatibility with aeson 1.5.+ ## hslua-aeson-2.0.0  Released 2021-12-17.
hslua-aeson.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.2 name:                hslua-aeson-version:             2.0.0+version:             2.0.1 synopsis:            Allow aeson data types to be used with lua. description:         This package provides instances to push and receive any                      datatype encodable as JSON to and from the Lua stack.@@ -27,7 +27,7 @@ common common-options   default-language:    Haskell2010   build-depends:       base                 >= 4.8    && < 5-                     , aeson                >= 2.0    && < 2.1+                     , aeson                >= 1.5    && < 2.1                      , bytestring           >= 0.10.2 && < 0.12                      , containers           >= 0.5.9  && < 0.7                      , hashable             >= 1.2    && < 1.5@@ -39,6 +39,7 @@                      , text                 >= 1.0    && < 1.3                      , vector               >= 0.7   default-extensions:  BangPatterns+                     , CPP                      , LambdaCase                      , OverloadedStrings                      , TypeApplications
src/HsLua/Aeson.hs view
@@ -35,8 +35,6 @@   ) where  import Control.Monad ((<$!>), when)-import Data.Aeson.Key (Key, toText, fromText)-import Data.Aeson.KeyMap import Data.Scientific (Scientific, toRealFloat, fromFloatDigits) import Data.String (IsString (fromString)) import Data.Vector (Vector)@@ -44,9 +42,23 @@ import HsLua.Marshalling as Lua  import qualified Data.Aeson as Aeson-import qualified Data.Aeson.KeyMap as KeyMap import qualified Data.Vector as Vector import qualified HsLua.Core.Unsafe as Unsafe++#if MIN_VERSION_aeson(2,0,0)+import Data.Aeson.Key (Key, toText, fromText)+import qualified Data.Aeson.KeyMap as KeyMap+type KeyMap = KeyMap.KeyMap+#else+import Data.Text (Text)+import qualified Data.HashMap.Strict as KeyMap+type Key = Text+type KeyMap = KeyMap.HashMap Key+toText :: Key -> Text+toText = id+fromText :: Text -> Key+fromText = id+#endif  -- Scientific pushScientific :: Pusher e Scientific
test/test-hslua-aeson.hs view
@@ -7,7 +7,6 @@ -} import Control.Monad (when) import Data.AEq ((~==))-import Data.Aeson.Key (Key, fromText) import Data.ByteString (ByteString) import Data.Scientific (Scientific, toRealFloat, fromFloatDigits) import HsLua.Core as Lua@@ -20,10 +19,17 @@ import Test.QuickCheck.Instances ()  import qualified Data.Aeson as Aeson-import qualified Data.Aeson.KeyMap as KeyMap import qualified Data.Vector as Vector import qualified Test.QuickCheck.Monadic as QC +#if MIN_VERSION_aeson(2,0,0)+import Data.Aeson.Key (Key, fromText)+import qualified Data.Aeson.KeyMap as KeyMap+#else+import qualified Data.HashMap.Strict as KeyMap+#endif++ -- | Run this spec. main :: IO () main = defaultMain tests@@ -153,11 +159,13 @@ instance Arbitrary Aeson.Value where   arbitrary = arbitraryValue 5 +#if MIN_VERSION_aeson(2,0,0) instance Arbitrary Key where   arbitrary = fmap fromText arbitrary  instance Arbitrary a => Arbitrary (KeyMap.KeyMap a) where   arbitrary = fmap KeyMap.fromList arbitrary+#endif  arbitraryValue :: Int -> Gen Aeson.Value arbitraryValue size = frequency