69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| -----------------------------------------------------------------------------
 | |
| -- |
 | |
| -- Copyright   :  (c) 2006-2014 Duncan Coutts
 | |
| -- License     :  BSD-style
 | |
| --
 | |
| -- Maintainer  :  duncan@community.haskell.org
 | |
| --
 | |
| -- Compression and decompression of data streams in the raw deflate format.
 | |
| --
 | |
| -- The format is described in detail in RFC #1951:
 | |
| -- <http://www.ietf.org/rfc/rfc1951.txt>
 | |
| --
 | |
| -- See also the zlib home page: <http://zlib.net/>
 | |
| --
 | |
| -----------------------------------------------------------------------------
 | |
| module Codec.Compression.Zlib.Raw (
 | |
|   
 | |
|   -- * Simple compression and decompression
 | |
|   compress,
 | |
|   decompress,
 | |
| 
 | |
|   -- * Extended api with control over compression parameters
 | |
|   compressWith,
 | |
|   decompressWith,
 | |
| 
 | |
|   CompressParams(..), defaultCompressParams,
 | |
|   DecompressParams(..), defaultDecompressParams,
 | |
| 
 | |
|   -- ** The compression parameter types
 | |
|   CompressionLevel(..),
 | |
|     defaultCompression,
 | |
|     noCompression,
 | |
|     bestSpeed,
 | |
|     bestCompression,
 | |
|     compressionLevel,
 | |
|   Method(..),
 | |
|     deflateMethod,
 | |
|   WindowBits(..),
 | |
|     defaultWindowBits,
 | |
|     windowBits,
 | |
|   MemoryLevel(..),
 | |
|     defaultMemoryLevel,
 | |
|     minMemoryLevel,
 | |
|     maxMemoryLevel,
 | |
|     memoryLevel,
 | |
|   CompressionStrategy(..),
 | |
|     defaultStrategy,
 | |
|     filteredStrategy,
 | |
|     huffmanOnlyStrategy,
 | |
| 
 | |
|   ) where
 | |
| 
 | |
| import Data.ByteString.Lazy (ByteString)
 | |
| 
 | |
| import qualified Codec.Compression.Zlib.Internal as Internal
 | |
| import Codec.Compression.Zlib.Internal hiding (compress, decompress)
 | |
| 
 | |
| decompress :: ByteString -> ByteString
 | |
| decompress = decompressWith defaultDecompressParams
 | |
| 
 | |
| decompressWith :: DecompressParams -> ByteString -> ByteString
 | |
| decompressWith = Internal.decompress rawFormat
 | |
| 
 | |
| compress :: ByteString -> ByteString
 | |
| compress = compressWith defaultCompressParams
 | |
| 
 | |
| compressWith :: CompressParams -> ByteString -> ByteString
 | |
| compressWith = Internal.compress rawFormat
 |