msgpack-1.0.0: src/Data/MessagePack.hs
--------------------------------------------------------------------
-- |
-- Module : Data.MessagePack
-- Copyright : (c) Hideyuki Tanaka, 2009-2015
-- License : BSD3
--
-- Maintainer: tanaka.hideyuki@gmail.com
-- Stability : experimental
-- Portability: portable
--
-- Simple interface to pack and unpack MessagePack data.
--
--------------------------------------------------------------------
module Data.MessagePack (
-- * Simple interface to pack and unpack msgpack binary
pack, unpack,
-- * Re-export modules
-- $reexports
-- module X,
module Data.MessagePack.Assoc,
module Data.MessagePack.Get,
module Data.MessagePack.Object,
module Data.MessagePack.Put,
) where
import Data.Binary
import qualified Data.ByteString.Lazy as L
import Data.MessagePack.Assoc
import Data.MessagePack.Get
import Data.MessagePack.Object
import Data.MessagePack.Put
-- | Pack a Haskell value to MessagePack binary.
pack :: MessagePack a => a -> L.ByteString
pack = encode . toObject
-- | Unpack MessagePack binary to a Haskell value. If it fails, it returns Nothing.
unpack :: MessagePack a => L.ByteString -> Maybe a
unpack = fromObject . decode