optics-extra-0.3: Extra utilities and instances for optics-core
Safe HaskellNone
LanguageHaskell2010

Data.ByteString.Optics

Synopsis

Documentation

class IsByteString t where Source #

Traversals for ByteStrings.

Methods

packedBytes :: Iso' [Word8] t Source #

pack (or unpack) a list of bytes into a strict or lazy ByteString.

pack x ≡ x ^. packedBytes
unpack x ≡ x ^. re packedBytes
packedBytesre unpackedBytes

packedChars :: Iso' String t Source #

pack (or unpack) a list of characters into a strict or lazy ByteString.

When writing back to the ByteString it is assumed that every Char lies between 'x00' and 'xff'.

pack x ≡ x ^. packedChars
unpack x ≡ x ^. re packedChars
packedCharsre unpackedChars

bytes :: IxTraversal' Int64 t Word8 Source #

Traverse each Word8 in a strict or lazy ByteString

This Traversal walks each strict ByteString chunk in a tree-like fashion enable zippers to seek to locations more quickly and accelerate many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:

bytesunpackedBytes . traversed
anyOf bytes (== 0x80) :: ByteString -> Bool

chars :: IxTraversal' Int64 t Char Source #

Traverse the individual bytes in a strict or lazy ByteString as characters.

When writing back to the ByteString it is assumed that every Char lies between 'x00' and 'xff'.

This Traversal walks each strict ByteString chunk in a tree-like fashion enable zippers to seek to locations more quickly and accelerate many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:

charsunpackedChars . traversed
anyOf chars (== 'c') :: ByteString -> Bool

Instances

Instances details
IsByteString ByteString Source # 
Instance details

Defined in Data.ByteString.Optics

Methods

packedBytes :: Iso' [Word8] ByteString Source #

packedChars :: Iso' String ByteString Source #

bytes :: IxTraversal' Int64 ByteString Word8 Source #

chars :: IxTraversal' Int64 ByteString Char Source #

IsByteString ByteString Source # 
Instance details

Defined in Data.ByteString.Optics

Methods

packedBytes :: Iso' [Word8] ByteString Source #

packedChars :: Iso' String ByteString Source #

bytes :: IxTraversal' Int64 ByteString Word8 Source #

chars :: IxTraversal' Int64 ByteString Char Source #

unpackedBytes :: IsByteString t => Iso' t [Word8] Source #

unpack (or pack) a ByteString into a list of bytes.

unpackedBytesre packedBytes
unpack x ≡ x ^. unpackedBytes
pack x ≡  x ^. re unpackedBytes
unpackedBytes :: Iso' ByteString [Word8]
unpackedBytes :: Iso' ByteString [Word8]

unpackedChars :: IsByteString t => Iso' t String Source #

unpack (or pack) a list of characters into a strict (or lazy) ByteString

When writing back to the ByteString it is assumed that every Char lies between 'x00' and 'xff'.

unpackedCharsre packedChars
unpack x ≡ x ^. unpackedChars
pack x ≡ x ^. re unpackedChars
unpackedChars :: Iso' ByteString String
unpackedChars :: Iso' ByteString String

pattern Bytes :: IsByteString t => [Word8] -> t Source #

pattern Chars :: IsByteString t => [Char] -> t Source #