-- 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