@zip.js/zip.js 2.11.2 → 2.11.3

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.
@@ -6297,6 +6297,7 @@ const ERR_INVALID_ENTRY_NAME = "File entry name exceeds 64KB";
6297
6297
  const ERR_INVALID_VERSION = "Version exceeds 65535";
6298
6298
  const ERR_INVALID_ENCRYPTION_STRENGTH = "The strength must equal 1, 2, or 3";
6299
6299
  const ERR_UNSUPPORTED_ENCRYPTION_USDZ = "Encryption is not supported in USDZ files";
6300
+ const ERR_UNSUPPORTED_SPLIT_USDZ = "Split zip files are not supported in USDZ files";
6300
6301
  const ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH = "Encryption is not supported when the 'passThrough' option is set";
6301
6302
  const ERR_INVALID_EXTRAFIELD = "Invalid extra field (must be a Map)";
6302
6303
  const ERR_INVALID_EXTRAFIELD_TYPE = "Invalid extra field type (must be integer 0..65535)";
@@ -6311,6 +6312,7 @@ const ERR_UNDEFINED_UNCOMPRESSED_SIZE = "Undefined uncompressed size";
6311
6312
  const ERR_UNDEFINED_COMPRESSION_METHOD = "Undefined compression method";
6312
6313
  const ERR_UNDETERMINED_SIZE = "Undetermined size";
6313
6314
  const ERR_UNDEFINED_READER = "Undefined reader";
6315
+ const ERR_INVALID_READER = "Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)";
6314
6316
  const ERR_ZIP_NOT_EMPTY = "Zip file not empty";
6315
6317
  const ERR_INVALID_UID = "Invalid uid (must be integer 0..2^32-1)";
6316
6318
  const ERR_INVALID_GID = "Invalid gid (must be integer 0..2^32-1)";
@@ -6342,6 +6344,9 @@ class ZipWriter {
6342
6344
  const addSplitZipSignature =
6343
6345
  availableSize > 0 && availableSize !== INFINITY_VALUE &&
6344
6346
  maxSize > 0 && maxSize !== INFINITY_VALUE;
6347
+ if (addSplitZipSignature && options[OPTION_USDZ]) {
6348
+ throw new Error(ERR_UNSUPPORTED_SPLIT_USDZ);
6349
+ }
6345
6350
  Object.assign(this, {
6346
6351
  writer,
6347
6352
  addSplitZipSignature,
@@ -6457,6 +6462,7 @@ class ZipWriter {
6457
6462
  }
6458
6463
  const { offset, diskNumberStart } = entryPositions.get(entry);
6459
6464
  Object.assign(entry, {
6465
+ zip64Enabled: true,
6460
6466
  zip64UncompressedSize,
6461
6467
  zip64CompressedSize,
6462
6468
  offset,
@@ -7032,6 +7038,9 @@ async function resolveSizes(zipWriter, reader, { resolvedOptions: metadata }, op
7032
7038
  if (reader) {
7033
7039
  reader = new GenericReader(reader);
7034
7040
  await initStream(reader);
7041
+ if (!reader.readable && !reader.readUint8Array) {
7042
+ throw new Error(ERR_INVALID_READER);
7043
+ }
7035
7044
  ({ size: contentSize } = reader);
7036
7045
  }
7037
7046
  return Object.assign({ reader }, resolveEntrySizes(zipWriter, Boolean(reader), contentSize, metadata, options));
@@ -7042,6 +7051,7 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
7042
7051
  let { dataDescriptor, zip64, level, compressionMethod } = metadata;
7043
7052
  let maximumCompressedSize = 0;
7044
7053
  let uncompressedSize = 0;
7054
+ let unknownSize = false;
7045
7055
  if (passThrough && hasContent) {
7046
7056
  uncompressedSize = options[PROPERTY_NAME_UNCOMPRESSED_SIZE];
7047
7057
  if (uncompressedSize === UNDEFINED_VALUE) {
@@ -7067,8 +7077,8 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
7067
7077
  if (contentSize === UNDEFINED_VALUE) {
7068
7078
  dataDescriptor = true;
7069
7079
  if (zip64 || zip64 === UNDEFINED_VALUE) {
7070
- zip64 = true;
7071
- uncompressedSize = maximumCompressedSize = MAX_32_BITS + 1;
7080
+ zip64 = unknownSize = true;
7081
+ maximumCompressedSize = MAX_32_BITS + 1;
7072
7082
  }
7073
7083
  } else {
7074
7084
  options.uncompressedSize = uncompressedSize = contentSize;
@@ -7083,7 +7093,7 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
7083
7093
  if (emptyEntry && !zipCrypto && getOptionValue(zipWriter, options, OPTION_DATA_DESCRIPTOR) === UNDEFINED_VALUE) {
7084
7094
  dataDescriptor = false;
7085
7095
  }
7086
- const zip64UncompressedSize = zip64Enabled || uncompressedSize >= MAX_32_BITS;
7096
+ const zip64UncompressedSize = zip64Enabled || unknownSize || uncompressedSize >= MAX_32_BITS;
7087
7097
  const zip64CompressedSize = zip64Enabled || maximumCompressedSize >= MAX_32_BITS;
7088
7098
  if (zip64UncompressedSize || zip64CompressedSize) {
7089
7099
  if (zip64 === false) {
@@ -7099,6 +7109,8 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
7099
7109
  dataDescriptor,
7100
7110
  emptyEntry,
7101
7111
  zip64,
7112
+ zip64Enabled,
7113
+ unknownSize,
7102
7114
  zip64UncompressedSize,
7103
7115
  zip64CompressedSize,
7104
7116
  uncompressedSize,
@@ -7172,7 +7184,7 @@ async function getEntriesSize(writerOptions, entries, writeOrderGuaranteed, comm
7172
7184
  if (layoutDependsOnWriteOrder && !writeOrderGuaranteed) {
7173
7185
  throw new Error(ERR_UNDETERMINED_SIZE);
7174
7186
  }
7175
- const directoryDataLength = createDirectoryRecords(files);
7187
+ const { directoryDataLength, zip64Entries } = createDirectoryRecords(files);
7176
7188
  let zip64 = getOptionValue(zipWriter, writerOptions, PROPERTY_NAME_ZIP64);
7177
7189
  if (offset >= MAX_32_BITS || directoryDataLength >= MAX_32_BITS || files.size >= MAX_16_BITS) {
7178
7190
  if (zip64 === false) {
@@ -7180,6 +7192,8 @@ async function getEntriesSize(writerOptions, entries, writeOrderGuaranteed, comm
7180
7192
  } else {
7181
7193
  zip64 = true;
7182
7194
  }
7195
+ } else if (zip64 === UNDEFINED_VALUE && zip64Entries) {
7196
+ zip64 = true;
7183
7197
  }
7184
7198
  return offset - initialOffset + directoryDataLength + commentLength + (zip64 ? ZIP64_END_OF_CENTRAL_DIR_TOTAL_LENGTH : END_OF_CENTRAL_DIR_LENGTH);
7185
7199
  }
@@ -7372,6 +7386,7 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
7372
7386
  rawPassword,
7373
7387
  level,
7374
7388
  zip64,
7389
+ zip64Enabled,
7375
7390
  zip64UncompressedSize,
7376
7391
  zip64CompressedSize,
7377
7392
  zipCrypto,
@@ -7412,6 +7427,7 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
7412
7427
  lockFileEntry,
7413
7428
  versionMadeBy,
7414
7429
  zip64,
7430
+ zip64Enabled,
7415
7431
  directory: Boolean(directory),
7416
7432
  executable: Boolean(executable),
7417
7433
  filenameUTF8: true,
@@ -7555,13 +7571,14 @@ function getHeaderInfo(options) {
7555
7571
  zip64UncompressedSize,
7556
7572
  zip64CompressedSize,
7557
7573
  uncompressedSize,
7574
+ unknownSize,
7558
7575
  crc32
7559
7576
  } = options;
7560
7577
  let { version, compressionMethod } = options;
7561
7578
  const compressed = !directory && isCompressed(compressionMethod, level);
7562
7579
  let rawLocalExtraFieldZip64;
7563
7580
  const uncompressedFile = passThrough || !compressed;
7564
- const zip64ExtraFieldComplete = zip64 && (options.bufferedWrite || !dataDescriptor || ((!zip64UncompressedSize && !zip64CompressedSize) || uncompressedFile));
7581
+ const zip64ExtraFieldComplete = zip64 && (options.bufferedWrite || !dataDescriptor || ((!zip64UncompressedSize && !zip64CompressedSize) || (uncompressedFile && !unknownSize)));
7565
7582
  const writeLocalExtraFieldZip64 = zip64ExtraFieldComplete || (zip64 && dataDescriptor && (zip64UncompressedSize || zip64CompressedSize));
7566
7583
  if (zip64 && (zip64UncompressedSize || zip64CompressedSize)) {
7567
7584
  const length = 4 + 16;
@@ -7695,6 +7712,10 @@ function getHeaderInfo(options) {
7695
7712
  throw new Error(ERR_INVALID_EXTRAFIELD_DATA);
7696
7713
  }
7697
7714
  const dosLastModDate = new Date(Math.ceil(Math.floor(lastModDate.getTime() / 1000) / 2) * 2000);
7715
+ const clampedLastModDate = dosLastModDate < MIN_DATE ? MIN_DATE : dosLastModDate > MAX_DATE ? MAX_DATE : dosLastModDate;
7716
+ const storedLastModDate = getLength(rawExtraFieldExtendedTimestamp) ?
7717
+ new Date(getTimeUnix(lastModDate) * 1000) :
7718
+ getLength(rawExtraFieldNTFS) ? lastModDate : clampedLastModDate;
7698
7719
  const {
7699
7720
  headerArray,
7700
7721
  headerView,
@@ -7704,7 +7725,7 @@ function getHeaderInfo(options) {
7704
7725
  bitFlag: getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted, compressionMethod),
7705
7726
  compressionMethod,
7706
7727
  uncompressedSize,
7707
- lastModDate: dosLastModDate < MIN_DATE ? MIN_DATE : dosLastModDate > MAX_DATE ? MAX_DATE : dosLastModDate,
7728
+ lastModDate: clampedLastModDate,
7708
7729
  rawLastModDate: rawLastModDateOption,
7709
7730
  rawFilename,
7710
7731
  zip64CompressedSize,
@@ -7739,7 +7760,7 @@ function getHeaderInfo(options) {
7739
7760
  localHeaderView,
7740
7761
  headerArray,
7741
7762
  headerView,
7742
- lastModDate,
7763
+ lastModDate: storedLastModDate,
7743
7764
  rawLastModDate,
7744
7765
  encrypted,
7745
7766
  compressed,
@@ -7911,14 +7932,15 @@ function updateLocalHeader({
7911
7932
 
7912
7933
 
7913
7934
  async function closeFile(zipWriter, comment, options) {
7914
- const directoryDataLength = createDirectoryRecords(zipWriter.fileEntries);
7935
+ const { directoryDataLength, zip64Entries } = createDirectoryRecords(zipWriter.fileEntries);
7915
7936
  const { directoryStart, directoryEnd, directoryArray } = await writeDirectoryRecords(zipWriter, directoryDataLength, options);
7916
7937
  const signatureLength = await writeDigitalSignatureRecord(zipWriter, directoryArray, options);
7917
- await writeEndOfDirectoryRecord(zipWriter, comment, options, { directoryStart, directoryEnd, directoryDataLength, signatureLength });
7938
+ await writeEndOfDirectoryRecord(zipWriter, comment, options, { directoryStart, directoryEnd, directoryDataLength, signatureLength, zip64Entries });
7918
7939
  }
7919
7940
 
7920
7941
  function createDirectoryRecords(files) {
7921
7942
  let directoryDataLength = 0;
7943
+ let zip64Entries = false;
7922
7944
  for (const [, fileEntry] of files) {
7923
7945
  const {
7924
7946
  rawFilename,
@@ -7931,11 +7953,20 @@ function createDirectoryRecords(files) {
7931
7953
  extendedTimestamp,
7932
7954
  extraFieldExtendedTimestampFlag,
7933
7955
  lastModDate,
7934
- zip64UncompressedSize,
7935
- zip64CompressedSize,
7956
+ zip64Enabled,
7936
7957
  uncompressedSize,
7937
7958
  compressedSize
7938
7959
  } = fileEntry;
7960
+ let { zip64UncompressedSize, zip64CompressedSize } = fileEntry;
7961
+ if (!zip64Enabled) {
7962
+ if (zip64UncompressedSize && uncompressedSize < MAX_32_BITS) {
7963
+ zip64UncompressedSize = fileEntry.zip64UncompressedSize = false;
7964
+ }
7965
+ if (zip64CompressedSize && compressedSize < MAX_32_BITS) {
7966
+ zip64CompressedSize = fileEntry.zip64CompressedSize = false;
7967
+ }
7968
+ }
7969
+ zip64Entries = zip64Entries || zip64UncompressedSize || zip64CompressedSize;
7939
7970
  const zip64Offset = fileEntry.offset >= MAX_32_BITS;
7940
7971
  const zip64DiskNumberStart = fileEntry.diskNumberStart >= MAX_16_BITS;
7941
7972
  let rawExtraFieldZip64;
@@ -7989,7 +8020,7 @@ function createDirectoryRecords(files) {
7989
8020
  }
7990
8021
  directoryDataLength += CENTRAL_FILE_HEADER_LENGTH + getLength(rawFilename, rawComment) + extraFieldLength;
7991
8022
  }
7992
- return directoryDataLength;
8023
+ return { directoryDataLength, zip64Entries };
7993
8024
  }
7994
8025
 
7995
8026
  async function writeDirectoryRecords(zipWriter, directoryDataLength, options) {
@@ -8109,7 +8140,7 @@ async function writeDigitalSignatureRecord(zipWriter, directoryArray, options) {
8109
8140
 
8110
8141
  async function writeEndOfDirectoryRecord(zipWriter, comment, options, cdInfo) {
8111
8142
  const { writer } = zipWriter;
8112
- const { directoryStart, directoryEnd, signatureLength } = cdInfo;
8143
+ const { directoryStart, directoryEnd, signatureLength, zip64Entries } = cdInfo;
8113
8144
  let { directoryDataLength } = cdInfo;
8114
8145
  let fileEntriesLength = zipWriter.fileEntries.size;
8115
8146
  let diskNumber = directoryStart.diskNumber;
@@ -8129,6 +8160,8 @@ async function writeEndOfDirectoryRecord(zipWriter, comment, options, cdInfo) {
8129
8160
  } else {
8130
8161
  zip64 = true;
8131
8162
  }
8163
+ } else if (zip64 === UNDEFINED_VALUE && zip64Entries) {
8164
+ zip64 = true;
8132
8165
  }
8133
8166
  const endOfdirectoryRecord = createRecordWriter(zip64 ? ZIP64_END_OF_CENTRAL_DIR_TOTAL_LENGTH : END_OF_CENTRAL_DIR_LENGTH);
8134
8167
  if (exceedsAvailableSize(writer, getLength(endOfdirectoryRecord.array) + commentLength)) {
@@ -8632,7 +8665,7 @@ function formatSupported(StreamClass, format) {
8632
8665
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8633
8666
  */
8634
8667
 
8635
- const VERSION = "2.11.2";
8668
+ const VERSION = "2.11.3";
8636
8669
 
8637
8670
  /*
8638
8671
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -10000,12 +10033,14 @@ class ZipDirectoryEntry extends ZipEntry {
10000
10033
  if (options.bufferedWrite === UNDEFINED_VALUE) {
10001
10034
  options.bufferedWrite = true;
10002
10035
  }
10003
- const entries = zipEntry.getChildren({ recursive: true }).filter(child => !isImplicitDirectory(child)).map(child => {
10036
+ const children = zipEntry.getChildren({ recursive: true });
10037
+ const entries = children.filter(child => !isImplicitDirectory(child)).map(child => {
10004
10038
  const { name, entryOptions } = getChildEntryOptions(child, zipEntry, options);
10005
10039
  return { name, size: child.directory ? 0 : getDeterminedSize(child, isPassThrough(child, options)), options: entryOptions };
10006
10040
  });
10007
10041
  const writeOrderGuaranteed = !options.bufferedWrite ||
10008
- (entries.every(entry => entry.options.keepOrder !== false) && zipEntry.children.every(child => !child.children.length));
10042
+ (entries.every(entry => entry.options.keepOrder !== false) &&
10043
+ children.every(child => isImplicitDirectory(child) || !child.children.length));
10009
10044
  return getEntriesSize(options, entries, writeOrderGuaranteed, options.globalComment);
10010
10045
  }
10011
10046
 
@@ -10956,4 +10991,4 @@ function decodeMimeTypes(data) {
10956
10991
  return mimeTypes;
10957
10992
  }
10958
10993
 
10959
- export { BlobReader, BlobWriter, Data64URIReader, Data64URIWriter, ERR_ABORTED, ERR_AMBIGUOUS_ARCHIVE, ERR_BAD_FORMAT, ERR_CENTRAL_DIRECTORY_NOT_FOUND, ERR_DUPLICATED_NAME, ERR_DUPLICATE_IMPORTED_ENTRY, ERR_ENCRYPTED, ERR_ENCRYPTED_CENTRAL_DIRECTORY, ERR_ENTRY_DATA_OUT_OF_BOUNDS, ERR_ENTRY_EXISTS, 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_DUPLICATES, 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_PASS_THROUGH, ERR_INVALID_READER_OPTIONS, ERR_INVALID_SIGNAL, 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_READABLE_CONSUMED, 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, 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_CRYPTO_LAST_MOD_DATE, 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, ZipDirectoryEntry, ZipEntry, ZipFS, ZipFileEntry, ZipReader, ZipReaderStream, ZipWriter, ZipWriterStream, configure, createBlobTempStream, createOPFSTempStream, createSyncAccessHandleTempStream, fs, getMimeType, getRegisteredCodecs, getSupportedCompressionMethods, isZipFile, registerCodec, resetConfiguration, terminateWorkersAndModule as terminateWorkers, unregisterCodec };
10994
+ export { BlobReader, BlobWriter, Data64URIReader, Data64URIWriter, ERR_ABORTED, ERR_AMBIGUOUS_ARCHIVE, ERR_BAD_FORMAT, ERR_CENTRAL_DIRECTORY_NOT_FOUND, ERR_DUPLICATED_NAME, ERR_DUPLICATE_IMPORTED_ENTRY, ERR_ENCRYPTED, ERR_ENCRYPTED_CENTRAL_DIRECTORY, ERR_ENTRY_DATA_OUT_OF_BOUNDS, ERR_ENTRY_EXISTS, 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_DUPLICATES, 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_PASS_THROUGH, ERR_INVALID_READER, ERR_INVALID_READER_OPTIONS, ERR_INVALID_SIGNAL, 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_READABLE_CONSUMED, 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, ERR_UNSUPPORTED_CONTEXT, ERR_UNSUPPORTED_CRYPTO_API, ERR_UNSUPPORTED_ENCRYPTION, ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH, ERR_UNSUPPORTED_ENCRYPTION_USDZ, ERR_UNSUPPORTED_FORMAT, ERR_UNSUPPORTED_SPLIT_USDZ, ERR_UNSUPPORTED_UINT64, ERR_WORKER_STARTUP_TIMEOUT, ERR_WRITER_NOT_INITIALIZED, ERR_ZIP_CRYPTO_LAST_MOD_DATE, 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, ZipDirectoryEntry, ZipEntry, ZipFS, ZipFileEntry, ZipReader, ZipReaderStream, ZipWriter, ZipWriterStream, configure, createBlobTempStream, createOPFSTempStream, createSyncAccessHandleTempStream, fs, getMimeType, getRegisteredCodecs, getSupportedCompressionMethods, isZipFile, registerCodec, resetConfiguration, terminateWorkersAndModule as terminateWorkers, unregisterCodec };