lens-3.10: Lenses, Folds and Traversals
Data.Text.Strict.Lens
Description
Synopsis
packed :: Iso' String TextSource
This isomorphism can be used to pack (or unpack) strict Text.
pack
unpack
Text
>>> "hello"^.packed -- :: Text "hello"
>>>
"hello"^.packed -- :: Text
pack x ≡ x ^. packed unpack x ≡ x ^. from packed packed ≡ from unpacked packed ≡ iso pack unpack
^.
packed
from
unpacked
iso
unpacked :: Iso' Text StringSource
This isomorphism can be used to unpack (or pack) lazy Text.
>>> "hello"^.unpacked -- :: String "hello"
"hello"^.unpacked -- :: String
This Iso is provided for notational convenience rather than out of great need, since
Iso
unpacked ≡ from packed
pack x ≡ x ^. from unpacked unpack x ≡ x ^. packed unpacked ≡ iso unpack pack
builder :: Iso' Text BuilderSource
Convert between strict Text and Builder .
Builder
fromText x ≡ x ^. builder toStrict (toLazyText x) ≡ x ^. from builder
fromText
builder
toStrict
toLazyText
text :: IndexedTraversal' Int Text CharSource
Traverse the individual characters in strict Text.
>>> anyOf text (=='o') "hello" True
anyOf text (=='o') "hello"
When the type is unambiguous, you can also use the more general each.
each
text ≡ unpacked . traversed text ≡ each
text
traversed