archiv/
lib.rs

1//! ```rust
2//! # use std::io;
3//! # fn app() -> anyhow::Result<()> {
4//! use archiv::Compress;
5//!
6//! let opts = archiv::CompressOptions::default();
7//! let mut archiv = opts.stream_compress(io::stdout())?;
8//! archiv.write_item(b"hello")?;
9//! archiv.finish()?;
10//! # Ok(()) }
11//! ```
12//!
13//! ```rust
14//! # use std::io;
15//! # use std::io::Read;
16//! # fn app() -> anyhow::Result<()> {
17//! use archiv::Expand;
18//!
19//! let opts = archiv::ExpandOptions::default();
20//! let mut archiv = opts.stream(io::stdin().lock())?;
21//! while let Some(mut item) = archiv.next_item()? {
22//!     let mut s = String::new();
23//!     item.read_to_string(&mut s)?;
24//!     println!("{s}");
25//! }
26//! # Ok(()) }
27//! ```
28//!
29mod error;
30mod header;
31mod read;
32mod write;
33mod zbuild;
34
35pub use error::Error;
36pub use read::*;
37pub use write::*;
38
39pub use zstd::dict::{DecoderDictionary, EncoderDictionary};
40pub use zstd::stream::read::Decoder as ZDecoder;