lens-5.0.1: Lenses, Folds and Traversals
Copyright (C) 2012-2016 Edward Kmett
License BSD-style (see the file LICENSE)
Maintainer Edward Kmett <ekmett@gmail.com>
Stability experimental
Portability non-portable
Safe Haskell None
Language Haskell2010

Data.Text.Lazy.Lens

Description

Synopsis

Documentation

packed :: Iso' String Text Source #

This isomorphism can be used to pack (or unpack ) lazy Text .

>>> "hello"^.packed -- :: Text
"hello"
pack x ≡ x ^. packed
unpack x ≡ x ^. from packed
packedfrom unpacked

unpacked :: Iso' Text String Source #

This isomorphism can be used to unpack (or pack ) lazy Text .

>>> "hello"^.unpacked -- :: String
"hello"
pack x ≡ x ^. from unpacked
unpack x ≡ x ^. packed

This Iso is provided for notational convenience rather than out of great need, since

unpackedfrom packed

_Text :: Iso' Text String Source #

This is an alias for unpacked that makes it clearer how to use it with ( # ) .

_Text = from packed
>>> _Text # "hello" -- :: Text
"hello"

text :: IndexedTraversal' Int Text Char Source #

Traverse the individual characters in a Text .

>>> anyOf text (=='c') "chello"
True
text = unpacked . traversed

When the type is unambiguous, you can also use the more general each .

texteach

Note that when just using this as a Setter , setting map can be more efficient.

builder :: Iso' Text Builder Source #

Convert between lazy Text and Builder .

fromLazyText x ≡ x ^. builder
toLazyText x ≡ x ^. from builder

utf8 :: Prism' ByteString Text Source #

Encode/Decode a lazy Text to/from lazy ByteString , via UTF-8.

Note: This function does not decode lazily, as it must consume the entire input before deciding whether or not it fails.

>>> ByteString.unpack (utf8 # "☃")
[226,152,131]