-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A Haskell implementation of MessagePack -- @package msgpack @version 1.0.0 -- | MessagePack Serializer using Data.Binary module Data.MessagePack.Put putNil :: Put putBool :: Bool -> Put putInt :: Int -> Put putFloat :: Float -> Put putDouble :: Double -> Put putStr :: Text -> Put putBin :: ByteString -> Put putArray :: (a -> Put) -> Vector a -> Put putMap :: (a -> Put) -> (b -> Put) -> Vector (a, b) -> Put putExt :: Word8 -> ByteString -> Put -- | MessagePack Deserializer using Data.Binary module Data.MessagePack.Get getNil :: Get () getBool :: Get Bool getInt :: Get Int getFloat :: Get Float getDouble :: Get Double getStr :: Get Text getBin :: Get ByteString getArray :: Get a -> Get (Vector a) getMap :: Get a -> Get b -> Get (Vector (a, b)) getExt :: Get (Word8, ByteString) -- | MessagePack map labeling type module Data.MessagePack.Assoc newtype Assoc a Assoc :: a -> Assoc a unAssoc :: Assoc a -> a instance Typeable Assoc instance Show a => Show (Assoc a) instance Eq a => Eq (Assoc a) instance Ord a => Ord (Assoc a) instance NFData a => NFData (Assoc a) -- | MessagePack object definition module Data.MessagePack.Object -- | Object Representation of MessagePack data. data Object -- | represents nil ObjectNil :: Object -- | represents true or false ObjectBool :: !Bool -> Object -- | represents an integer ObjectInt :: {-# UNPACK #-} !Int -> Object -- | represents a floating point number ObjectFloat :: {-# UNPACK #-} !Float -> Object -- | represents a floating point number ObjectDouble :: {-# UNPACK #-} !Double -> Object -- | extending Raw type represents a UTF-8 string ObjectStr :: !Text -> Object -- | extending Raw type represents a byte array ObjectBin :: !ByteString -> Object -- | represents a sequence of objects ObjectArray :: !(Vector Object) -> Object -- | represents key-value pairs of objects ObjectMap :: !(Vector (Object, Object)) -> Object -- | represents a tuple of an integer and a byte array where the integer -- represents type information and the byte array represents data. ObjectExt :: {-# UNPACK #-} !Word8 -> !ByteString -> Object class MessagePack a toObject :: MessagePack a => a -> Object fromObject :: MessagePack a => Object -> Maybe a instance [incoherent] Typeable Object instance [incoherent] Show Object instance [incoherent] Eq Object instance [incoherent] Ord Object instance [incoherent] (MessagePack a1, MessagePack a2, MessagePack a3, MessagePack a4, MessagePack a5, MessagePack a6, MessagePack a7, MessagePack a8, MessagePack a9) => MessagePack (a1, a2, a3, a4, a5, a6, a7, a8, a9) instance [incoherent] (MessagePack a1, MessagePack a2, MessagePack a3, MessagePack a4, MessagePack a5, MessagePack a6, MessagePack a7, MessagePack a8) => MessagePack (a1, a2, a3, a4, a5, a6, a7, a8) instance [incoherent] (MessagePack a1, MessagePack a2, MessagePack a3, MessagePack a4, MessagePack a5, MessagePack a6, MessagePack a7) => MessagePack (a1, a2, a3, a4, a5, a6, a7) instance [incoherent] (MessagePack a1, MessagePack a2, MessagePack a3, MessagePack a4, MessagePack a5, MessagePack a6) => MessagePack (a1, a2, a3, a4, a5, a6) instance [incoherent] (MessagePack a1, MessagePack a2, MessagePack a3, MessagePack a4, MessagePack a5) => MessagePack (a1, a2, a3, a4, a5) instance [incoherent] (MessagePack a1, MessagePack a2, MessagePack a3, MessagePack a4) => MessagePack (a1, a2, a3, a4) instance [incoherent] (MessagePack a1, MessagePack a2, MessagePack a3) => MessagePack (a1, a2, a3) instance [incoherent] (MessagePack a1, MessagePack a2) => MessagePack (a1, a2) instance [incoherent] (MessagePack k, MessagePack v, Hashable k, Eq k) => MessagePack (HashMap k v) instance [incoherent] MessagePack v => MessagePack (IntMap v) instance [incoherent] (MessagePack k, MessagePack v, Ord k) => MessagePack (Map k v) instance [incoherent] (MessagePack k, MessagePack v) => MessagePack (Assoc [(k, v)]) instance [incoherent] MessagePack a => MessagePack [a] instance [incoherent] MessagePack Text instance [incoherent] MessagePack Text instance [incoherent] MessagePack ByteString instance [incoherent] MessagePack a => MessagePack (Maybe a) instance [incoherent] (MessagePack a, MessagePack b) => MessagePack (Assoc (Vector (a, b))) instance [incoherent] MessagePack a => MessagePack (Vector a) instance [incoherent] MessagePack String instance [incoherent] MessagePack ByteString instance [incoherent] MessagePack Double instance [incoherent] MessagePack Float instance [incoherent] MessagePack Bool instance [incoherent] MessagePack Int instance [incoherent] MessagePack () instance [incoherent] MessagePack Object instance [incoherent] Binary Object instance [incoherent] NFData Object -- | Simple interface to pack and unpack MessagePack data. module Data.MessagePack -- | Pack a Haskell value to MessagePack binary. pack :: MessagePack a => a -> ByteString -- | Unpack MessagePack binary to a Haskell value. If it fails, it returns -- Nothing. unpack :: MessagePack a => ByteString -> Maybe a