@zip.js/zip.js 2.8.60 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/deno.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zip-js/zip-js",
3
- "version": "2.8.60",
3
+ "version": "2.9.0",
4
4
  "exports": {
5
5
  ".": "./index.js",
6
6
  "./external": "./lib/zip-fs-external.js",
@@ -520,7 +520,7 @@ function getDataView(array) {
520
520
  // Every table MUST stay a PACKED_SMI array: build with array literals (not `new Array(n)`,
521
521
  // which is HOLEY) and store the signed int32 XOR result (no `>>> 0`). An unsigned or holey
522
522
  // table becomes a V8 FixedDoubleArray whose every hot-loop lookup unboxes a double (~1.6x
523
- // slower). Signedness is irrelevant to the result — the reads mask/shift it and the final
523
+ // slower). Signedness is irrelevant to the result: the reads mask/shift it and the final
524
524
  // `~crc` normalizes it. Do NOT reintroduce `>>> 0` here or switch to `new Array(256)`.
525
525
  const T = [[], [], [], [], [], [], [], []];
526
526
  for (let n = 0; n < 256; n++) {
@@ -3508,7 +3508,7 @@ async function terminateWorkers() {
3508
3508
 
3509
3509
  /* global TextDecoder */
3510
3510
 
3511
- const CP437 = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");
3511
+ const CP437 = "\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\u00B6\u00A7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00A2\u00A3\u00A5\u20A7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0".split("");
3512
3512
  const VALID_CP437 = CP437.length == 256;
3513
3513
 
3514
3514
  function decodeCP437(stringValue) {
@@ -4754,6 +4754,7 @@ const WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA = "unknown zip64 extensible data";
4754
4754
  const WARNING_WRAPPED_ENTRIES_COUNT = "wrapped entries count";
4755
4755
  const WARNING_APPENDED_DATA = "appended data";
4756
4756
  const WARNING_PREPENDED_DATA = "prepended data";
4757
+ const WARNING_PREPENDED_CENTRAL_DIRECTORY = "prepended central directory";
4757
4758
  const WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = "trailing central directory data";
4758
4759
  const WARNING_DUPLICATE_FILENAME = "duplicate filename";
4759
4760
  const WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = "mismatched zip64 end of central directory record";
@@ -4847,6 +4848,7 @@ class ZipReader {
4847
4848
  let diskNumber = getUint16$1(endOfDirectoryView, 6);
4848
4849
  let filesLength = getUint16$1(endOfDirectoryView, 10);
4849
4850
  let prependedDataLength = 0;
4851
+ let prependedCentralDirectory;
4850
4852
  let startOffset;
4851
4853
  let zip64EndOfDirectory;
4852
4854
  let zip64EndOfDirectoryVersion2;
@@ -4950,6 +4952,7 @@ class ZipReader {
4950
4952
  directoryDataOffset = expectedDirectoryDataOffset;
4951
4953
  if (directoryDataOffset > originalDirectoryDataOffset) {
4952
4954
  prependedDataLength += directoryDataOffset - originalDirectoryDataOffset;
4955
+ prependedCentralDirectory = storedPointsAtDirectory;
4953
4956
  }
4954
4957
  directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
4955
4958
  directoryView = getDataView(directoryArray);
@@ -5177,6 +5180,9 @@ class ZipReader {
5177
5180
  if (prependedDataLength || (filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH)) {
5178
5181
  addWarning(warnings, WARNING_PREPENDED_DATA);
5179
5182
  }
5183
+ if (prependedCentralDirectory) {
5184
+ addWarning(warnings, WARNING_PREPENDED_CENTRAL_DIRECTORY);
5185
+ }
5180
5186
  if (extractPrependedData) {
5181
5187
  zipReader.prependedData = startOffset > splitZipSignatureLength ?
5182
5188
  await readUint8Array(reader, splitZipSignatureLength, startOffset - splitZipSignatureLength) :
@@ -6237,6 +6243,7 @@ var zipReader = /*#__PURE__*/Object.freeze({
6237
6243
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD: WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,
6238
6244
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES: WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,
6239
6245
  WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY: WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,
6246
+ WARNING_PREPENDED_CENTRAL_DIRECTORY: WARNING_PREPENDED_CENTRAL_DIRECTORY,
6240
6247
  WARNING_PREPENDED_DATA: WARNING_PREPENDED_DATA,
6241
6248
  WARNING_TRAILING_CENTRAL_DIRECTORY_DATA: WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,
6242
6249
  WARNING_UNKNOWN_VERSION: WARNING_UNKNOWN_VERSION,
@@ -6685,6 +6692,13 @@ async function addFile(zipWriter, name, reader, options) {
6685
6692
  const { comment } = metadataInfo;
6686
6693
  const extraField = options[PROPERTY_NAME_EXTRA_FIELD];
6687
6694
  zipWriter.fileEntries.set(name, UNDEFINED_VALUE);
6695
+ const previousFileEntry = zipWriter.lastFileEntry;
6696
+ const pendingFileEntry = {};
6697
+ let releaseLockFileEntry;
6698
+ if (metadataInfo.resolvedOptions.keepOrder) {
6699
+ pendingFileEntry.lockFileEntry = new Promise(resolve => releaseLockFileEntry = resolve);
6700
+ }
6701
+ zipWriter.lastFileEntry = pendingFileEntry;
6688
6702
  let fileEntry;
6689
6703
  try {
6690
6704
  const { resolvedOptions } = metadataInfo;
@@ -6706,10 +6720,21 @@ async function addFile(zipWriter, name, reader, options) {
6706
6720
  const headerInfo = getHeaderInfo(options);
6707
6721
  const dataDescriptorInfo = getDataDescriptorInfo(options);
6708
6722
  const metadataSize = getLength(headerInfo.localHeaderArray, dataDescriptorInfo.dataDescriptorArray);
6709
- fileEntry = await getFileEntry(zipWriter, name, reader, { headerInfo, dataDescriptorInfo, metadataSize }, options);
6723
+ fileEntry = await getFileEntry(zipWriter, name, reader, {
6724
+ headerInfo,
6725
+ dataDescriptorInfo,
6726
+ metadataSize,
6727
+ fileEntry: pendingFileEntry,
6728
+ previousFileEntry,
6729
+ releaseLockFileEntry
6730
+ }, options);
6710
6731
  } catch (error) {
6711
6732
  zipWriter.fileEntries.delete(name);
6712
6733
  throw error;
6734
+ } finally {
6735
+ if (releaseLockFileEntry) {
6736
+ releaseLockFileEntry(previousFileEntry && previousFileEntry.lockFileEntry);
6737
+ }
6713
6738
  }
6714
6739
  Object.assign(fileEntry, {
6715
6740
  name,
@@ -7095,27 +7120,23 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
7095
7120
  signal
7096
7121
  } = options;
7097
7122
  const {
7098
- headerInfo
7123
+ headerInfo,
7124
+ fileEntry: pendingFileEntry,
7125
+ previousFileEntry,
7126
+ releaseLockFileEntry
7099
7127
  } = entryInfo;
7100
7128
  const usdz = zipWriter.options[OPTION_USDZ];
7101
- const previousFileEntry = zipWriter.lastFileEntry;
7102
- let fileEntry = {};
7129
+ let fileEntry = pendingFileEntry;
7103
7130
  let bufferedWrite;
7104
7131
  let releaseLockWriter;
7105
- let releaseLockCurrentFileEntry;
7106
7132
  let writingBufferedEntryData;
7107
7133
  let writingEntryData;
7108
7134
  let writerSizeBeforeEntry;
7109
7135
  let flushedBufferedSize = 0;
7110
7136
  let fileWriter;
7137
+ const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
7111
7138
  fileEntries.set(name, fileEntry);
7112
- zipWriter.lastFileEntry = fileEntry;
7113
7139
  try {
7114
- let lockPreviousFileEntry;
7115
- if (keepOrder) {
7116
- lockPreviousFileEntry = previousFileEntry && previousFileEntry.lockFileEntry;
7117
- requestLockCurrentFileEntry();
7118
- }
7119
7140
  if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || (!dataDescriptor && !emptyEntry)) {
7120
7141
  bufferedWrite = true;
7121
7142
  zipWriter.bufferedWrites++;
@@ -7128,6 +7149,7 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
7128
7149
  await initStream(writer);
7129
7150
  } else {
7130
7151
  fileWriter = writer;
7152
+ await lockPreviousFileEntry;
7131
7153
  await requestLockWriter();
7132
7154
  }
7133
7155
  await initStream(fileWriter);
@@ -7140,7 +7162,6 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
7140
7162
  }
7141
7163
  const { localHeaderArray } = headerInfo;
7142
7164
  if (!bufferedWrite) {
7143
- await lockPreviousFileEntry;
7144
7165
  await skipDiskIfNeeded();
7145
7166
  }
7146
7167
  const diskNumberStart = getDiskNumber(writer);
@@ -7205,8 +7226,8 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
7205
7226
  if (bufferedWrite) {
7206
7227
  zipWriter.bufferedWrites--;
7207
7228
  }
7208
- if (releaseLockCurrentFileEntry) {
7209
- releaseLockCurrentFileEntry();
7229
+ if (releaseLockFileEntry) {
7230
+ releaseLockFileEntry(lockPreviousFileEntry);
7210
7231
  }
7211
7232
  if (releaseLockWriter) {
7212
7233
  releaseLockWriter();
@@ -7220,10 +7241,6 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
7220
7241
  }
7221
7242
  }
7222
7243
 
7223
- function requestLockCurrentFileEntry() {
7224
- fileEntry.lockFileEntry = new Promise(resolve => releaseLockCurrentFileEntry = resolve);
7225
- }
7226
-
7227
7244
  async function requestLockWriter() {
7228
7245
  zipWriter.writerLocked = true;
7229
7246
  const { lockWriter } = zipWriter;
@@ -8543,7 +8560,7 @@ function formatSupported(StreamClass, format) {
8543
8560
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8544
8561
  */
8545
8562
 
8546
- const VERSION = "2.8.60";
8563
+ const VERSION = "2.9.0";
8547
8564
 
8548
8565
  /*
8549
8566
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -9377,4 +9394,4 @@ function terminateWorkersAndModule() {
9377
9394
 
9378
9395
  configureExternalAssets();
9379
9396
 
9380
- export { BlobReader, BlobWriter, Data64URIReader, Data64URIWriter, ERR_AMBIGUOUS_ARCHIVE, ERR_BAD_FORMAT, ERR_CENTRAL_DIRECTORY_NOT_FOUND, ERR_DUPLICATED_NAME, ERR_ENCRYPTED, ERR_ENCRYPTED_CENTRAL_DIRECTORY, ERR_ENTRY_DATA_OUT_OF_BOUNDS, ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND, ERR_EOCDR_NOT_FOUND, ERR_EXTRAFIELD_ZIP64_NOT_FOUND, ERR_HTTP_RANGE, ERR_HTTP_RESOURCE_CHANGED, ERR_INVALID_AUTHENTICATION_CODE, ERR_INVALID_CODEC_DEFINITION, ERR_INVALID_CODEC_MODULE, ERR_INVALID_COMMENT, ERR_INVALID_COMMENT_TYPE, ERR_INVALID_COMPRESSED_DATA, ERR_INVALID_CRC32, ERR_INVALID_DATE, ERR_INVALID_ENCRYPTION_STRENGTH, ERR_INVALID_ENTRY_COMMENT, ERR_INVALID_ENTRY_COMMENT_TYPE, ERR_INVALID_ENTRY_NAME, ERR_INVALID_EXTRAFIELD, ERR_INVALID_EXTRAFIELD_DATA, ERR_INVALID_EXTRAFIELD_DATA_TYPE, ERR_INVALID_EXTRAFIELD_TYPE, ERR_INVALID_FILENAME_VALIDATION, ERR_INVALID_FUNCTION_OPTION, ERR_INVALID_GID, ERR_INVALID_LEVEL, ERR_INVALID_MAX_APPENDED_DATA_SIZE, ERR_INVALID_MAX_WORKERS, ERR_INVALID_MSDOS_ATTRIBUTES, ERR_INVALID_MSDOS_DATA, ERR_INVALID_PASSWORD, ERR_INVALID_PASSWORD_TYPE, ERR_INVALID_SIGNAL, ERR_INVALID_SIGNATURE, ERR_INVALID_SIGNATURE_DATA, ERR_INVALID_STRICTNESS, ERR_INVALID_UID, ERR_INVALID_UNCOMPRESSED_SIZE, ERR_INVALID_UNIX_EXTRA_FIELD_TYPE, ERR_INVALID_UNIX_ID_SIZE, ERR_INVALID_UNIX_MODE, ERR_INVALID_VERSION, ERR_ITERATOR_COMPLETED_TOO_SOON, ERR_LOCAL_FILE_HEADER_NOT_FOUND, ERR_OVERLAPPING_ENTRY, ERR_RESERVED_COMPRESSION_METHOD, ERR_SPLIT_ZIP_FILE, ERR_UNDEFINED_COMPRESSION_METHOD, ERR_UNDEFINED_READER, ERR_UNDEFINED_UNCOMPRESSED_SIZE, ERR_UNDETERMINED_SIZE, ERR_UNSAFE_FILENAME, ERR_UNSUPPORTED_COMPRESSION$1 as ERR_UNSUPPORTED_COMPRESSION, ERR_UNSUPPORTED_CONTEXT, ERR_UNSUPPORTED_CRYPTO_API, ERR_UNSUPPORTED_ENCRYPTION, ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH, ERR_UNSUPPORTED_ENCRYPTION_USDZ, ERR_UNSUPPORTED_FORMAT, ERR_UNSUPPORTED_UINT64, ERR_WORKER_STARTUP_TIMEOUT, ERR_WRITER_NOT_INITIALIZED, ERR_ZIP_NOT_EMPTY, HttpRangeReader, HttpReader, Reader, SplitDataReader, SplitDataWriter, TextReader, TextWriter, Uint8ArrayReader, Uint8ArrayWriter, VERSION, WARNING_APPENDED_DATA, WARNING_COMPRESSED_PATCHED_DATA, WARNING_DUPLICATE_FILENAME, WARNING_MALFORMED_EXTRA_FIELD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG, WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES, WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY, WARNING_PREPENDED_DATA, WARNING_TRAILING_CENTRAL_DIRECTORY_DATA, WARNING_UNKNOWN_VERSION, WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA, WARNING_UNSORTED_CENTRAL_DIRECTORY, WARNING_WRAPPED_ENTRIES_COUNT, Writer, ZipReader, ZipReaderStream, ZipWriter, ZipWriterStream, configure, createBlobTempStream, createOPFSTempStream, createSyncAccessHandleTempStream, getMimeType, getRegisteredCodecs, getSupportedCompressionMethods, isZipFile, registerCodec, resetConfiguration, terminateWorkersAndModule as terminateWorkers, unregisterCodec };
9397
+ export { BlobReader, BlobWriter, Data64URIReader, Data64URIWriter, ERR_AMBIGUOUS_ARCHIVE, ERR_BAD_FORMAT, ERR_CENTRAL_DIRECTORY_NOT_FOUND, ERR_DUPLICATED_NAME, ERR_ENCRYPTED, ERR_ENCRYPTED_CENTRAL_DIRECTORY, ERR_ENTRY_DATA_OUT_OF_BOUNDS, ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND, ERR_EOCDR_NOT_FOUND, ERR_EXTRAFIELD_ZIP64_NOT_FOUND, ERR_HTTP_RANGE, ERR_HTTP_RESOURCE_CHANGED, ERR_INVALID_AUTHENTICATION_CODE, ERR_INVALID_CODEC_DEFINITION, ERR_INVALID_CODEC_MODULE, ERR_INVALID_COMMENT, ERR_INVALID_COMMENT_TYPE, ERR_INVALID_COMPRESSED_DATA, ERR_INVALID_CRC32, ERR_INVALID_DATE, ERR_INVALID_ENCRYPTION_STRENGTH, ERR_INVALID_ENTRY_COMMENT, ERR_INVALID_ENTRY_COMMENT_TYPE, ERR_INVALID_ENTRY_NAME, ERR_INVALID_EXTRAFIELD, ERR_INVALID_EXTRAFIELD_DATA, ERR_INVALID_EXTRAFIELD_DATA_TYPE, ERR_INVALID_EXTRAFIELD_TYPE, ERR_INVALID_FILENAME_VALIDATION, ERR_INVALID_FUNCTION_OPTION, ERR_INVALID_GID, ERR_INVALID_LEVEL, ERR_INVALID_MAX_APPENDED_DATA_SIZE, ERR_INVALID_MAX_WORKERS, ERR_INVALID_MSDOS_ATTRIBUTES, ERR_INVALID_MSDOS_DATA, ERR_INVALID_PASSWORD, ERR_INVALID_PASSWORD_TYPE, ERR_INVALID_SIGNAL, ERR_INVALID_SIGNATURE, ERR_INVALID_SIGNATURE_DATA, ERR_INVALID_STRICTNESS, ERR_INVALID_UID, ERR_INVALID_UNCOMPRESSED_SIZE, ERR_INVALID_UNIX_EXTRA_FIELD_TYPE, ERR_INVALID_UNIX_ID_SIZE, ERR_INVALID_UNIX_MODE, ERR_INVALID_VERSION, ERR_ITERATOR_COMPLETED_TOO_SOON, ERR_LOCAL_FILE_HEADER_NOT_FOUND, ERR_OVERLAPPING_ENTRY, ERR_RESERVED_COMPRESSION_METHOD, ERR_SPLIT_ZIP_FILE, ERR_UNDEFINED_COMPRESSION_METHOD, ERR_UNDEFINED_READER, ERR_UNDEFINED_UNCOMPRESSED_SIZE, ERR_UNDETERMINED_SIZE, ERR_UNSAFE_FILENAME, ERR_UNSUPPORTED_COMPRESSION$1 as ERR_UNSUPPORTED_COMPRESSION, ERR_UNSUPPORTED_CONTEXT, ERR_UNSUPPORTED_CRYPTO_API, ERR_UNSUPPORTED_ENCRYPTION, ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH, ERR_UNSUPPORTED_ENCRYPTION_USDZ, ERR_UNSUPPORTED_FORMAT, ERR_UNSUPPORTED_UINT64, ERR_WORKER_STARTUP_TIMEOUT, ERR_WRITER_NOT_INITIALIZED, ERR_ZIP_NOT_EMPTY, HttpRangeReader, HttpReader, Reader, SplitDataReader, SplitDataWriter, TextReader, TextWriter, Uint8ArrayReader, Uint8ArrayWriter, VERSION, WARNING_APPENDED_DATA, WARNING_COMPRESSED_PATCHED_DATA, WARNING_DUPLICATE_FILENAME, WARNING_MALFORMED_EXTRA_FIELD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG, WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES, WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY, WARNING_PREPENDED_CENTRAL_DIRECTORY, WARNING_PREPENDED_DATA, WARNING_TRAILING_CENTRAL_DIRECTORY_DATA, WARNING_UNKNOWN_VERSION, WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA, WARNING_UNSORTED_CENTRAL_DIRECTORY, WARNING_WRAPPED_ENTRIES_COUNT, Writer, ZipReader, ZipReaderStream, ZipWriter, ZipWriterStream, configure, createBlobTempStream, createOPFSTempStream, createSyncAccessHandleTempStream, getMimeType, getRegisteredCodecs, getSupportedCompressionMethods, isZipFile, registerCodec, resetConfiguration, terminateWorkersAndModule as terminateWorkers, unregisterCodec };