conduit-extra-1.3.6: Batteries included conduit: adapters for common libraries.
Safe Haskell None
Language Haskell2010

Data.Conduit.Text

Contents

Description

NOTE It is recommended to start using Data.Conduit.Combinators instead of this module.

Copyright: 2011 Michael Snoyman, 2010-2011 John Millikin License: MIT

Handle streams of text.

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

For many purposes, it's recommended to use the conduit-combinators library, which provides a more complete set of functions.

Synopsis

Text codecs

data Codec Source #

A specific character encoding.

Since 0.3.0

encode :: MonadThrow m => Codec -> ConduitT Text ByteString m () Source #

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 -> ConduitT ByteString Text m () Source #

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

lines :: Monad m => ConduitT Text Text m () Source #

Emit each line separately

Since 0.4.1

linesBounded :: MonadThrow m => Int -> ConduitT Text Text m () Source #

Variant of the lines function with an integer parameter. The text length of any emitted line never exceeds the value of the parameter. 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.

decodeUtf8 :: forall (m :: Type -> Type ). MonadThrow m => ConduitT ByteString Text m () Source #

Decode a stream of binary data as UTF8.

Since: conduit-1.3.0

decodeUtf8Lenient :: forall (m :: Type -> Type ). Monad m => ConduitT ByteString Text m () Source #

Decode a stream of binary data as UTF8, replacing any invalid bytes with the Unicode replacement character.

Since: conduit-1.3.0

encodeUtf8 :: forall (m :: Type -> Type ) text binary. ( Monad m, Utf8 text binary) => ConduitT text binary m () Source #

Encode a stream of text as UTF8.

Subject to fusion

Since: conduit-1.3.0

detectUtf :: MonadThrow m => ConduitT ByteString Text m () Source #

Automatically determine which UTF variant is being used. This function checks for BOMs, removing them as necessary. It defaults to assuming UTF-8.

Since 1.1.9