packages feed

msgpack-types 0.0.4 → 0.1.0

raw patch · 8 files changed

+30/−34 lines, 8 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Data.MessagePack.Types: ObjectArray :: ![Object] -> Object
+ Data.MessagePack.Types: ObjectArray :: [Object] -> Object
- Data.MessagePack.Types: ObjectBin :: !ByteString -> Object
+ Data.MessagePack.Types: ObjectBin :: ByteString -> Object
- Data.MessagePack.Types: ObjectBool :: !Bool -> Object
+ Data.MessagePack.Types: ObjectBool :: Bool -> Object
- Data.MessagePack.Types: ObjectDouble :: {-# UNPACK #-} !Double -> Object
+ Data.MessagePack.Types: ObjectDouble :: {-# UNPACK #-}Double -> Object
- Data.MessagePack.Types: ObjectExt :: {-# UNPACK #-} !Word8 -> !ByteString -> Object
+ Data.MessagePack.Types: ObjectExt :: {-# UNPACK #-}Word8 -> ByteString -> Object
- Data.MessagePack.Types: ObjectFloat :: {-# UNPACK #-} !Float -> Object
+ Data.MessagePack.Types: ObjectFloat :: {-# UNPACK #-}Float -> Object
- Data.MessagePack.Types: ObjectInt :: {-# UNPACK #-} !Int64 -> Object
+ Data.MessagePack.Types: ObjectInt :: {-# UNPACK #-}Int64 -> Object
- Data.MessagePack.Types: ObjectMap :: ![(Object, Object)] -> Object
+ Data.MessagePack.Types: ObjectMap :: [(Object, Object)] -> Object
- Data.MessagePack.Types: ObjectStr :: !Text -> Object
+ Data.MessagePack.Types: ObjectStr :: Text -> Object
- Data.MessagePack.Types: ObjectWord :: {-# UNPACK #-} !Word64 -> Object
+ Data.MessagePack.Types: ObjectWord :: {-# UNPACK #-}Word64 -> Object
- Data.MessagePack.Types: fromObject :: (MessagePack a, Applicative m, Monad m, Generic a, GMessagePack (Rep a)) => Object -> m a
+ Data.MessagePack.Types: fromObject :: (MessagePack a, Applicative m, Monad m, MonadFail m, Generic a, GMessagePack (Rep a)) => Object -> m a

Files

msgpack-types.cabal view
@@ -1,5 +1,5 @@ name:                 msgpack-types-version:              0.0.4+version:              0.1.0 synopsis:             A Haskell implementation of MessagePack. homepage:             http://msgpack.org/ license:              BSD3@@ -35,7 +35,6 @@       Data.MessagePack.Types.Assoc       Data.MessagePack.Types.Class       Data.MessagePack.Types.Generic-      Data.MessagePack.Types.Instances       Data.MessagePack.Types.Object   build-depends:       base < 5@@ -59,6 +58,8 @@   ghc-options:       -Wall       -fno-warn-unused-imports+  build-tool-depends:+      hspec-discover:hspec-discover   build-depends:       base < 5     , QuickCheck
src/Data/MessagePack/Types.hs view
@@ -5,7 +5,7 @@     , MessagePack (..)     ) where -import           Data.MessagePack.Types.Assoc     (Assoc (..))-import           Data.MessagePack.Types.Class     (MessagePack (..))-import           Data.MessagePack.Types.Instances ()-import           Data.MessagePack.Types.Object    (Object (..))+import           Data.MessagePack.Types.Assoc   (Assoc (..))+import           Data.MessagePack.Types.Class   (MessagePack (..))+import           Data.MessagePack.Types.Generic ()+import           Data.MessagePack.Types.Object  (Object (..))
src/Data/MessagePack/Types/Assoc.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE StrictData                 #-} {-# LANGUAGE Trustworthy                #-}  --------------------------------------------------------------------
src/Data/MessagePack/Types/Class.hs view
@@ -4,6 +4,7 @@ {-# LANGUAGE FlexibleInstances   #-} {-# LANGUAGE IncoherentInstances #-} {-# LANGUAGE LambdaCase          #-}+{-# LANGUAGE StrictData          #-} {-# LANGUAGE Trustworthy         #-}  --------------------------------------------------------------------@@ -29,8 +30,8 @@ import           Control.Arrow                 ((***)) import qualified Data.ByteString               as S import qualified Data.ByteString.Lazy          as L-import           Data.Hashable                 (Hashable) import qualified Data.HashMap.Strict           as HashMap+import           Data.Hashable                 (Hashable) import           Data.Int                      (Int16, Int32, Int64, Int8) import qualified Data.IntMap.Strict            as IntMap import qualified Data.Map                      as Map@@ -264,7 +265,7 @@ instance (MessagePack a1, MessagePack a2) => MessagePack (a1, a2) where     toObject (a1, a2) = ObjectArray [toObject a1, toObject a2]     fromObject (ObjectArray [a1, a2]) = (,) <$> fromObject a1 <*> fromObject a2-    fromObject _ = fail "invalid encoding for tuple"+    fromObject _                      = fail "invalid encoding for tuple"  instance (MessagePack a1, MessagePack a2, MessagePack a3) => MessagePack (a1, a2, a3) where     toObject (a1, a2, a3) = ObjectArray [toObject a1, toObject a2, toObject a3]
src/Data/MessagePack/Types/Generic.hs view
@@ -7,6 +7,7 @@ {-# LANGUAGE LambdaCase          #-} {-# LANGUAGE Safe                #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StrictData          #-} {-# LANGUAGE TypeOperators       #-} module Data.MessagePack.Types.Generic () where 
− src/Data/MessagePack/Types/Instances.hs
@@ -1,12 +0,0 @@-{-# OPTIONS_GHC -fno-warn-orphans #-}-module Data.MessagePack.Types.Instances () where--import           Data.Void                      (Void)--import           Data.MessagePack.Types.Class   (MessagePack)-import           Data.MessagePack.Types.Generic ()---instance MessagePack a => MessagePack (Maybe a)-instance (MessagePack a, MessagePack b) => MessagePack (Either a b)-instance MessagePack Void
src/Data/MessagePack/Types/Object.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric      #-} {-# LANGUAGE Safe               #-}+{-# LANGUAGE StrictData         #-} module Data.MessagePack.Types.Object     ( Object (..)     ) where@@ -22,25 +23,25 @@ data Object     = ObjectNil       -- ^ represents nil-    | ObjectBool                  !Bool+    | ObjectBool                  Bool       -- ^ represents true or false-    | ObjectInt    {-# UNPACK #-} !Int64+    | ObjectInt    {-# UNPACK #-} Int64       -- ^ represents a negative integer-    | ObjectWord   {-# UNPACK #-} !Word64+    | ObjectWord   {-# UNPACK #-} Word64       -- ^ represents a positive integer-    | ObjectFloat  {-# UNPACK #-} !Float+    | ObjectFloat  {-# UNPACK #-} Float       -- ^ represents a floating point number-    | ObjectDouble {-# UNPACK #-} !Double+    | ObjectDouble {-# UNPACK #-} Double       -- ^ represents a floating point number-    | ObjectStr                   !T.Text+    | ObjectStr                   T.Text       -- ^ extending Raw type represents a UTF-8 string-    | ObjectBin                   !S.ByteString+    | ObjectBin                   S.ByteString       -- ^ extending Raw type represents a byte array-    | ObjectArray                 ![Object]+    | ObjectArray                 [Object]       -- ^ represents a sequence of objects-    | ObjectMap                   ![(Object, Object)]+    | ObjectMap                   [(Object, Object)]       -- ^ represents key-value pairs of objects-    | ObjectExt    {-# UNPACK #-} !Word8 !S.ByteString+    | ObjectExt    {-# UNPACK #-} Word8 S.ByteString       -- ^ represents a tuple of an integer and a byte array where       -- the integer represents type information and the byte array represents data.     deriving (Read, Show, Eq, Ord, Typeable, Generic)
test/Data/MessagePack/Types/ClassSpec.hs view
@@ -3,6 +3,7 @@ {-# LANGUAGE LambdaCase          #-} {-# LANGUAGE OverloadedStrings   #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StrictData          #-} {-# LANGUAGE Trustworthy         #-} module Data.MessagePack.Types.ClassSpec where @@ -11,8 +12,8 @@ import           Control.Monad                     (mplus, mzero) import qualified Data.ByteString                   as BS import qualified Data.ByteString.Lazy              as LBS-import           Data.Hashable                     (Hashable) import qualified Data.HashMap.Strict               as HashMap+import           Data.Hashable                     (Hashable) import           Data.Int                          (Int16, Int32, Int64, Int8) import qualified Data.IntMap.Strict                as IntMap import qualified Data.Map                          as Map@@ -98,11 +99,13 @@ spec :: Spec spec = do     describe "GMessagePack" $ do-        it "is a reversible operation" $ property $ \(x :: MyType) ->-            fromObject (toObject x) `shouldBe` Just x+        it "is a reversible operation"+            $ withMaxSuccess 10000+            $ property+            $ \(x :: MyType) -> fromObject (toObject x) `shouldBe` Just x          it "handles arbitrary values"-            $ withMaxSuccess 100000+            $ withMaxSuccess 10000             $ property             $ \ob -> fromObject ob `shouldSatisfy` \case                   Just EnumTyCon -> True