Copyright | 2011 Michael Snoyman, 2010-2011 John Millikin |
---|---|
License | MIT |
Safe Haskell | None |
Language | Haskell98 |
Data.Conduit.Text
Contents
Description
Handle streams of text.
Parts of this code were taken from enumerator and adapted for conduits.
- data Codec
- encode :: MonadThrow m => Codec -> Conduit Text m ByteString
- decode :: MonadThrow m => Codec -> Conduit ByteString m Text
- utf8 :: Codec
- utf16_le :: Codec
- utf16_be :: Codec
- utf32_le :: Codec
- utf32_be :: Codec
- ascii :: Codec
- iso8859_1 :: Codec
- lines :: Monad m => Conduit Text m Text
- linesBounded :: MonadThrow m => Int -> Conduit Text m Text
- data TextException
Text codecs
encode :: MonadThrow m => Codec -> Conduit Text m ByteString
Convert text into bytes, using the provided codec. If the codec is not capable of representing an input character, an exception will be thrown.
Since 0.3.0
decode :: MonadThrow m => Codec -> Conduit ByteString m Text
Convert bytes into text, using the provided codec. If the codec is not capable of decoding an input byte sequence, an exception will be thrown.
Since 0.3.0
linesBounded :: MonadThrow m => Int -> Conduit Text m Text
Variant of the lines function with an integer parameter. The text length of any emitted line never exceeds the value of the paramater. Whenever this is about to happen a LengthExceeded exception is thrown. This function should be used instead of the lines function whenever we are dealing with user input (e.g. a file upload) because we can't be sure that user input won't have extraordinarily large lines which would require large amounts of memory if consumed.
data TextException
Since 0.3.0
Constructors
DecodeException Codec Word8 | |
EncodeException Codec Char | |
LengthExceeded Int | |
TextException SomeException |
Instances