Skip to main content

use_archive/
lib.rs

1#![forbid(unsafe_code)]
2#![doc = include_str!("../README.md")]
3
4//! Thin facade for primitive archive vocabulary crates.
5
6#[cfg(feature = "sevenzip")]
7pub use use_7z as seven_zip;
8#[cfg(feature = "ar")]
9pub use use_ar as ar;
10#[cfg(feature = "entry")]
11pub use use_archive_entry as entry;
12#[cfg(feature = "format")]
13pub use use_archive_format as format;
14#[cfg(feature = "manifest")]
15pub use use_archive_manifest as manifest;
16#[cfg(feature = "path")]
17pub use use_archive_path as path;
18#[cfg(feature = "policy")]
19pub use use_archive_policy as policy;
20#[cfg(feature = "brotli")]
21pub use use_brotli as brotli;
22#[cfg(feature = "bzip2")]
23pub use use_bzip2 as bzip2;
24#[cfg(feature = "cab")]
25pub use use_cab as cab;
26#[cfg(feature = "compression")]
27pub use use_compression as compression;
28#[cfg(feature = "cpio")]
29pub use use_cpio as cpio;
30#[cfg(feature = "gzip")]
31pub use use_gzip as gzip;
32#[cfg(feature = "iso")]
33pub use use_iso as iso;
34#[cfg(feature = "lz4")]
35pub use use_lz4 as lz4;
36#[cfg(feature = "mtree")]
37pub use use_mtree as mtree;
38#[cfg(feature = "rar")]
39pub use use_rar as rar;
40#[cfg(feature = "tar")]
41pub use use_tar as tar;
42#[cfg(feature = "warc")]
43pub use use_warc as warc;
44#[cfg(feature = "xz")]
45pub use use_xz as xz;
46#[cfg(feature = "zip")]
47pub use use_zip as zip;
48#[cfg(feature = "zstd")]
49pub use use_zstd as zstd;
50
51#[cfg(feature = "sevenzip")]
52pub use use_7z::{
53    SEVEN_ZIP_EXTENSION, SEVEN_ZIP_EXTENSIONS, SEVEN_ZIP_FIRST_VOLUME_EXTENSION,
54    SevenZipCompressionMethod, SevenZipFormat, is_7z_extension, is_7z_filename,
55};
56#[cfg(feature = "ar")]
57pub use use_ar::{
58    AR_EXTENSION, AR_EXTENSIONS, AR_STATIC_LIBRARY_EXTENSION, ArEntryKind, ArFormat,
59    DEBIAN_PACKAGE_EXTENSION, is_ar_extension, is_ar_filename,
60};
61#[cfg(feature = "entry")]
62pub use use_archive_entry::{ArchiveEntry, ArchiveEntryKind};
63#[cfg(feature = "format")]
64pub use use_archive_format::{ArchiveEncoding, ArchiveFormat, CompressionFormat};
65#[cfg(feature = "manifest")]
66pub use use_archive_manifest::ArchiveManifest;
67#[cfg(feature = "path")]
68pub use use_archive_path::{ArchivePathIssue, archive_path_issues, is_safe_relative_archive_path};
69#[cfg(feature = "policy")]
70pub use use_archive_policy::{ArchivePolicy, ArchivePolicyIssue};
71#[cfg(feature = "brotli")]
72pub use use_brotli::{
73    BROTLI_EXTENSION, BROTLI_EXTENSIONS, BrotliExtension, BrotliLevel, BrotliProfile,
74    TAR_BROTLI_EXTENSION, is_brotli_extension, is_brotli_filename,
75};
76#[cfg(feature = "bzip2")]
77pub use use_bzip2::{
78    BZIP2_EXTENSION, BZIP2_EXTENSIONS, Bzip2Extension, Bzip2Level, Bzip2Profile,
79    TAR_BZIP2_EXTENSION, TBZ_EXTENSION, TBZ2_EXTENSION, is_bzip2_extension, is_bzip2_filename,
80};
81#[cfg(feature = "cab")]
82pub use use_cab::{
83    CAB_EXTENSION, CAB_EXTENSIONS, CabCompressionMethod, CabFormat, is_cab_extension,
84    is_cab_filename,
85};
86#[cfg(feature = "compression")]
87pub use use_compression::{CompressionIntent, CompressionLevel, CompressionSettings};
88#[cfg(feature = "cpio")]
89pub use use_cpio::{
90    CPIO_EXTENSION, CPIO_EXTENSIONS, CPIO_GZIP_EXTENSION, CPIO_XZ_EXTENSION, CPIO_ZSTD_EXTENSION,
91    CpioEntryKind, CpioFormat, is_cpio_extension, is_cpio_filename,
92};
93#[cfg(feature = "gzip")]
94pub use use_gzip::{
95    GZIP_ENCODING_LABEL, GZIP_EXTENSION, GZIP_EXTENSIONS, GZIP_MEDIA_TYPE, GzipHeaderMode,
96    GzipOptions,
97};
98#[cfg(feature = "iso")]
99pub use use_iso::{
100    IMAGE_EXTENSION, ISO_EXTENSION, ISO_EXTENSIONS, IsoFormat, IsoVolumeKind, is_iso_extension,
101    is_iso_filename,
102};
103#[cfg(feature = "lz4")]
104pub use use_lz4::{
105    LZ4_EXTENSION, LZ4_EXTENSIONS, Lz4Extension, Lz4FrameKind, Lz4Profile, TAR_LZ4_EXTENSION,
106    is_lz4_extension, is_lz4_filename,
107};
108#[cfg(feature = "mtree")]
109pub use use_mtree::{
110    MTREE_EXTENSION, MTREE_EXTENSIONS, MTREE_GZIP_EXTENSION, MtreeEntryKind, MtreeFormat,
111    MtreeKeyword, is_mtree_extension, is_mtree_filename,
112};
113#[cfg(feature = "rar")]
114pub use use_rar::{
115    RAR_EXTENSION, RAR_EXTENSIONS, RAR_OLD_PART_EXTENSION, RAR_PART1_EXTENSION, RarVersion,
116    RarVolumeKind, is_rar_extension, is_rar_filename,
117};
118#[cfg(feature = "tar")]
119pub use use_tar::{
120    TAR_EXTENSION, TAR_GZIP_EXTENSION, TAR_XZ_EXTENSION, TAR_ZSTD_EXTENSION, TarEntryType,
121};
122#[cfg(feature = "warc")]
123pub use use_warc::{
124    ARC_EXTENSION, ARC_GZIP_EXTENSION, WARC_EXTENSION, WARC_EXTENSIONS, WARC_GZIP_EXTENSION,
125    WarcFormat, WarcRecordKind, is_warc_extension, is_warc_filename,
126};
127#[cfg(feature = "xz")]
128pub use use_xz::{LZMA_LABEL, XZ_EXTENSION, XZ_EXTENSIONS, XzCheckType, XzOptions};
129#[cfg(feature = "zip")]
130pub use use_zip::{ZIP_EXTENSION, ZipCompressionMethod};
131#[cfg(feature = "zstd")]
132pub use use_zstd::{ZSTD_EXTENSION, ZSTD_EXTENSIONS, ZSTD_LABEL, ZstdFrameKind, ZstdOptions};
133
134/// Common archive primitive re-exports.
135pub mod prelude {
136    #[cfg(feature = "sevenzip")]
137    pub use use_7z::{SevenZipCompressionMethod, SevenZipFormat};
138    #[cfg(feature = "ar")]
139    pub use use_ar::{ArEntryKind, ArFormat};
140    #[cfg(feature = "entry")]
141    pub use use_archive_entry::{ArchiveEntry, ArchiveEntryKind};
142    #[cfg(feature = "format")]
143    pub use use_archive_format::{ArchiveEncoding, ArchiveFormat, CompressionFormat};
144    #[cfg(feature = "manifest")]
145    pub use use_archive_manifest::ArchiveManifest;
146    #[cfg(feature = "path")]
147    pub use use_archive_path::{ArchivePathIssue, is_safe_relative_archive_path};
148    #[cfg(feature = "policy")]
149    pub use use_archive_policy::{ArchivePolicy, ArchivePolicyIssue};
150    #[cfg(feature = "brotli")]
151    pub use use_brotli::{BrotliExtension, BrotliLevel, BrotliProfile};
152    #[cfg(feature = "bzip2")]
153    pub use use_bzip2::{Bzip2Extension, Bzip2Level, Bzip2Profile};
154    #[cfg(feature = "cab")]
155    pub use use_cab::{CabCompressionMethod, CabFormat};
156    #[cfg(feature = "compression")]
157    pub use use_compression::{CompressionIntent, CompressionLevel, CompressionSettings};
158    #[cfg(feature = "cpio")]
159    pub use use_cpio::{CpioEntryKind, CpioFormat};
160    #[cfg(feature = "iso")]
161    pub use use_iso::{IsoFormat, IsoVolumeKind};
162    #[cfg(feature = "lz4")]
163    pub use use_lz4::{Lz4Extension, Lz4FrameKind, Lz4Profile};
164    #[cfg(feature = "mtree")]
165    pub use use_mtree::{MtreeEntryKind, MtreeFormat, MtreeKeyword};
166    #[cfg(feature = "rar")]
167    pub use use_rar::{RarVersion, RarVolumeKind};
168    #[cfg(feature = "tar")]
169    pub use use_tar::TarEntryType;
170    #[cfg(feature = "warc")]
171    pub use use_warc::{WarcFormat, WarcRecordKind};
172    #[cfg(feature = "zip")]
173    pub use use_zip::ZipCompressionMethod;
174}