export const Constants: { /* The local file header */ LOCHDR: 30; // LOC header size LOCSIG: 0x04034b50; // "PK\003\004" LOCVER: 4; // version needed to extract LOCFLG: 6; // general purpose bit flag LOCHOW: 8; // compression method LOCTIM: 10; // modification time (2 bytes time, 2 bytes date) LOCCRC: 14; // uncompressed file crc-32 value LOCSIZ: 18; // compressed size LOCLEN: 22; // uncompressed size LOCNAM: 26; // filename length LOCEXT: 28; // extra field length /* The Data descriptor */ EXTSIG: 0x08074b50; // "PK\007\008" EXTHDR: 16; // EXT header size EXTCRC: 4; // uncompressed file crc-32 value EXTSIZ: 8; // compressed size EXTLEN: 12; // uncompressed size /* The central directory file header */ CENHDR: 46; // CEN header size CENSIG: 0x02014b50; // "PK\001\002" CENVEM: 4; // version made by CENVER: 6; // version needed to extract CENFLG: 8; // encrypt, decrypt flags CENHOW: 10; // compression method CENTIM: 12; // modification time (2 bytes time, 2 bytes date) CENCRC: 16; // uncompressed file crc-32 value CENSIZ: 20; // compressed size CENLEN: 24; // uncompressed size CENNAM: 28; // filename length CENEXT: 30; // extra field length CENCOM: 32; // file comment length CENDSK: 34; // volume number start CENATT: 36; // internal file attributes CENATX: 38; // external file attributes (host system dependent) CENOFF: 42; // LOC header offset /* The entries in the end of central directory */ ENDHDR: 22; // END header size ENDSIG: 0x06054b50; // "PK\005\006" ENDSUB: 8; // number of entries on this disk ENDTOT: 10; // total number of entries ENDSIZ: 12; // central directory size in bytes ENDOFF: 16; // offset of first CEN header ENDCOM: 20; // zip file comment length END64HDR: 20; // zip64 END header size END64SIG: 0x07064b50; // zip64 Locator signature, "PK\006\007" END64START: 4; // number of the disk with the start of the zip64 END64OFF: 8; // relative offset of the zip64 end of central directory END64NUMDISKS: 16; // total number of disks ZIP64SIG: 0x06064b50; // zip64 signature, "PK\006\006" ZIP64HDR: 56; // zip64 record minimum size ZIP64LEAD: 12; // leading bytes at the start of the record, not counted by the value stored in ZIP64SIZE ZIP64SIZE: 4; // zip64 size of the central directory record ZIP64VEM: 12; // zip64 version made by ZIP64VER: 14; // zip64 version needed to extract ZIP64DSK: 16; // zip64 number of this disk ZIP64DSKDIR: 20; // number of the disk with the start of the record directory ZIP64SUB: 24; // number of entries on this disk ZIP64TOT: 32; // total number of entries ZIP64SIZB: 40; // zip64 central directory size in bytes ZIP64OFF: 48; // offset of start of central directory with respect to the starting disk number ZIP64EXTRA: 56; // extensible data sector /* Compression methods */ STORED: 0; // no compression SHRUNK: 1; // shrunk REDUCED1: 2; // reduced with compression factor 1 REDUCED2: 3; // reduced with compression factor 2 REDUCED3: 4; // reduced with compression factor 3 REDUCED4: 5; // reduced with compression factor 4 IMPLODED: 6; // imploded // 7 reserved for Tokenizing compression algorithm DEFLATED: 8; // deflated ENHANCED_DEFLATED: 9; // enhanced deflated PKWARE: 10; // PKWare DCL imploded // 11 reserved by PKWARE BZIP2: 12; // compressed using BZIP2 // 13 reserved by PKWARE LZMA: 14; // LZMA // 15-17 reserved by PKWARE IBM_TERSE: 18; // compressed using IBM TERSE IBM_LZ77: 19; // IBM LZ77 z AES_ENCRYPT: 99; // WinZIP AES encryption method /* General purpose bit flag */ // values can obtained with expression 2**bitnr FLG_ENC: 1; // Bit 0: encrypted file FLG_COMP1: 2; // Bit 1, compression option FLG_COMP2: 4; // Bit 2, compression option FLG_DESC: 8; // Bit 3, data descriptor FLG_ENH: 16; // Bit 4, enhanced deflating FLG_PATCH: 32; // Bit 5, indicates that the file is compressed patched data. FLG_STR: 64; // Bit 6, strong encryption (patented) // Bits 7-10: Currently unused. FLG_EFS: 2048; // Bit 11: Language encoding flag (EFS) // Bit 12: Reserved by PKWARE for enhanced compression. // Bit 13: encrypted the Central Directory (patented). // Bits 14-15: Reserved by PKWARE. FLG_MSK: 4096; // mask header values /* Load type */ FILE: 2; BUFFER: 1; NONE: 0; /* 4.5 Extensible data fields */ EF_ID: 0; EF_SIZE: 2; /* Header IDs */ ID_ZIP64: 0x0001; ID_AVINFO: 0x0007; ID_PFS: 0x0008; ID_OS2: 0x0009; ID_NTFS: 0x000a; ID_OPENVMS: 0x000c; ID_UNIX: 0x000d; ID_FORK: 0x000e; ID_PATCH: 0x000f; ID_X509_PKCS7: 0x0014; ID_X509_CERTID_F: 0x0015; ID_X509_CERTID_C: 0x0016; ID_STRONGENC: 0x0017; ID_RECORD_MGT: 0x0018; ID_X509_PKCS7_RL: 0x0019; ID_IBM1: 0x0065; ID_IBM2: 0x0066; ID_POSZIP: 0x4690; EF_ZIP64_OR_32: 0xffffffff; EF_ZIP64_OR_16: 0xffff; EF_ZIP64_SUNCOMP: 0; EF_ZIP64_SCOMP: 8; EF_ZIP64_RHO: 16; EF_ZIP64_DSN: 24; }; export const Errors: { /* Header error messages */ INVALID_LOC: "Invalid LOC header (bad signature)"; INVALID_CEN: "Invalid CEN header (bad signature)"; INVALID_END: "Invalid END header (bad signature)"; /* ZipEntry error messages */ NO_DATA: "Nothing to decompress"; BAD_CRC: "CRC32 checksum failed"; FILE_IN_THE_WAY: "There is a file in the way: %s"; UNKNOWN_METHOD: "Invalid/unsupported compression method"; /* Inflater error messages */ AVAIL_DATA: "inflate::Available inflate data did not terminate"; INVALID_DISTANCE: "inflate::Invalid literal/length or distance code in fixed or dynamic block"; TO_MANY_CODES: "inflate::Dynamic block code description: too many length or distance codes"; INVALID_REPEAT_LEN: "inflate::Dynamic block code description: repeat more than specified lengths"; INVALID_REPEAT_FIRST: "inflate::Dynamic block code description: repeat lengths with no first length"; INCOMPLETE_CODES: "inflate::Dynamic block code description: code lengths codes incomplete"; INVALID_DYN_DISTANCE: "inflate::Dynamic block code description: invalid distance code lengths"; INVALID_CODES_LEN: "inflate::Dynamic block code description: invalid literal/length code lengths"; INVALID_STORE_BLOCK: "inflate::Stored block length did not match one's complement"; INVALID_BLOCK_TYPE: "inflate::Invalid block type (type == 3)"; /* ADM-ZIP error messages */ CANT_EXTRACT_FILE: "Could not extract the file"; CANT_OVERRIDE: "Target file already exists"; NO_ZIP: "No zip file was loaded"; NO_ENTRY: "Entry doesn't exist"; DIRECTORY_CONTENT_ERROR: "A directory cannot have content"; FILE_NOT_FOUND: "File not found: %s"; NOT_IMPLEMENTED: "Not implemented"; INVALID_FILENAME: "Invalid filename"; INVALID_FORMAT: "Invalid or unsupported zip format. No END header found"; };