-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Zlib and GZip compression and decompression for Pipes streams
--   
--   Zlib and GZip compression and decompression for Pipes streams
@package pipes-zlib
@version 0.4.4.1

-- | This module exports utilities to compress and decompress
--   pipes streams using the zlib compression codec.
--   
--   If you want to compress or decompress GZip streams, use the
--   Pipes.GZip module instead.
module Pipes.Zlib

-- | Decompress bytes flowing from a Producer.
--   
--   See the Codec.Compression.Zlib module for details about
--   WindowBits.
--   
--   
--   decompress :: MonadIO m
--              => WindowBits
--              => Producer ByteString m r
--              -> Producer ByteString m r
--   
decompress :: MonadIO m => WindowBits -> Proxy x' x () ByteString m r -> Proxy x' x () ByteString m r

-- | Decompress bytes flowing from a Producer, returning any
--   leftover input that follows the compressed stream.
decompress' :: MonadIO m => WindowBits -> Producer ByteString m r -> Producer ByteString m (Either (Producer ByteString m r) r)

-- | Compress bytes flowing from a Producer.
--   
--   See the Codec.Compression.Zlib module for details about
--   CompressionLevel and WindowBits.
--   
--   
--   compress :: MonadIO m
--            => CompressionLevel
--            -> WindowBits
--            -> Producer ByteString m r
--            -> Producer ByteString m r
--   
compress :: MonadIO m => CompressionLevel -> WindowBits -> Proxy x' x () ByteString m r -> Proxy x' x () ByteString m r

-- | How hard should we try to compress?
data CompressionLevel
defaultCompression :: CompressionLevel
noCompression :: CompressionLevel
bestSpeed :: CompressionLevel
bestCompression :: CompressionLevel

-- | A specific compression level between 0 and 9.
compressionLevel :: Int -> CompressionLevel
defaultWindowBits :: WindowBits
windowBits :: Int -> WindowBits
instance GHC.Classes.Ord Pipes.Zlib.CompressionLevel
instance GHC.Classes.Eq Pipes.Zlib.CompressionLevel
instance GHC.Read.Read Pipes.Zlib.CompressionLevel
instance GHC.Show.Show Pipes.Zlib.CompressionLevel

-- | This module exports utilities to compress and decompress GZip
--   pipes streams.
module Pipes.GZip

-- | Decompress bytes flowing from a Producer.
--   
--   
--   decompress :: MonadIO m
--              => Producer ByteString m r
--              -> Producer ByteString m r
--   
decompress :: MonadIO m => Proxy x' x () ByteString m r -> Proxy x' x () ByteString m r

-- | Decompress bytes flowing from a Producer, returning any
--   leftover input that follows the compressed stream.
decompress' :: MonadIO m => Producer ByteString m r -> Producer ByteString m (Either (Producer ByteString m r) r)

-- | Compress bytes flowing from a Producer.
--   
--   
--   compress :: MonadIO m
--            => CompressionLevel
--            -> Producer ByteString m r
--            -> Producer ByteString m r
--   
compress :: MonadIO m => CompressionLevel -> Proxy x' x () ByteString m r -> Proxy x' x () ByteString m r

-- | How hard should we try to compress?
data CompressionLevel
defaultCompression :: CompressionLevel
noCompression :: CompressionLevel
bestSpeed :: CompressionLevel
bestCompression :: CompressionLevel

-- | A specific compression level between 0 and 9.
compressionLevel :: Int -> CompressionLevel
