use-archive 0.1.0

Feature-gated facade crate for RustUse archive primitives
Documentation
#![forbid(unsafe_code)]
#![doc = include_str!("../README.md")]

//! Thin facade for primitive archive vocabulary crates.

#[cfg(feature = "sevenzip")]
pub use use_7z as seven_zip;
#[cfg(feature = "ar")]
pub use use_ar as ar;
#[cfg(feature = "entry")]
pub use use_archive_entry as entry;
#[cfg(feature = "format")]
pub use use_archive_format as format;
#[cfg(feature = "manifest")]
pub use use_archive_manifest as manifest;
#[cfg(feature = "path")]
pub use use_archive_path as path;
#[cfg(feature = "policy")]
pub use use_archive_policy as policy;
#[cfg(feature = "brotli")]
pub use use_brotli as brotli;
#[cfg(feature = "bzip2")]
pub use use_bzip2 as bzip2;
#[cfg(feature = "cab")]
pub use use_cab as cab;
#[cfg(feature = "compression")]
pub use use_compression as compression;
#[cfg(feature = "cpio")]
pub use use_cpio as cpio;
#[cfg(feature = "gzip")]
pub use use_gzip as gzip;
#[cfg(feature = "iso")]
pub use use_iso as iso;
#[cfg(feature = "lz4")]
pub use use_lz4 as lz4;
#[cfg(feature = "mtree")]
pub use use_mtree as mtree;
#[cfg(feature = "rar")]
pub use use_rar as rar;
#[cfg(feature = "tar")]
pub use use_tar as tar;
#[cfg(feature = "warc")]
pub use use_warc as warc;
#[cfg(feature = "xz")]
pub use use_xz as xz;
#[cfg(feature = "zip")]
pub use use_zip as zip;
#[cfg(feature = "zstd")]
pub use use_zstd as zstd;

#[cfg(feature = "sevenzip")]
pub use use_7z::{
    SEVEN_ZIP_EXTENSION, SEVEN_ZIP_EXTENSIONS, SEVEN_ZIP_FIRST_VOLUME_EXTENSION,
    SevenZipCompressionMethod, SevenZipFormat, is_7z_extension, is_7z_filename,
};
#[cfg(feature = "ar")]
pub use use_ar::{
    AR_EXTENSION, AR_EXTENSIONS, AR_STATIC_LIBRARY_EXTENSION, ArEntryKind, ArFormat,
    DEBIAN_PACKAGE_EXTENSION, is_ar_extension, is_ar_filename,
};
#[cfg(feature = "entry")]
pub use use_archive_entry::{ArchiveEntry, ArchiveEntryKind};
#[cfg(feature = "format")]
pub use use_archive_format::{ArchiveEncoding, ArchiveFormat, CompressionFormat};
#[cfg(feature = "manifest")]
pub use use_archive_manifest::ArchiveManifest;
#[cfg(feature = "path")]
pub use use_archive_path::{ArchivePathIssue, archive_path_issues, is_safe_relative_archive_path};
#[cfg(feature = "policy")]
pub use use_archive_policy::{ArchivePolicy, ArchivePolicyIssue};
#[cfg(feature = "brotli")]
pub use use_brotli::{
    BROTLI_EXTENSION, BROTLI_EXTENSIONS, BrotliExtension, BrotliLevel, BrotliProfile,
    TAR_BROTLI_EXTENSION, is_brotli_extension, is_brotli_filename,
};
#[cfg(feature = "bzip2")]
pub use use_bzip2::{
    BZIP2_EXTENSION, BZIP2_EXTENSIONS, Bzip2Extension, Bzip2Level, Bzip2Profile,
    TAR_BZIP2_EXTENSION, TBZ_EXTENSION, TBZ2_EXTENSION, is_bzip2_extension, is_bzip2_filename,
};
#[cfg(feature = "cab")]
pub use use_cab::{
    CAB_EXTENSION, CAB_EXTENSIONS, CabCompressionMethod, CabFormat, is_cab_extension,
    is_cab_filename,
};
#[cfg(feature = "compression")]
pub use use_compression::{CompressionIntent, CompressionLevel, CompressionSettings};
#[cfg(feature = "cpio")]
pub use use_cpio::{
    CPIO_EXTENSION, CPIO_EXTENSIONS, CPIO_GZIP_EXTENSION, CPIO_XZ_EXTENSION, CPIO_ZSTD_EXTENSION,
    CpioEntryKind, CpioFormat, is_cpio_extension, is_cpio_filename,
};
#[cfg(feature = "gzip")]
pub use use_gzip::{
    GZIP_ENCODING_LABEL, GZIP_EXTENSION, GZIP_EXTENSIONS, GZIP_MEDIA_TYPE, GzipHeaderMode,
    GzipOptions,
};
#[cfg(feature = "iso")]
pub use use_iso::{
    IMAGE_EXTENSION, ISO_EXTENSION, ISO_EXTENSIONS, IsoFormat, IsoVolumeKind, is_iso_extension,
    is_iso_filename,
};
#[cfg(feature = "lz4")]
pub use use_lz4::{
    LZ4_EXTENSION, LZ4_EXTENSIONS, Lz4Extension, Lz4FrameKind, Lz4Profile, TAR_LZ4_EXTENSION,
    is_lz4_extension, is_lz4_filename,
};
#[cfg(feature = "mtree")]
pub use use_mtree::{
    MTREE_EXTENSION, MTREE_EXTENSIONS, MTREE_GZIP_EXTENSION, MtreeEntryKind, MtreeFormat,
    MtreeKeyword, is_mtree_extension, is_mtree_filename,
};
#[cfg(feature = "rar")]
pub use use_rar::{
    RAR_EXTENSION, RAR_EXTENSIONS, RAR_OLD_PART_EXTENSION, RAR_PART1_EXTENSION, RarVersion,
    RarVolumeKind, is_rar_extension, is_rar_filename,
};
#[cfg(feature = "tar")]
pub use use_tar::{
    TAR_EXTENSION, TAR_GZIP_EXTENSION, TAR_XZ_EXTENSION, TAR_ZSTD_EXTENSION, TarEntryType,
};
#[cfg(feature = "warc")]
pub use use_warc::{
    ARC_EXTENSION, ARC_GZIP_EXTENSION, WARC_EXTENSION, WARC_EXTENSIONS, WARC_GZIP_EXTENSION,
    WarcFormat, WarcRecordKind, is_warc_extension, is_warc_filename,
};
#[cfg(feature = "xz")]
pub use use_xz::{LZMA_LABEL, XZ_EXTENSION, XZ_EXTENSIONS, XzCheckType, XzOptions};
#[cfg(feature = "zip")]
pub use use_zip::{ZIP_EXTENSION, ZipCompressionMethod};
#[cfg(feature = "zstd")]
pub use use_zstd::{ZSTD_EXTENSION, ZSTD_EXTENSIONS, ZSTD_LABEL, ZstdFrameKind, ZstdOptions};

/// Common archive primitive re-exports.
pub mod prelude {
    #[cfg(feature = "sevenzip")]
    pub use use_7z::{SevenZipCompressionMethod, SevenZipFormat};
    #[cfg(feature = "ar")]
    pub use use_ar::{ArEntryKind, ArFormat};
    #[cfg(feature = "entry")]
    pub use use_archive_entry::{ArchiveEntry, ArchiveEntryKind};
    #[cfg(feature = "format")]
    pub use use_archive_format::{ArchiveEncoding, ArchiveFormat, CompressionFormat};
    #[cfg(feature = "manifest")]
    pub use use_archive_manifest::ArchiveManifest;
    #[cfg(feature = "path")]
    pub use use_archive_path::{ArchivePathIssue, is_safe_relative_archive_path};
    #[cfg(feature = "policy")]
    pub use use_archive_policy::{ArchivePolicy, ArchivePolicyIssue};
    #[cfg(feature = "brotli")]
    pub use use_brotli::{BrotliExtension, BrotliLevel, BrotliProfile};
    #[cfg(feature = "bzip2")]
    pub use use_bzip2::{Bzip2Extension, Bzip2Level, Bzip2Profile};
    #[cfg(feature = "cab")]
    pub use use_cab::{CabCompressionMethod, CabFormat};
    #[cfg(feature = "compression")]
    pub use use_compression::{CompressionIntent, CompressionLevel, CompressionSettings};
    #[cfg(feature = "cpio")]
    pub use use_cpio::{CpioEntryKind, CpioFormat};
    #[cfg(feature = "iso")]
    pub use use_iso::{IsoFormat, IsoVolumeKind};
    #[cfg(feature = "lz4")]
    pub use use_lz4::{Lz4Extension, Lz4FrameKind, Lz4Profile};
    #[cfg(feature = "mtree")]
    pub use use_mtree::{MtreeEntryKind, MtreeFormat, MtreeKeyword};
    #[cfg(feature = "rar")]
    pub use use_rar::{RarVersion, RarVolumeKind};
    #[cfg(feature = "tar")]
    pub use use_tar::TarEntryType;
    #[cfg(feature = "warc")]
    pub use use_warc::{WarcFormat, WarcRecordKind};
    #[cfg(feature = "zip")]
    pub use use_zip::ZipCompressionMethod;
}