-- |
-- Module: Data.Conduit.Codec.Base16
-- Copyright: (c) 2014 Magnus Therning
-- License: BSD3
module Data.Conduit.Codec.Base16 where

import qualified Codec.Binary.Base16 as B16
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 = EncFunc -> Conduit ByteString m ByteString
forall (m :: * -> *).
Monad m =>
EncFunc -> Conduit ByteString m ByteString
U.encodeII EncFunc
B16.encode

decode :: (Monad m, MonadThrow m) => Conduit ByteString m ByteString
decode :: Conduit ByteString m ByteString
decode = DecFunc -> ByteString -> Conduit ByteString m ByteString
forall (m :: * -> *).
(Monad m, MonadThrow m) =>
DecFunc -> ByteString -> Conduit ByteString m ByteString
U.decodeII DecFunc
B16.b16Dec ByteString
empty