Copyright | (c) Duncan Coutts 2015-2017 |
---|---|
License | BSD3-style (see LICENSE.txt) |
Maintainer | duncan@community.haskell.org |
Stability | experimental |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
Tools for reading values in a CBOR-encoded format back into ordinary values.
- deserialiseFromBytes :: (forall s. Decoder s a) -> ByteString -> Either DeserialiseFailure (ByteString, a)
- deserialiseIncremental :: Decoder s a -> ST s (IDecode s a)
- data DeserialiseFailure = DeserialiseFailure ByteOffset String
- data IDecode s a
- = Partial (Maybe ByteString -> ST s (IDecode s a))
- | Done !ByteString !ByteOffset a
- | Fail !ByteString !ByteOffset DeserialiseFailure
- type ByteOffset = Int64
Documentation
deserialiseFromBytes :: (forall s. Decoder s a) -> ByteString -> Either DeserialiseFailure (ByteString, a) Source #
Given a
and some Decoder
representing
an encoded CBOR value, return ByteString
the decoded CBOR value
or an error. In addition to the decoded value return any remaining input
content.Either
Since: 0.2.0.0
deserialiseIncremental :: Decoder s a -> ST s (IDecode s a) Source #
Run a
incrementally, returning a continuation
representing the result of the incremental decode.Decoder
Since: 0.2.0.0
data DeserialiseFailure Source #
An exception type that may be returned (by pure functions) or thrown (by IO actions) that fail to deserialise a given input.
Since: 0.2.0.0
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
.
Partial (Maybe ByteString -> ST s (IDecode s a)) | The decoder has consumed the available input and needs more
to continue. Provide |
Done !ByteString !ByteOffset 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. |
Fail !ByteString !ByteOffset DeserialiseFailure | The decoder ran into an error. The decoder either used
|
type ByteOffset = Int64 Source #
Simple alias for
, used to make types more descriptive.Int64