cqrs-0.8.0: src/Data/CQRS/Serialize.hs
module Data.CQRS.Serialize
( decode'
, encode
) where
import Data.ByteString (ByteString)
import Data.SafeCopy (SafeCopy, safeGet, safePut)
import Data.Serialize (runGet, runPut)
-- | Decode a serialized value irrefutably.
decode' :: SafeCopy e => ByteString -> e
decode' = either error id . runGet safeGet
-- | Encode a value.
encode :: SafeCopy e => e -> ByteString
encode = runPut . safePut