| Copyright | (c) 2019 Emily Pillmore |
|---|---|
| License | BSD-style |
| Maintainer | Emily Pillmore <emilypi@cohomolo.gy> |
| Stability | Experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.ByteString.Base64.Lens
Description
This module contains Prism's for Base64-encoding and
decoding ByteString values.
Synopsis
- _Base64 :: Prism' ByteString ByteString
- _Base64Url :: Prism' ByteString ByteString
- _Base64Unpadded :: Prism' ByteString ByteString
- _Base64UrlUnpadded :: Prism' ByteString ByteString
- _Base64Lenient :: Iso' ByteString ByteString
- _Base64UrlLenient :: Iso' ByteString ByteString
- pattern Base64 :: ByteString -> ByteString
- pattern Base64Url :: ByteString -> ByteString
- pattern Base64Unpadded :: ByteString -> ByteString
- pattern Base64UrlUnpadded :: ByteString -> ByteString
- pattern Base64Lenient :: ByteString -> ByteString
- pattern Base64UrlLenient :: ByteString -> ByteString
Prisms
_Base64 :: Prism' ByteString ByteString Source #
A Prism' into the Base64 encoding of a ByteString value
>>>_Base64 # "Sun""U3Vu"
>>>"U3Vu" ^? _Base64Just "Sun"
_Base64Url :: Prism' ByteString ByteString Source #
A Prism' into the Base64url encoding of a ByteString value
>>>_Base64Url # "Sun""U3Vu"
>>>"PDw_Pz8-Pg==" ^? _Base64UrlJust "<<???>>"
_Base64Unpadded :: Prism' ByteString ByteString Source #
A Prism' into the unpadded Base64 encoding of a
ByteString value
Please note that unpadded variants should only be used when assumptions about the data can be made. In particular, if the length of the input is divisible by 3, then this is a safe function to call.
>>>_Base64Unpadded # "Sun""U3Vu"
>>>"U3Vu" ^? _Base64UnpaddedJust "Sun"
_Base64UrlUnpadded :: Prism' ByteString ByteString Source #
A Prism' into the Base64url encoding of a ByteString value
Please note that unpadded variants should only be used when assumptions about the data can be made. In particular, if the length of the input is divisible by 3, then this is a safe function to call.
>>>_Base64UrlUnpadded # "<<??>>""PDw_Pz4-"
>>>"PDw_Pz4-" ^? _Base64UrlUnpaddedJust "<<??>>"
_Base64Lenient :: Iso' ByteString ByteString Source #
An Iso' into the Base64 encoding of a ByteString value
using lenient decoding.
_Note:_ This is not a lawful Iso.
>>>"Sun" ^. _Base64Lenient"U3Vu"
>>>"U3Vu" ^. from _Base64Lenient"Sun"
_Base64UrlLenient :: Iso' ByteString ByteString Source #
An Iso' into the Base64url encoding of a ByteString value
using lenient decoding.
_Note:_ This is not a lawful Iso.
>>>"<<??>>" ^. _Base64UrlLenient"PDw_Pz4-"
>>>"PDw_Pz4-" ^. from _Base64UrlLenient"<<??>>"
Patterns
pattern Base64 :: ByteString -> ByteString Source #
Bidirectional pattern synonym for base64-encoded ByteString values.
pattern Base64Url :: ByteString -> ByteString Source #
Bidirectional pattern synonym for base64url-encoded ByteString values.
pattern Base64Unpadded :: ByteString -> ByteString Source #
Bidirectional pattern synonym for unpadded base64-encoded ByteString values.
pattern Base64UrlUnpadded :: ByteString -> ByteString Source #
Bidirectional pattern synonym for unpadded base64url-encoded ByteString values.
pattern Base64Lenient :: ByteString -> ByteString Source #
Bidirectional pattern synonym for leniently Base64-encoded ByteString values
pattern Base64UrlLenient :: ByteString -> ByteString Source #
Bidirectional pattern synonym for leniently Base64-encoded ByteString values