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


-- | Streaming compression/decompression via conduits.
--   
--   Streaming compression/decompression via conduits.
@package bzlib-conduit
@version 0.2.1.4

module Data.Conduit.BZlib

-- | Compress a stream of ByteStrings.
compress :: MonadResource m => CompressParams -> Conduit ByteString m ByteString

-- | Decompress a stream of ByteStrings.
decompress :: MonadResource m => DecompressParams -> Conduit ByteString m ByteString

-- | bzip2 compression with default parameters.
bzip2 :: MonadResource m => Conduit ByteString m ByteString

-- | bzip2 decompression with default parameters.
bunzip2 :: MonadResource m => Conduit ByteString m ByteString

-- | Compression parameters
data CompressParams
CompressParams :: Int -> Int -> Int -> CompressParams

-- | Compress level [1..9]. default is 9.
[cpBlockSize] :: CompressParams -> Int

-- | Verbosity mode [0..4]. default is 0.
[cpVerbosity] :: CompressParams -> Int

-- | Work factor [0..250]. default is 30.
[cpWorkFactor] :: CompressParams -> Int

-- | Decompression parameters
data DecompressParams
DecompressParams :: Int -> Bool -> DecompressParams

-- | Verbosity mode [0..4]. default is 0
[dpVerbosity] :: DecompressParams -> Int

-- | If True, use an algorithm uses less memory but slow. default is False
[dpSmall] :: DecompressParams -> Bool

-- | The default value for this type.
def :: Default a => a
instance Data.Default.Class.Default Data.Conduit.BZlib.CompressParams
instance Data.Default.Class.Default Data.Conduit.BZlib.DecompressParams
