1#![forbid(unsafe_code)]
4#![warn(missing_docs)]
5#![cfg_attr(not(feature = "std"), no_std)]
6
7pub use finish::Finish;
8extern crate alloc;
9
10macro_rules! invalid_data_error {
11 ($fmt:expr) => {
12 ::no_std_io2::io::Error::new(::no_std_io2::io::ErrorKind::InvalidData, $fmt)
13 };
14 ($fmt:expr, $($arg:tt)*) => {
15 {
16 #[cfg(feature = "std")]
17 {
18 ::no_std_io2::io::Error::new(
19 ::no_std_io2::io::ErrorKind::InvalidData,
20 ::alloc::format!($fmt, $($arg)*),
21 )
22 }
23 #[cfg(not(feature = "std"))]
24 {
25 ::no_std_io2::io::Error::new(::no_std_io2::io::ErrorKind::InvalidData, $fmt)
26 }
27 }
28 };
29}
30
31macro_rules! finish_try {
32 ($e:expr) => {
33 match $e.unwrap() {
34 (inner, None) => inner,
35 (inner, error) => return crate::finish::Finish::new(inner, error),
36 }
37 };
38}
39
40pub mod deflate;
41pub mod finish;
42pub mod gzip;
43pub mod lz77;
44pub mod non_blocking;
45pub mod zlib;
46
47mod bit;
48mod checksum;
49mod huffman;
50mod util;