base64-0.1.0.0: RFC 4648-compliant padded and unpadded base64 and base64url encodings

Copyright(c) 2019 Emily Pillmore
LicenseBSD-style
MaintainerEmily Pillmore <emilypi@cohomolo.gy>
StabilityExperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Text.Encoding.Base64.Lens

Contents

Description

This module contains Prisms Base64-encoding and decoding Text values.

Synopsis

Prisms

_Base64 :: Prism' Text Text Source #

A Prism into the Base64 encoding of a Text value.

>>> _Base64 # "Sun"
"UV3u"
>>> "UV3u" ^? _Base64
Just "Sun"

_Base64Url :: Prism' Text Text Source #

A Prism into the Base64-url encoding of a Text value.

>>> _Base64Url # "Sun"
"UV3u"
>>> "PDw_Pz8-Pg==" ^? _Base64Url
Just "<<???>>"

_Base64Unpadded :: Prism' Text Text Source #

A Prism into the unpadded Base64 encoding of a Text 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"
"UV3u"
>>> "UV3u" ^? _Base64Unpadded
Just "Sun"

_Base64UrlUnpadded :: Prism' Text Text Source #

A Prism into the Base64-url encoding of a Text 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-" ^? _Base64UrlUnpadded
Just "<<??>>"

Patterns

pattern Base64 :: Text -> Text Source #

Unidirectional pattern synonym for base64-encoded Text values.

pattern Base64Url :: Text -> Text Source #

Unidirectional pattern synonym for base64url-encoded Text values.

pattern Base64Unpadded :: Text -> Text Source #

Unidirectional pattern synonym for unpadded base64-encoded Text values.

pattern Base64UrlUnpadded :: Text -> Text Source #

Unidirectional pattern synonym for unpadded base64url-encoded Text values.