{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeApplications #-}
{-# OPTIONS_GHC -Wno-deprecations #-}
module Examples.TypedEncoding.Overview where
import Data.TypedEncoding
import Data.TypedEncoding.Instances.Enc.Base64 ()
import Data.TypedEncoding.Instances.Enc.Warn.Base64 ()
import Data.TypedEncoding.Instances.Restriction.ASCII ()
import Examples.TypedEncoding.Instances.Do.Sample
import Examples.TypedEncoding.Util (HasA (..))
import qualified Data.ByteString as B
import qualified Data.Text as T
helloB64 :: Enc '["enc-B64"] () B.ByteString
helloB64 :: Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
helloB64 = 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
"Hello World"
helloB64B64 :: Enc '["enc-B64","enc-B64"] () B.ByteString
helloB64B64 :: Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
helloB64B64 = Enc @[Symbol] ('[] @Symbol) () ByteString
-> Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @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 "enc-B64" ('[] @Symbol)))
()
ByteString)
-> (ByteString -> Enc @[Symbol] ('[] @Symbol) () ByteString)
-> ByteString
-> Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @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 "enc-B64" ('[] @Symbol)))
()
ByteString)
-> ByteString
-> Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
forall a b. (a -> b) -> a -> b
$ ByteString
"Hello World"
helloB64Decoded :: B.ByteString
helloB64Decoded :: ByteString
helloB64Decoded = Enc @[Symbol] ('[] @Symbol) () ByteString -> ByteString
forall k conf str. Enc @[k] ('[] @k) conf str -> str
fromEncoding (Enc @[Symbol] ('[] @Symbol) () ByteString -> ByteString)
-> (Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
-> Enc @[Symbol] ('[] @Symbol) () ByteString)
-> Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
-> ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
-> Enc @[Symbol] ('[] @Symbol) () ByteString
forall (nms :: [Symbol]) c str.
DecodeAll Identity nms nms c str =>
Enc @[Symbol] nms c str -> Enc @[Symbol] ('[] @Symbol) c str
decodeAll (Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
-> ByteString)
-> Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
-> ByteString
forall a b. (a -> b) -> a -> b
$ Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
helloB64
helloB64Recovered :: Either RecreateEx (Enc '["enc-B64"] () B.ByteString)
helloB64Recovered :: Either
RecreateEx
(Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString)
helloB64Recovered = Enc @[Symbol] ('[] @Symbol) () ByteString
-> Either
RecreateEx
(Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString)
forall (nms :: [Symbol]) (f :: * -> *) c str.
(Monad f, ValidateAll f nms nms c str) =>
Enc @[Symbol] ('[] @Symbol) c str -> f (Enc @[Symbol] nms c str)
recreateFAll (Enc @[Symbol] ('[] @Symbol) () ByteString
-> Either
RecreateEx
(Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString))
-> (ByteString -> Enc @[Symbol] ('[] @Symbol) () ByteString)
-> ByteString
-> Either
RecreateEx
(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
-> Either
RecreateEx
(Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString))
-> ByteString
-> Either
RecreateEx
(Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString)
forall a b. (a -> b) -> a -> b
$ ByteString
"SGVsbG8gV29ybGQ="
helloB64B64PartDecode :: Enc '["enc-B64"] () B.ByteString
helloB64B64PartDecode :: Enc @[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
helloB64B64PartDecode = Enc
@[Symbol]
(Append
@Symbol
((':) @Symbol "enc-B64" ('[] @Symbol))
((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
-> Enc
@[Symbol] ((':) @Symbol "enc-B64" ('[] @Symbol)) () ByteString
forall (xs :: [Symbol]) (xsf :: [Symbol]) c str.
DecodeAll Identity xs xs c str =>
Enc @[Symbol] (Append @Symbol xs xsf) c str
-> Enc @[Symbol] xsf c str
decodePart @'["enc-B64"] Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
Enc
@[Symbol]
(Append
@Symbol
((':) @Symbol "enc-B64" ('[] @Symbol))
((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
helloB64B64
helloB64B64Decoded :: B.ByteString
helloB64B64Decoded :: ByteString
helloB64B64Decoded = Enc @[Symbol] ('[] @Symbol) () ByteString -> ByteString
forall k conf str. Enc @[k] ('[] @k) conf str -> str
fromEncoding (Enc @[Symbol] ('[] @Symbol) () ByteString -> ByteString)
-> (Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
-> Enc @[Symbol] ('[] @Symbol) () ByteString)
-> Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
-> ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
-> Enc @[Symbol] ('[] @Symbol) () ByteString
forall (nms :: [Symbol]) c str.
DecodeAll Identity nms nms c str =>
Enc @[Symbol] nms c str -> Enc @[Symbol] ('[] @Symbol) c str
decodeAll (Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
-> ByteString)
-> Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
-> ByteString
forall a b. (a -> b) -> a -> b
$ Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString
helloB64B64
helloB64B64RecoveredErr :: Either RecreateEx (Enc '["enc-B64", "enc-B64"] () B.ByteString)
helloB64B64RecoveredErr :: Either
RecreateEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString)
helloB64B64RecoveredErr = Enc @[Symbol] ('[] @Symbol) () ByteString
-> Either
RecreateEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString)
forall (nms :: [Symbol]) (f :: * -> *) c str.
(Monad f, ValidateAll f nms nms c str) =>
Enc @[Symbol] ('[] @Symbol) c str -> f (Enc @[Symbol] nms c str)
recreateFAll (Enc @[Symbol] ('[] @Symbol) () ByteString
-> Either
RecreateEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString))
-> (ByteString -> Enc @[Symbol] ('[] @Symbol) () ByteString)
-> ByteString
-> Either
RecreateEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @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
-> Either
RecreateEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString))
-> ByteString
-> Either
RecreateEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "enc-B64" ('[] @Symbol)))
()
ByteString)
forall a b. (a -> b) -> a -> b
$ ByteString
"SGVsbG8gV29ybGQ="
helloUPP :: Enc '["do-UPPER"] () T.Text
helloUPP :: Enc @[Symbol] ((':) @Symbol "do-UPPER" ('[] @Symbol)) () Text
helloUPP = Enc @[Symbol] ('[] @Symbol) () Text
-> Enc @[Symbol] ((':) @Symbol "do-UPPER" ('[] @Symbol)) () Text
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) () Text
-> Enc @[Symbol] ((':) @Symbol "do-UPPER" ('[] @Symbol)) () Text)
-> (Text -> Enc @[Symbol] ('[] @Symbol) () Text)
-> Text
-> Enc @[Symbol] ((':) @Symbol "do-UPPER" ('[] @Symbol)) () Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Text -> Enc @[Symbol] ('[] @Symbol) () Text
forall conf str.
conf -> str -> Enc @[Symbol] ('[] @Symbol) conf str
toEncoding () (Text
-> Enc @[Symbol] ((':) @Symbol "do-UPPER" ('[] @Symbol)) () Text)
-> Text
-> Enc @[Symbol] ((':) @Symbol "do-UPPER" ('[] @Symbol)) () Text
forall a b. (a -> b) -> a -> b
$ Text
"Hello World"
helloTitleRev :: Enc '["do-reverse", "do-Title"] () T.Text
helloTitleRev :: Enc
@[Symbol]
((':) @Symbol "do-reverse" ((':) @Symbol "do-Title" ('[] @Symbol)))
()
Text
helloTitleRev = Enc @[Symbol] ('[] @Symbol) () Text
-> Enc
@[Symbol]
((':) @Symbol "do-reverse" ((':) @Symbol "do-Title" ('[] @Symbol)))
()
Text
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) () Text
-> Enc
@[Symbol]
((':) @Symbol "do-reverse" ((':) @Symbol "do-Title" ('[] @Symbol)))
()
Text)
-> (Text -> Enc @[Symbol] ('[] @Symbol) () Text)
-> Text
-> Enc
@[Symbol]
((':) @Symbol "do-reverse" ((':) @Symbol "do-Title" ('[] @Symbol)))
()
Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Text -> Enc @[Symbol] ('[] @Symbol) () Text
forall conf str.
conf -> str -> Enc @[Symbol] ('[] @Symbol) conf str
toEncoding () (Text
-> Enc
@[Symbol]
((':) @Symbol "do-reverse" ((':) @Symbol "do-Title" ('[] @Symbol)))
()
Text)
-> Text
-> Enc
@[Symbol]
((':) @Symbol "do-reverse" ((':) @Symbol "do-Title" ('[] @Symbol)))
()
Text
forall a b. (a -> b) -> a -> b
$ Text
"HeLLo world"
newtype Config = Config {
Config -> SizeLimit
sizeLimit :: SizeLimit
} deriving (Int -> Config -> ShowS
[Config] -> ShowS
Config -> String
(Int -> Config -> ShowS)
-> (Config -> String) -> ([Config] -> ShowS) -> Show Config
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Config] -> ShowS
$cshowList :: [Config] -> ShowS
show :: Config -> String
$cshow :: Config -> String
showsPrec :: Int -> Config -> ShowS
$cshowsPrec :: Int -> Config -> ShowS
Show)
exampleConf :: Config
exampleConf = SizeLimit -> Config
Config (Int -> SizeLimit
SizeLimit Int
8)
instance HasA SizeLimit Config where
has :: Config -> SizeLimit
has = Config -> SizeLimit
sizeLimit
helloTitle :: Enc '["do-Title"] Config T.Text
helloTitle :: Enc @[Symbol] ((':) @Symbol "do-Title" ('[] @Symbol)) Config Text
helloTitle = Enc @[Symbol] ('[] @Symbol) Config Text
-> Enc
@[Symbol] ((':) @Symbol "do-Title" ('[] @Symbol)) Config Text
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) Config Text
-> Enc
@[Symbol] ((':) @Symbol "do-Title" ('[] @Symbol)) Config Text)
-> (Text -> Enc @[Symbol] ('[] @Symbol) Config Text)
-> Text
-> Enc
@[Symbol] ((':) @Symbol "do-Title" ('[] @Symbol)) Config Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Config -> Text -> Enc @[Symbol] ('[] @Symbol) Config Text
forall conf str.
conf -> str -> Enc @[Symbol] ('[] @Symbol) conf str
toEncoding Config
exampleConf (Text
-> Enc
@[Symbol] ((':) @Symbol "do-Title" ('[] @Symbol)) Config Text)
-> Text
-> Enc
@[Symbol] ((':) @Symbol "do-Title" ('[] @Symbol)) Config Text
forall a b. (a -> b) -> a -> b
$ Text
"hello wOrld"
helloRevLimit :: Enc '["do-size-limit", "do-reverse", "do-Title"] Config T.Text
helloRevLimit :: Enc
@[Symbol]
((':)
@Symbol
"do-size-limit"
((':)
@Symbol "do-reverse" ((':) @Symbol "do-Title" ('[] @Symbol))))
Config
Text
helloRevLimit = Enc @[Symbol] ((':) @Symbol "do-Title" ('[] @Symbol)) Config Text
-> Enc
@[Symbol]
(Append
@Symbol
((':)
@Symbol "do-size-limit" ((':) @Symbol "do-reverse" ('[] @Symbol)))
((':) @Symbol "do-Title" ('[] @Symbol)))
Config
Text
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 @'["do-size-limit", "do-reverse"] Enc @[Symbol] ((':) @Symbol "do-Title" ('[] @Symbol)) Config Text
helloTitle
helloLimitB64 :: Enc '["enc-B64", "do-size-limit"] Config B.ByteString
helloLimitB64 :: Enc
@[Symbol]
((':)
@Symbol "enc-B64" ((':) @Symbol "do-size-limit" ('[] @Symbol)))
Config
ByteString
helloLimitB64 = Enc @[Symbol] ('[] @Symbol) Config ByteString
-> Enc
@[Symbol]
((':)
@Symbol "enc-B64" ((':) @Symbol "do-size-limit" ('[] @Symbol)))
Config
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) Config ByteString
-> Enc
@[Symbol]
((':)
@Symbol "enc-B64" ((':) @Symbol "do-size-limit" ('[] @Symbol)))
Config
ByteString)
-> (ByteString -> Enc @[Symbol] ('[] @Symbol) Config ByteString)
-> ByteString
-> Enc
@[Symbol]
((':)
@Symbol "enc-B64" ((':) @Symbol "do-size-limit" ('[] @Symbol)))
Config
ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Config
-> ByteString -> Enc @[Symbol] ('[] @Symbol) Config ByteString
forall conf str.
conf -> str -> Enc @[Symbol] ('[] @Symbol) conf str
toEncoding Config
exampleConf (ByteString
-> Enc
@[Symbol]
((':)
@Symbol "enc-B64" ((':) @Symbol "do-size-limit" ('[] @Symbol)))
Config
ByteString)
-> ByteString
-> Enc
@[Symbol]
((':)
@Symbol "enc-B64" ((':) @Symbol "do-size-limit" ('[] @Symbol)))
Config
ByteString
forall a b. (a -> b) -> a -> b
$ ByteString
"HeLlo world"
helloRevLimitParDec :: Enc '["do-size-limit"] Config B.ByteString
helloRevLimitParDec :: Enc
@[Symbol]
((':) @Symbol "do-size-limit" ('[] @Symbol))
Config
ByteString
helloRevLimitParDec = Enc
@[Symbol]
(Append
@Symbol
((':) @Symbol "enc-B64" ('[] @Symbol))
((':) @Symbol "do-size-limit" ('[] @Symbol)))
Config
ByteString
-> Enc
@[Symbol]
((':) @Symbol "do-size-limit" ('[] @Symbol))
Config
ByteString
forall (xs :: [Symbol]) (xsf :: [Symbol]) c str.
DecodeAll Identity xs xs c str =>
Enc @[Symbol] (Append @Symbol xs xsf) c str
-> Enc @[Symbol] xsf c str
decodePart @'["enc-B64"] Enc
@[Symbol]
((':)
@Symbol "enc-B64" ((':) @Symbol "do-size-limit" ('[] @Symbol)))
Config
ByteString
Enc
@[Symbol]
(Append
@Symbol
((':) @Symbol "enc-B64" ('[] @Symbol))
((':) @Symbol "do-size-limit" ('[] @Symbol)))
Config
ByteString
helloLimitB64
helloAscii :: Either EncodeEx (Enc '["r-ASCII"] () B.ByteString)
helloAscii :: Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString)
helloAscii = Enc @[Symbol] ('[] @Symbol) () ByteString
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString)
forall (nms :: [Symbol]) (f :: * -> *) c str.
(Monad f, EncodeAll f nms nms c str) =>
Enc @[Symbol] ('[] @Symbol) c str -> f (Enc @[Symbol] nms c str)
encodeFAll (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"
helloAsciiB64 :: Either EncodeEx (Enc '["enc-B64", "r-ASCII"] () B.ByteString)
helloAsciiB64 :: Either
EncodeEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-ASCII" ('[] @Symbol)))
()
ByteString)
helloAsciiB64 = Enc @[Symbol] ('[] @Symbol) () ByteString
-> Either
EncodeEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-ASCII" ('[] @Symbol)))
()
ByteString)
forall (nms :: [Symbol]) (f :: * -> *) c str.
(Monad f, EncodeAll f nms nms c str) =>
Enc @[Symbol] ('[] @Symbol) c str -> f (Enc @[Symbol] nms c str)
encodeFAll (Enc @[Symbol] ('[] @Symbol) () ByteString
-> Either
EncodeEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-ASCII" ('[] @Symbol)))
()
ByteString))
-> (ByteString -> Enc @[Symbol] ('[] @Symbol) () ByteString)
-> ByteString
-> Either
EncodeEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @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 "enc-B64" ((':) @Symbol "r-ASCII" ('[] @Symbol)))
()
ByteString))
-> ByteString
-> Either
EncodeEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-ASCII" ('[] @Symbol)))
()
ByteString)
forall a b. (a -> b) -> a -> b
$ ByteString
"Hello World"
helloAsciiB64PartDec :: Either EncodeEx (Enc '["r-ASCII"] () B.ByteString)
helloAsciiB64PartDec :: Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString)
helloAsciiB64PartDec = forall (xs :: [Symbol]) (xsf :: [Symbol]) c str.
DecodeAll Identity xs xs c str =>
Enc @[Symbol] (Append @Symbol xs xsf) c str
-> Enc @[Symbol] xsf c str
forall (xsf :: [Symbol]) c str.
DecodeAll
Identity
((':) @Symbol "enc-B64" ('[] @Symbol))
((':) @Symbol "enc-B64" ('[] @Symbol))
c
str =>
Enc
@[Symbol]
(Append @Symbol ((':) @Symbol "enc-B64" ('[] @Symbol)) xsf)
c
str
-> Enc @[Symbol] xsf c str
decodePart @'["enc-B64"] (Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-ASCII" ('[] @Symbol)))
()
ByteString
-> Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString)
-> Either
EncodeEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-ASCII" ('[] @Symbol)))
()
ByteString)
-> Either
EncodeEx
(Enc
@[Symbol] ((':) @Symbol "r-ASCII" ('[] @Symbol)) () ByteString)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Either
EncodeEx
(Enc
@[Symbol]
((':) @Symbol "enc-B64" ((':) @Symbol "r-ASCII" ('[] @Symbol)))
()
ByteString)
helloAsciiB64