module Data.Conduit.OpenPGP.Compression (
conduitCompress
, conduitDecompress
) where
import Codec.Encryption.OpenPGP.Compression
import Codec.Encryption.OpenPGP.Types
import Data.Conduit
import qualified Data.Conduit.List as CL
import Control.Monad.Trans.Resource (MonadThrow)
conduitCompress :: MonadThrow m => CompressionAlgorithm -> Conduit Pkt m Pkt
conduitCompress algo = CL.consume >>= \ps -> yield (compressPkts algo ps)
conduitDecompress :: MonadThrow m => Conduit Pkt m Pkt
conduitDecompress = CL.concatMap decompressPkt