conduit-1.0.7.1: Streaming data processing library.

Safe HaskellNone

Data.Conduit.Text

Contents

Description

Handle streams of text.

Parts of this code were taken from enumerator and adapted for conduits.

Synopsis

Text codecs

data Codec

A specific character encoding.

Since 0.3.0

Instances

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

utf8 :: Codec

Since 0.3.0

utf16_le :: Codec

Since 0.3.0

utf16_be :: Codec

Since 0.3.0

utf32_le :: Codec

Since 0.3.0

utf32_be :: Codec

Since 0.3.0

ascii :: Codec

Since 0.3.0

iso8859_1 :: Codec

Since 0.3.0

lines :: Monad m => Conduit Text m Text

Emit each line separately

Since 0.4.1

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.