-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Parsing framework based on conduit.
--
-- The conduit-extra package provides utilities to turn a
-- Parser into a Consumer, but only for streams of
-- ByteStrings of Texts (cf
-- Data.Conduit.Attoparsec module).
--
-- This library makes it possible to work with any kind of input by
-- providing a general-purpose parsing framework based on conduit.
@package conduit-parse
@version 0.1.0.0
-- | This module introduces ConduitParser, a wrapper around
-- Sink that behaves like a parser.
--
-- You probably want to import the Text.Parser.Combinators module
-- together with this module.
module Data.Conduit.Parser
-- | Core type of the package. This is basically a Sink with a
-- parsing state.
data ConduitParser i m a
-- | Run a ConduitParser. Any parsing failure will be thrown as an
-- exception.
runConduitParser :: (MonadThrow m) => ConduitParser i m a -> Sink i m a
-- | Flipped version of (<?>).
named :: (MonadCatch m) => Text -> ConduitParser i m a -> ConduitParser i m a
-- | await wrapped as a ConduitParser.
--
-- If no data is available, UnexpectedEndOfInput is thrown.
await :: (MonadCatch m) => ConduitParser i m i
-- | leftover wrapped as a ConduitParser.
leftover :: (Monad m) => i -> ConduitParser i m ()
-- | Return the name of the parser (assigned through (<?>)),
-- or mempty if has none.
getParserName :: ConduitParser i m Text
-- | peek wrapped as a ConduitParser.
peek :: (Monad m) => ConduitParser i m (Maybe i)
data ConduitParserException
BothFailed :: ConduitParserException -> ConduitParserException -> ConduitParserException
ExpectedEndOfInput :: ConduitParserException
NamedParserException :: Text -> ConduitParserException -> ConduitParserException
UnexpectedEndOfInput :: ConduitParserException
UnexpectedFollowedBy :: Text -> ConduitParserException
Unexpected :: Text -> ConduitParserException
instance GHC.Base.Applicative (Data.Conduit.Parser.ConduitParser i m)
instance GHC.Base.Functor (Data.Conduit.Parser.ConduitParser i m)
instance GHC.Base.Monad m => GHC.Base.Monad (Data.Conduit.Parser.ConduitParser i m)
instance GHC.Classes.Eq Data.Conduit.Parser.ConduitParserException
instance Control.Monad.Catch.MonadCatch m => GHC.Base.Alternative (Data.Conduit.Parser.ConduitParser i m)
instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Data.Conduit.Parser.ConduitParser i m)
instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Data.Conduit.Parser.ConduitParser i m)
instance Control.Monad.Trans.Class.MonadTrans (Data.Conduit.Parser.ConduitParser i)
instance Control.Monad.Catch.MonadCatch m => Text.Parser.Combinators.Parsing (Data.Conduit.Parser.ConduitParser i m)
instance GHC.Show.Show Data.Conduit.Parser.ConduitParserException
instance GHC.Exception.Exception Data.Conduit.Parser.ConduitParserException