lens-3.8.7.3: Lenses, Folds and Traversals

Portability | non-portable
Stability | experimental
Maintainer | Edward Kmett <ekmett@gmail.com>
Safe Haskell | Trustworthy

Data.Text.Lazy.Lens

Description

Synopsis

- packed :: Iso' String Text
- unpacked :: Iso' Text String
- text :: IndexedTraversal' Int Text Char
- builder :: Iso' Text Builder

# Documentation

packed :: Iso' String Text

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

    >>> "hello"^.packed -- :: Text
    "hello"

     pack x ≡ x ^. packed
     unpack x ≡ x ^. from packed
     packed ≡ from unpacked

unpacked :: Iso' Text String

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

     unpacked ≡ from packed

text :: IndexedTraversal' Int Text Char

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`.

     text ≡ each

builder :: Iso' Text Builder

Convert between lazy `Text` and `Builder` .

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