-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | RFC 4648-compliant padded and unpadded base64 and base64url encodings -- -- RFC 4648-compliant padded and unpadded base64 and base64url encoding -- and decoding. @package base64 @version 0.0.1.0 -- | This module contains the combinators implementing the RFC 4648 -- specification for the Base64 encoding including unpadded and lenient -- variants module Data.ByteString.Base64 -- | Encode a ByteString in base64 with padding. -- -- See: RFC-4648 section 4 encodeBase64 :: ByteString -> ByteString -- | Decode a padded base64-encoded ByteString -- -- See: RFC-4648 section 4 decodeBase64 :: ByteString -> Either Text ByteString -- | Encode a ByteString in base64 without padding. -- -- Note: in some circumstances, the use of padding ("=") in base-encoded -- data is not required or used. This is not one of them. If you are -- absolutely sure the length of your bytestring is divisible by 3, this -- function will be the same as encodeBase64 with padding, -- however, if not, you may see garbage appended to your bytestring in -- the form of "NUL". -- -- Only call unpadded variants when you can make assumptions about the -- length of your input data. -- -- See: RFC-4648 section 3.2 encodeBase64Unpadded :: ByteString -> ByteString -- | Decode an unpadded base64-encoded ByteString -- -- See: RFC-4648 section 3.2 decodeBase64Unpadded :: ByteString -> Either Text ByteString -- | This module contains the combinators implementing the RFC 4648 -- specification for the Base64-URL encoding including unpadded and -- lenient variants module Data.ByteString.Base64.URL -- | Encode a ByteString in base64-url with padding. -- -- See: RFC-4648 section 5 encodeBase64 :: ByteString -> ByteString -- | Decode a padded base64-url encoded ByteString -- -- See: RFC-4648 section 4 decodeBase64 :: ByteString -> Either Text ByteString -- | Encode a ByteString in base64-url without padding. -- -- Note: in some circumstances, the use of padding ("=") in base-encoded -- data is not required or used. If you are absolutely sure the length of -- your input data is divisible by 3, this function will be the same as -- encodeBase64 with padding. However, if not, you may see garbage -- appended to output in the form of "NUL". -- -- Only call unpadded variants when you can make assumptions about the -- length of your input data. -- -- See: RFC-4648 section 3.2 encodeBase64Unpadded :: ByteString -> ByteString -- | Decode an unpadded base64-url encoded ByteString -- -- See: RFC-4648 section 4 decodeBase64Unpadded :: ByteString -> Either Text ByteString -- | This module contains the AsBase64 instance for Text, -- which is defined to be the collection of Prisms defining the -- RFC 4648 specification for the Base64 encoding format. -- -- In order to expose this file, you must build the package with -- '-foptics' enabled. module Data.ByteString.Base64.Lens -- | If a particular type s has a base64 representation for any of -- its focii, this class provides the optical interface for satisfying -- the padded base64 spec in RFC 4648 class AsBase64 s where { type family Base64 s; } -- | A prism into a base64-encoded focus of some type -- -- Examples: -- --
-- >>> _Base64 @Text # "Sun" -- "UV3u" -- -- -- -- >>> "PDw/Pz8+Pg==" ^? _Base64 -- Just "<<???>>" --_Base64 :: AsBase64 s => Prism' s (Base64 s) -- | A prism into the base64url-encoded focus of some type -- -- Examples: -- --
-- >>> _Base64Url @Text # "Sun" -- "UV3u" ---- --
-- >>> "PDw_Pz8-Pg==" ^? _Base64Url -- Just "<<???>>" --_Base64Url :: AsBase64 s => Prism' s (Base64 s) -- | If a particular type a has an unpadded base64 representation -- for any of its focii, this class provides the optical interface for -- satisfying the unpadded base64 spec in RFC 4648 class AsBase64Unpadded s where { type family Base64Unpadded s; } -- | A prism into the unpadded base64-encoded focus of some type _Base64Unpadded :: AsBase64Unpadded s => Prism' s (Base64Unpadded s) -- | A prism into the unpadded base64url-encoded focus of some type _Base64UrlUnpadded :: AsBase64Unpadded s => Prism' s (Base64Unpadded s) instance Data.ByteString.Base64.Lens.AsBase64Unpadded Data.ByteString.Internal.ByteString instance Data.ByteString.Base64.Lens.AsBase64 Data.ByteString.Internal.ByteString -- | This module contains the combinators implementing the RFC 4648 -- specification for the Base64 encoding including unpadded and lenient -- variants module Data.Text.Encoding.Base64 -- | Encode Text in base64 with padding. -- -- See: RFC-4648 section 5 encodeBase64 :: Text -> Text -- | Decode a padded base64 encoded Text value -- -- See: RFC-4648 section 4 decodeBase64 :: Text -> Either Text Text -- | Encode a Text in base64 without padding. -- -- Note: in some circumstances, the use of padding ("=") in base-encoded -- data is not required or used. If you are absolutely sure the length of -- your input data is divisible by 3, this function will be the same as -- encodeBase64 with padding. However, if not, you may see garbage -- appended to output in the form of "NUL". -- -- Only call unpadded variants when you can make assumptions about the -- length of your input data. -- -- See: RFC-4648 section 3.2 encodeBase64Unpadded :: Text -> Text -- | Decode an unpadded base64 encoded Text -- -- See: RFC-4648 section 4 decodeBase64Unpadded :: Text -> Either Text Text -- | This module contains the combinators implementing the RFC 4648 -- specification for the Base64-URL encoding including unpadded and -- lenient variants module Data.Text.Encoding.Base64.URL -- | Encode a Text in base64-url with padding. -- -- See: RFC-4648 section 5 encodeBase64 :: Text -> Text -- | Decode a padded base64-url encoded Text -- -- See: RFC-4648 section 4 decodeBase64 :: Text -> Either Text Text -- | Encode a Text value in base64-url without padding. -- -- Note: in some circumstances, the use of padding ("=") in base-encoded -- data is not required or used. If you are absolutely sure the length of -- your input data is divisible by 3, this function will be the same as -- encodeBase64 with padding. However, if not, you may see garbage -- appended to output in the form of "NUL". -- -- Only call unpadded variants when you can make assumptions about the -- length of your input data. -- -- See: RFC-4648 section 3.2 encodeBase64Unpadded :: Text -> Text -- | Decode an unpadded base64-url encoded Text value -- -- See: RFC-4648 section 4 decodeBase64Unpadded :: Text -> Either Text Text -- | This module contains the AsBase64 and AsBase64Unpadded -- instances for Text, which defined to be the collection of -- Prisms defining the RFC 4648 specification for the padded and -- unpadded Base64 encoding format. -- -- These typeclasses are re-exported for convenience module Data.Text.Encoding.Base64.Lens -- | If a particular type s has a base64 representation for any of -- its focii, this class provides the optical interface for satisfying -- the padded base64 spec in RFC 4648 class AsBase64 s where { type family Base64 s; } -- | A prism into a base64-encoded focus of some type -- -- Examples: -- --
-- >>> _Base64 @Text # "Sun" -- "UV3u" -- -- -- -- >>> "PDw/Pz8+Pg==" ^? _Base64 -- Just "<<???>>" --_Base64 :: AsBase64 s => Prism' s (Base64 s) -- | A prism into the base64url-encoded focus of some type -- -- Examples: -- --
-- >>> _Base64Url @Text # "Sun" -- "UV3u" ---- --
-- >>> "PDw_Pz8-Pg==" ^? _Base64Url -- Just "<<???>>" --_Base64Url :: AsBase64 s => Prism' s (Base64 s) -- | If a particular type a has an unpadded base64 representation -- for any of its focii, this class provides the optical interface for -- satisfying the unpadded base64 spec in RFC 4648 class AsBase64Unpadded s where { type family Base64Unpadded s; } -- | A prism into the unpadded base64-encoded focus of some type _Base64Unpadded :: AsBase64Unpadded s => Prism' s (Base64Unpadded s) -- | A prism into the unpadded base64url-encoded focus of some type _Base64UrlUnpadded :: AsBase64Unpadded s => Prism' s (Base64Unpadded s) instance Data.ByteString.Base64.Lens.AsBase64 Data.Text.Internal.Text instance Data.ByteString.Base64.Lens.AsBase64Unpadded Data.Text.Internal.Text