Skip to main content

zip/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![warn(clippy::all, rust_2018_idioms)]
4#![deny(
5    missing_docs,
6    clippy::all,
7    clippy::missing_panics_doc,
8    clippy::cargo,
9    clippy::panic,
10    clippy::cast_lossless,
11    clippy::decimal_literal_representation,
12    clippy::must_use_candidate
13)]
14#![cfg_attr(not(test), deny(clippy::unwrap_used, clippy::expect_used))]
15#![allow(unexpected_cfgs)] // Needed for cfg(fuzzing)
16#![allow(clippy::multiple_crate_versions)] // https://github.com/rust-lang/rust-clippy/issues/16440
17pub use crate::compression::{CompressionMethod, SUPPORTED_COMPRESSION_METHODS};
18pub use crate::datetime::DateTime;
19pub use crate::format::aes::AesMode;
20pub use crate::format::system::System;
21pub use crate::format::{ZIP64_BYTES_THR, ZIP64_ENTRY_THR};
22pub use crate::read::HasZipMetadata;
23pub use crate::read::{ZipArchive, ZipReadOptions};
24pub use crate::write::ZipWriter;
25
26#[cfg(feature = "aes-crypto")]
27mod aes;
28#[cfg(feature = "aes-crypto")]
29pub use aes::AesSalt;
30#[cfg(feature = "aes-crypto")]
31mod aes_ctr;
32mod compression;
33mod cp437;
34mod crc32;
35mod datetime;
36pub mod extra_fields;
37mod format;
38mod path;
39pub mod read;
40pub mod result;
41mod types;
42pub mod write;
43mod zipcrypto;
44pub use extra_fields::ExtraField;
45#[cfg(feature = "legacy-zip")]
46mod legacy;
47
48pub mod unstable;