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

-- | Streaming compression/decompression via conduits.
--   
--   Streaming compression/decompression via conduits.
@package zlib-conduit
@version 1.0.0

-- | Streaming compression and decompression using conduits.
--   
--   Parts of this code were taken from zlib-enum and adapted for conduits.
module Data.Conduit.Zlib

-- | Compress (deflate) a stream of ByteStrings. The
--   WindowBits also control the format (zlib vs. gzip).
compress :: (MonadUnsafeIO m, MonadThrow m) => Int -> WindowBits -> Conduit ByteString m ByteString

-- | Decompress (inflate) a stream of ByteStrings. For example:
--   
--   
--   sourceFile "test.z" $= decompress defaultWindowBits $$ sinkFile "test"
--   
decompress :: (MonadUnsafeIO m, MonadThrow m) => WindowBits -> Conduit ByteString m ByteString

-- | Gzip compression with default parameters.
gzip :: (MonadThrow m, MonadUnsafeIO m) => Conduit ByteString m ByteString

-- | Gzip decompression with default parameters.
ungzip :: (MonadUnsafeIO m, MonadThrow m) => Conduit ByteString m ByteString

-- | Same as compress, but allows you to explicitly flush the
--   stream.
compressFlush :: (MonadUnsafeIO m, MonadThrow m) => Int -> WindowBits -> Conduit (Flush ByteString) m (Flush ByteString)

-- | Same as decompress, but allows you to explicitly flush the
--   stream.
decompressFlush :: (MonadUnsafeIO m, MonadThrow m) => WindowBits -> Conduit (Flush ByteString) m (Flush ByteString)
data WindowBits :: *
WindowBits :: Int -> WindowBits
defaultWindowBits :: WindowBits
