neozip 0.3.3

The ZIP archive handler used by Acridotheres
Documentation
use acr::{compression::ZipMethod as Method, time::UtcTime};
use dh::Readable;

#[derive(Debug, Default)]
pub struct Metadata {
    pub files: Vec<File>,
    pub has_eocd: bool,
    pub disk_number: u16,
    pub cd_disk_number: u16,
    pub disk_entries: u16,
    pub cd_entries: u16,
    pub comment: String,
}

#[derive(Debug, Default)]
pub struct File {
    pub offset: u64,
    pub path: String,
    pub directory: bool,
    pub size: u64,
    pub compression: Method,
    pub uncompressed_size: u64,
    pub modified: UtcTime,
    pub flags: u16,
    pub version: u16,
    pub version_by: u16,
    pub checksum: u32,
    pub extra: Vec<u8>,
    pub disk_number: u16,
    pub internal_attributes: u16,
    pub external_attributes: u32,
    pub comment: String,
}

pub struct FileSource<'a> {
    pub reader: &'a mut dyn Readable<'a>,
    pub metadata: File,
}