1#![crate_type = "lib"]
36#![cfg_attr(not(feature = "std"), no_std)]
37
38#[cfg(feature = "std")]
39pub(crate) use std as core;
40
41#[cfg(not(feature = "std"))]
42pub(crate) use core;
43
44#[cfg(not(feature = "std"))]
45extern crate alloc;
47
48mod action;
49mod adler32;
50mod bitset;
51mod bucket_sort;
52mod cbuffer;
53mod crc32;
54mod error;
55
56mod bitio;
57mod suffix_array;
58
59mod huffman;
60mod lzss;
61mod traits;
62
63mod bzip2;
64mod deflate;
65mod lzhuf;
66
67mod gzip;
68mod zlib;
69
70pub mod prelude {
71 pub use crate::action::Action;
72 use cfg_if::cfg_if;
73
74 cfg_if! {
75 if #[cfg(feature = "bzip2")] {
76 pub use crate::bzip2::decoder::BZip2Decoder;
77 pub use crate::bzip2::encoder::BZip2Encoder;
78 pub use crate::bzip2::error::BZip2Error;
79 }
80 }
81
82 cfg_if! {
83 if #[cfg(feature = "deflate")] {
84 pub use crate::deflate::decoder::Deflater;
85 pub use crate::deflate::encoder::Inflater;
86 }
87 }
88 cfg_if! {
89 if #[cfg(feature = "gzip")] {
90 pub use crate::gzip::decoder::GZipDecoder;
91 pub use crate::gzip::encoder::GZipEncoder;
92 }
93 }
94 cfg_if! {
95 if #[cfg(feature = "lzhuf")] {
96 pub use crate::lzhuf::LzhufMethod;
97 pub use crate::lzhuf::decoder::LzhufDecoder;
98 pub use crate::lzhuf::encoder::LzhufEncoder;
99 }
100 }
101 cfg_if! {
102 if #[cfg(feature = "zlib")] {
103 pub use crate::zlib::decoder::ZlibDecoder;
104 pub use crate::zlib::encoder::ZlibEncoder;
105 }
106 }
107 cfg_if! {
108 if #[cfg(feature = "lzss")] {
109 pub use crate::lzss::decoder::LzssDecoder;
110 pub use crate::lzss::encoder::LzssEncoder;
111 pub use crate::lzss::LzssCode;
112 }
113 }
114 pub use crate::error::CompressionError;
115 pub use crate::traits::decoder::{DecodeExt, DecodeIterator, Decoder};
116 pub use crate::traits::encoder::{EncodeExt, EncodeIterator, Encoder};
117}