-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Yet Another Binary Serialisation Library (compatibility shim) -- -- This package is a shim around cborg, exposing an interface -- compatible with the previous binary-serialise-cbor. @package binary-serialise-cbor @version 0.2.1.0 -- | Tools for reading values in a CBOR-encoded format back into ordinary -- values. module Data.Binary.Serialise.CBOR.Read -- | Run a Decoder incrementally, returning a continuation -- representing the result of the incremental decode. deserialiseIncremental :: () => Decoder s a -> ST s IDecode s a -- | Given a Decoder and some ByteString -- representing an encoded CBOR value, return Either the -- decoded CBOR value or an error. In addition to the decoded value -- return any remaining input content and the number of bytes consumed. deserialiseFromBytesWithSize :: () => forall s. () => Decoder s a -> ByteString -> Either DeserialiseFailure (ByteString, ByteOffset, a) -- | An exception type that may be returned (by pure functions) or thrown -- (by IO actions) that fail to deserialise a given input. data DeserialiseFailure DeserialiseFailure :: ByteOffset -> String -> DeserialiseFailure -- | An Incremental decoder, used to represent the result of attempting to -- run a decoder over a given input, and return a value of type -- a. data IDecode s a -- | The decoder has consumed the available input and needs more to -- continue. Provide Just if more input is available and -- Nothing otherwise, and you will get a new -- IDecode. Partial :: Maybe ByteString -> ST s IDecode s a -> IDecode s a -- | The decoder has successfully finished. Except for the output value you -- also get any unused input as well as the number of bytes consumed. Done :: !ByteString -> {-# UNPACK #-} !ByteOffset -> a -> IDecode s a -- | The decoder ran into an error. The decoder either used -- fail or was not provided enough input. Contains any -- unconsumed input, the number of bytes consumed, and a -- DeserialiseFailure exception describing the reason why -- the failure occurred. Fail :: !ByteString -> {-# UNPACK #-} !ByteOffset -> DeserialiseFailure -> IDecode s a -- | Simple alias for Int64, used to make types more -- descriptive. type ByteOffset = Int64 deserialiseFromBytes :: (forall s. Decoder s a) -> ByteString -> Either DeserialiseFailure a