{-# LANGUAGE DataKinds #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeApplications #-}
module Examples.TypedEncoding.Conversions where
import Data.TypedEncoding
import Data.TypedEncoding.Instances.Enc.Base64 ()
import Data.TypedEncoding.Instances.Restriction.Base64 ()
import Data.TypedEncoding.Instances.Restriction.ASCII ()
import Data.TypedEncoding.Instances.Restriction.UTF8 ()
import Data.TypedEncoding.Instances.Restriction.D76 ()
import Data.TypedEncoding.Instances.Restriction.ByteRep ()
import qualified Data.TypedEncoding.Conv.Text as EncT
import qualified Data.TypedEncoding.Conv.Text.Encoding as EncTe
import qualified Data.Text as T
import qualified Data.ByteString as B
import GHC.TypeLits
import qualified Data.TypedEncoding.Conv.ByteString.Char8 as EncB8
import Data.TypedEncoding.Instances.Restriction.BoundedAlphaNums ()
eHelloAsciiB :: Either EncodeEx (Enc '["r-ASCII"] () B.ByteString)
eHelloAsciiB :: Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString)
eHelloAsciiB = Encodings
(Either EncodeEx)
((':) @Symbol "r-ASCII" ('[] @Symbol))
((':) @Symbol "r-ASCII" ('[] @Symbol))
()
ByteString
-> Enc @[Symbol] ('[] @Symbol) () ByteString
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString)
forall (nms :: [Symbol]) (f :: * -> *) c str (algs :: [Symbol]).
(Monad f, (algs :: [Symbol]) ~ (AlgNmMap nms :: [Symbol])) =>
Encodings f nms algs c str
-> Enc @[Symbol] ('[] @Symbol) c str -> f (Enc @[Symbol] nms c str)
_runEncodings Encodings
(Either EncodeEx)
((':) @Symbol "r-ASCII" ('[] @Symbol))
((':) @Symbol "r-ASCII" ('[] @Symbol))
()
ByteString
forall (f :: * -> *) (nms :: [Symbol]) (algs :: [Symbol]) conf str.
EncodeAll f nms algs conf str =>
Encodings f nms algs conf str
encodings (Enc @[Symbol] ('[] @Symbol) () ByteString
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString))
-> (ByteString -> Enc @[Symbol] ('[] @Symbol) () ByteString)
-> ByteString
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> ByteString -> Enc @[Symbol] ('[] @Symbol) () ByteString
forall conf str.
conf -> str -> Enc @[Symbol] ('[] @Symbol) conf str
toEncoding () (ByteString
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString))
-> ByteString
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString)
forall a b. (a -> b) -> a -> b
$ ByteString
"HeLlo world"
Right Enc @[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString
helloAsciiB = Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString)
eHelloAsciiB
helloAsciiT :: Enc '["r-ASCII"] () T.Text
helloAsciiT :: Enc @[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () Text
helloAsciiT = Enc @[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString
-> Enc @[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () Text
forall (xs :: [Symbol]) c t (y :: Symbol) (ys :: [Symbol])
(encs :: [Symbol]).
((UnSnoc @Symbol xs :: ([Symbol], Symbol))
~ ('(ys, y) :: ([Symbol], Symbol)),
Superset "r-UTF8" y,
(encs :: [Symbol]) ~ (RemoveRs ys :: [Symbol]),
AllEncodeInto "r-UTF8" encs) =>
Enc @[Symbol] xs c ByteString -> Enc @[Symbol] xs c Text
EncTe.decodeUtf8 Enc @[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString
helloAsciiB
helloZero :: Enc ('[] :: [Symbol]) () String
helloZero :: Enc @[Symbol] ('[] @Symbol) () String
helloZero = () -> String -> Enc @[Symbol] ('[] @Symbol) () String
forall conf str.
conf -> str -> Enc @[Symbol] ('[] @Symbol) conf str
toEncoding () String
"Hello"
helloRestricted :: Either EncodeEx (Enc '["r-ban:zzzzz"] () B.ByteString)
helloRestricted :: Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () ByteString)
helloRestricted = (Enc @[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () String
-> Enc
@[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () ByteString)
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () String)
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () ByteString)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Enc @[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () String
-> Enc
@[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () ByteString
forall (xs :: [Symbol]) (ys :: [Symbol]) (y :: Symbol)
(encs :: [Symbol]) c.
((UnSnoc @Symbol xs :: ([Symbol], Symbol))
~ ('(ys, y) :: ([Symbol], Symbol)),
Superset "r-CHAR8" y,
(encs :: [Symbol]) ~ (RemoveRs ys :: [Symbol]),
AllEncodeInto "r-CHAR8" encs) =>
Enc @[Symbol] xs c String -> Enc @[Symbol] xs c ByteString
EncB8.pack (Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () String)
-> Either
EncodeEx
(Enc
@[Symbol]
((':) @Symbol "r-ban:zzzzz" ('[] @Symbol))
()
ByteString))
-> (Enc @[Symbol] ('[] @Symbol) () String
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () String))
-> Enc @[Symbol] ('[] @Symbol) () String
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () ByteString)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Encodings
(Either EncodeEx)
((':) @Symbol "r-ban:zzzzz" ('[] @Symbol))
((':) @Symbol "r-ban" ('[] @Symbol))
()
String
-> Enc @[Symbol] ('[] @Symbol) () String
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () String)
forall (nms :: [Symbol]) (f :: * -> *) c str (algs :: [Symbol]).
(Monad f, (algs :: [Symbol]) ~ (AlgNmMap nms :: [Symbol])) =>
Encodings f nms algs c str
-> Enc @[Symbol] ('[] @Symbol) c str -> f (Enc @[Symbol] nms c str)
_runEncodings Encodings
(Either EncodeEx)
((':) @Symbol "r-ban:zzzzz" ('[] @Symbol))
((':) @Symbol "r-ban" ('[] @Symbol))
()
String
forall (f :: * -> *) (nms :: [Symbol]) (algs :: [Symbol]) conf str.
EncodeAll f nms algs conf str =>
Encodings f nms algs conf str
encodings (Enc @[Symbol] ('[] @Symbol) () String
-> Either
EncodeEx
(Enc
@[Symbol]
((':) @Symbol "r-ban:zzzzz" ('[] @Symbol))
()
ByteString))
-> Enc @[Symbol] ('[] @Symbol) () String
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ban:zzzzz" ('[] @Symbol)) () ByteString)
forall a b. (a -> b) -> a -> b
$ () -> String -> Enc @[Symbol] ('[] @Symbol) () String
forall conf str.
conf -> str -> Enc @[Symbol] ('[] @Symbol) conf str
toEncoding () String
"Hello"
byteRep :: Either EncodeEx (Enc '["r-ByteRep"] () B.ByteString)
byteRep :: Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () ByteString)
byteRep = (Enc @[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () String
-> Enc
@[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () ByteString)
-> Either
EncodeEx
(Enc @[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () String)
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () ByteString)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Enc @[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () String
-> Enc
@[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () ByteString
forall (xs :: [Symbol]) (ys :: [Symbol]) (y :: Symbol)
(encs :: [Symbol]) c.
((UnSnoc @Symbol xs :: ([Symbol], Symbol))
~ ('(ys, y) :: ([Symbol], Symbol)),
Superset "r-CHAR8" y,
(encs :: [Symbol]) ~ (RemoveRs ys :: [Symbol]),
AllEncodeInto "r-CHAR8" encs) =>
Enc @[Symbol] xs c String -> Enc @[Symbol] xs c ByteString
EncB8.pack (Either
EncodeEx
(Enc @[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () String)
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () ByteString))
-> (Enc @[Symbol] ('[] @Symbol) () String
-> Either
EncodeEx
(Enc @[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () String))
-> Enc @[Symbol] ('[] @Symbol) () String
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () ByteString)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Encodings
(Either EncodeEx)
((':) @Symbol "r-ByteRep" ('[] @Symbol))
((':) @Symbol "r-ByteRep" ('[] @Symbol))
()
String
-> Enc @[Symbol] ('[] @Symbol) () String
-> Either
EncodeEx
(Enc @[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () String)
forall (nms :: [Symbol]) (f :: * -> *) c str (algs :: [Symbol]).
(Monad f, (algs :: [Symbol]) ~ (AlgNmMap nms :: [Symbol])) =>
Encodings f nms algs c str
-> Enc @[Symbol] ('[] @Symbol) c str -> f (Enc @[Symbol] nms c str)
_runEncodings Encodings
(Either EncodeEx)
((':) @Symbol "r-ByteRep" ('[] @Symbol))
((':) @Symbol "r-ByteRep" ('[] @Symbol))
()
String
forall (f :: * -> *) (nms :: [Symbol]) (algs :: [Symbol]) conf str.
EncodeAll f nms algs conf str =>
Encodings f nms algs conf str
encodings (Enc @[Symbol] ('[] @Symbol) () String
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () ByteString))
-> Enc @[Symbol] ('[] @Symbol) () String
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ByteRep" ('[] @Symbol)) () ByteString)
forall a b. (a -> b) -> a -> b
$ () -> String -> Enc @[Symbol] ('[] @Symbol) () String
forall conf str.
conf -> str -> Enc @[Symbol] ('[] @Symbol) conf str
toEncoding () String
"\254"
helloUtf8B64B :: Enc '["enc-B64", "r-UTF8"] () B.ByteString
helloUtf8B64B :: Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
ByteString
helloUtf8B64B = Enc @[Symbol] ((':) @Symbol "r-UTF8" ('[] @Symbol)) () ByteString
-> Enc
@[Symbol]
(Append
@Symbol
((':) @Symbol "enc-B64" ('[] @Symbol))
((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
ByteString
forall (xs :: [Symbol]) (xsf :: [Symbol]) c str.
EncodeAll Identity xs xs c str =>
Enc @[Symbol] xsf c str
-> Enc @[Symbol] (Append @Symbol xs xsf) c str
encodePart @'["enc-B64"] Enc @[Symbol] ((':) @Symbol "r-UTF8" ('[] @Symbol)) () ByteString
helloUtf8B
helloUtf8B64T :: Enc '["enc-B64"] () T.Text
helloUtf8B64T :: Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () Text
helloUtf8B64T = Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
Text
-> Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () Text
forall (xs :: [Symbol]) (ys :: [Symbol]) c.
((UnSnoc @Symbol xs :: ([Symbol], Symbol))
~ ('(ys, "r-UTF8") :: ([Symbol], Symbol))) =>
Enc @[Symbol] xs c Text -> Enc @[Symbol] ys c Text
EncT.utf8Demote (Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
Text
-> Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () Text)
-> (Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
ByteString
-> Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
Text)
-> Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
ByteString
-> Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
ByteString
-> Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
Text
forall (xs :: [Symbol]) c t (y :: Symbol) (ys :: [Symbol])
(encs :: [Symbol]).
((UnSnoc @Symbol xs :: ([Symbol], Symbol))
~ ('(ys, y) :: ([Symbol], Symbol)),
Superset "r-UTF8" y,
(encs :: [Symbol]) ~ (RemoveRs ys :: [Symbol]),
AllEncodeInto "r-UTF8" encs) =>
Enc @[Symbol] xs c ByteString -> Enc @[Symbol] xs c Text
EncTe.decodeUtf8 (Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
ByteString
-> Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () Text)
-> Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
ByteString
-> Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () Text
forall a b. (a -> b) -> a -> b
$ Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
ByteString
helloUtf8B64B
notTextB :: Enc '["enc-B64"] () B.ByteString
notTextB :: Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
notTextB = Enc @[Symbol] ('[] @Symbol) () ByteString
-> Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
forall (nms :: [Symbol]) c str.
EncodeAll Identity nms nms c str =>
Enc @[Symbol] ('[] @Symbol) c str -> Enc @[Symbol] nms c str
encodeAll (Enc @[Symbol] ('[] @Symbol) () ByteString
-> Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString)
-> (ByteString -> Enc @[Symbol] ('[] @Symbol) () ByteString)
-> ByteString
-> Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> ByteString -> Enc @[Symbol] ('[] @Symbol) () ByteString
forall conf str.
conf -> str -> Enc @[Symbol] ('[] @Symbol) conf str
toEncoding () (ByteString
-> Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString)
-> ByteString
-> Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
forall a b. (a -> b) -> a -> b
$ ByteString
"\195\177"
helloUtf8B :: Enc '["r-UTF8"] () B.ByteString
helloUtf8B :: Enc @[Symbol] ((':) @Symbol "r-UTF8" ('[] @Symbol)) () ByteString
helloUtf8B = Enc @[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString
-> Enc
@[Symbol] ((':) @Symbol "r-UTF8" ('[] @Symbol)) () ByteString
forall (y :: Symbol) (x :: Symbol) (xs :: [Symbol]) c str.
((IsSuperset y x :: Bool) ~ ('True :: Bool)) =>
Enc @[Symbol] ((':) @Symbol x xs) c str
-> Enc @[Symbol] ((':) @Symbol y xs) c str
injectInto Enc @[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString
helloAsciiB
notTextBB64Ascii :: Enc '["r-ASCII", "enc-B64"] () B.ByteString
notTextBB64Ascii :: Enc
@[Symbol]
((':) @Symbol "r-ASCII" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
notTextBB64Ascii = Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
-> Enc
@[Symbol]
((':) @Symbol "r-ASCII" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
forall (y :: Symbol) (enc :: Symbol) (xs :: [Symbol]) c str
(r :: Symbol).
((IsSuperset y r :: Bool) ~ ('True :: Bool), EncodingSuperset enc,
(r :: Symbol) ~ (EncSuperset enc :: Symbol)) =>
Enc @[Symbol] ((':) @Symbol enc xs) c str
-> Enc @[Symbol] ((':) @Symbol y ((':) @Symbol enc xs)) c str
_encodesInto Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
notTextB
notTextB64AsTxt :: Enc '["r-B64"] () T.Text
notTextB64AsTxt :: Enc @[Symbol] ((':) @Symbol "r-B64" ('[] @Symbol)) () Text
notTextB64AsTxt = Enc @[Symbol] ((':) @Symbol "r-B64" ('[] @Symbol)) () ByteString
-> Enc @[Symbol] ((':) @Symbol "r-B64" ('[] @Symbol)) () Text
forall (xs :: [Symbol]) c t (y :: Symbol) (ys :: [Symbol])
(encs :: [Symbol]).
((UnSnoc @Symbol xs :: ([Symbol], Symbol))
~ ('(ys, y) :: ([Symbol], Symbol)),
Superset "r-UTF8" y,
(encs :: [Symbol]) ~ (RemoveRs ys :: [Symbol]),
AllEncodeInto "r-UTF8" encs) =>
Enc @[Symbol] xs c ByteString -> Enc @[Symbol] xs c Text
EncTe.decodeUtf8 (Enc @[Symbol] ((':) @Symbol "r-B64" ('[] @Symbol)) () ByteString
-> Enc @[Symbol] ((':) @Symbol "r-B64" ('[] @Symbol)) () Text)
-> Enc @[Symbol] ((':) @Symbol "r-B64" ('[] @Symbol)) () ByteString
-> Enc @[Symbol] ((':) @Symbol "r-B64" ('[] @Symbol)) () Text
forall a b. (a -> b) -> a -> b
$ Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
-> Enc @[Symbol] ((':) @Symbol "r-B64" ('[] @Symbol)) () ByteString
forall (y :: Symbol) (x :: Symbol) (xs :: [Symbol]) c str.
FlattenAs y x =>
Enc @[Symbol] ((':) @Symbol x xs) c str
-> Enc @[Symbol] ((':) @Symbol y ('[] @Symbol)) c str
flattenAs Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
notTextB
lenientSomething :: Enc '["enc-B64-len"] () B.ByteString
lenientSomething :: Enc
@[Symbol] ((':) @Symbol "enc-B64-len" ('[] @Symbol)) () ByteString
lenientSomething = Enc @[Symbol] ('[] @Symbol) () ByteString
-> Enc
@[Symbol] ((':) @Symbol "enc-B64-len" ('[] @Symbol)) () ByteString
forall (nms :: [Symbol]) c str.
ValidateAll Identity nms nms c str =>
Enc @[Symbol] ('[] @Symbol) c str -> Enc @[Symbol] nms c str
recreateAll (Enc @[Symbol] ('[] @Symbol) () ByteString
-> Enc
@[Symbol] ((':) @Symbol "enc-B64-len" ('[] @Symbol)) () ByteString)
-> (ByteString -> Enc @[Symbol] ('[] @Symbol) () ByteString)
-> ByteString
-> Enc
@[Symbol] ((':) @Symbol "enc-B64-len" ('[] @Symbol)) () ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> ByteString -> Enc @[Symbol] ('[] @Symbol) () ByteString
forall conf str.
conf -> str -> Enc @[Symbol] ('[] @Symbol) conf str
toEncoding () (ByteString
-> Enc
@[Symbol] ((':) @Symbol "enc-B64-len" ('[] @Symbol)) () ByteString)
-> ByteString
-> Enc
@[Symbol] ((':) @Symbol "enc-B64-len" ('[] @Symbol)) () ByteString
forall a b. (a -> b) -> a -> b
$ ByteString
"abc==CB"
b64IsAscii :: Enc '["r-ASCII"] () B.ByteString
b64IsAscii :: Enc @[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString
b64IsAscii = Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
ByteString
-> Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString
forall (y :: Symbol) (x :: Symbol) (xs :: [Symbol]) c str.
FlattenAs y x =>
Enc @[Symbol] ((':) @Symbol x xs) c str
-> Enc @[Symbol] ((':) @Symbol y ('[] @Symbol)) c str
flattenAs Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-UTF8" ('[] @Symbol)))
()
ByteString
helloUtf8B64B