module Data.Conduit.Codec.Base32Hex where
import qualified Codec.Binary.Base32Hex as B32H
import qualified Data.Conduit.Codec.Util as U
import Control.Monad.Catch (MonadThrow)
import Data.ByteString (ByteString, empty)
import Data.Conduit (Conduit)
encode :: (Monad m) => Conduit ByteString m ByteString
encode :: Conduit ByteString m ByteString
encode = EncFuncPart
-> EncFuncFinal -> ByteString -> Conduit ByteString m ByteString
forall (m :: * -> *).
Monad m =>
EncFuncPart
-> EncFuncFinal -> ByteString -> Conduit ByteString m ByteString
U.encodeI EncFuncPart
B32H.b32hEncodePart EncFuncFinal
B32H.b32hEncodeFinal ByteString
empty
decode :: (Monad m, MonadThrow m) => Conduit ByteString m ByteString
decode :: Conduit ByteString m ByteString
decode = DecFunc
-> EncFuncFinal -> ByteString -> Conduit ByteString m ByteString
forall (m :: * -> *).
(Monad m, MonadThrow m) =>
DecFunc
-> EncFuncFinal -> ByteString -> Conduit ByteString m ByteString
U.decodeI DecFunc
B32H.b32hDecodePart EncFuncFinal
B32H.b32hDecodeFinal ByteString
empty