@zip.js/zip.js 2.11.1 → 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.
@@ -3639,11 +3639,10 @@ class Reader extends Stream {
3639
3639
  const data = await readUint8Array(reader, offset + chunkOffset, dataSize);
3640
3640
  if (data.length) {
3641
3641
  controller.enqueue(data);
3642
+ chunkOffset += data.length;
3642
3643
  }
3643
- if ((chunkOffset + chunkSize >= size) || (!data.length && dataSize)) {
3644
+ if ((size !== UNDEFINED_VALUE && chunkOffset >= size) || (!data.length && dataSize)) {
3644
3645
  controller.close();
3645
- } else {
3646
- chunkOffset += chunkSize;
3647
3646
  }
3648
3647
  }
3649
3648
  });
@@ -6278,6 +6277,7 @@ const ERR_INVALID_ENTRY_NAME = "File entry name exceeds 64KB";
6278
6277
  const ERR_INVALID_VERSION = "Version exceeds 65535";
6279
6278
  const ERR_INVALID_ENCRYPTION_STRENGTH = "The strength must equal 1, 2, or 3";
6280
6279
  const ERR_UNSUPPORTED_ENCRYPTION_USDZ = "Encryption is not supported in USDZ files";
6280
+ const ERR_UNSUPPORTED_SPLIT_USDZ = "Split zip files are not supported in USDZ files";
6281
6281
  const ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH = "Encryption is not supported when the 'passThrough' option is set";
6282
6282
  const ERR_INVALID_EXTRAFIELD = "Invalid extra field (must be a Map)";
6283
6283
  const ERR_INVALID_EXTRAFIELD_TYPE = "Invalid extra field type (must be integer 0..65535)";
@@ -6292,6 +6292,7 @@ const ERR_UNDEFINED_UNCOMPRESSED_SIZE = "Undefined uncompressed size";
6292
6292
  const ERR_UNDEFINED_COMPRESSION_METHOD = "Undefined compression method";
6293
6293
  const ERR_UNDETERMINED_SIZE = "Undetermined size";
6294
6294
  const ERR_UNDEFINED_READER = "Undefined reader";
6295
+ const ERR_INVALID_READER = "Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)";
6295
6296
  const ERR_ZIP_NOT_EMPTY = "Zip file not empty";
6296
6297
  const ERR_INVALID_UID = "Invalid uid (must be integer 0..2^32-1)";
6297
6298
  const ERR_INVALID_GID = "Invalid gid (must be integer 0..2^32-1)";
@@ -6323,6 +6324,9 @@ class ZipWriter {
6323
6324
  const addSplitZipSignature =
6324
6325
  availableSize > 0 && availableSize !== INFINITY_VALUE &&
6325
6326
  maxSize > 0 && maxSize !== INFINITY_VALUE;
6327
+ if (addSplitZipSignature && options[OPTION_USDZ]) {
6328
+ throw new Error(ERR_UNSUPPORTED_SPLIT_USDZ);
6329
+ }
6326
6330
  Object.assign(this, {
6327
6331
  writer,
6328
6332
  addSplitZipSignature,
@@ -6334,6 +6338,7 @@ class ZipWriter {
6334
6338
  pendingAddFileCalls: new Set(),
6335
6339
  pendingErrors: [],
6336
6340
  bufferedWrites: 0,
6341
+ directWrites: 0,
6337
6342
  lastFileEntry: UNDEFINED_VALUE
6338
6343
  });
6339
6344
  }
@@ -6437,6 +6442,7 @@ class ZipWriter {
6437
6442
  }
6438
6443
  const { offset, diskNumberStart } = entryPositions.get(entry);
6439
6444
  Object.assign(entry, {
6445
+ zip64Enabled: true,
6440
6446
  zip64UncompressedSize,
6441
6447
  zip64CompressedSize,
6442
6448
  offset,
@@ -7012,6 +7018,9 @@ async function resolveSizes(zipWriter, reader, { resolvedOptions: metadata }, op
7012
7018
  if (reader) {
7013
7019
  reader = new GenericReader(reader);
7014
7020
  await initStream(reader);
7021
+ if (!reader.readable && !reader.readUint8Array) {
7022
+ throw new Error(ERR_INVALID_READER);
7023
+ }
7015
7024
  ({ size: contentSize } = reader);
7016
7025
  }
7017
7026
  return Object.assign({ reader }, resolveEntrySizes(zipWriter, Boolean(reader), contentSize, metadata, options));
@@ -7022,6 +7031,7 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
7022
7031
  let { dataDescriptor, zip64, level, compressionMethod } = metadata;
7023
7032
  let maximumCompressedSize = 0;
7024
7033
  let uncompressedSize = 0;
7034
+ let unknownSize = false;
7025
7035
  if (passThrough && hasContent) {
7026
7036
  uncompressedSize = options[PROPERTY_NAME_UNCOMPRESSED_SIZE];
7027
7037
  if (uncompressedSize === UNDEFINED_VALUE) {
@@ -7047,8 +7057,8 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
7047
7057
  if (contentSize === UNDEFINED_VALUE) {
7048
7058
  dataDescriptor = true;
7049
7059
  if (zip64 || zip64 === UNDEFINED_VALUE) {
7050
- zip64 = true;
7051
- uncompressedSize = maximumCompressedSize = MAX_32_BITS + 1;
7060
+ zip64 = unknownSize = true;
7061
+ maximumCompressedSize = MAX_32_BITS + 1;
7052
7062
  }
7053
7063
  } else {
7054
7064
  options.uncompressedSize = uncompressedSize = contentSize;
@@ -7063,7 +7073,7 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
7063
7073
  if (emptyEntry && !zipCrypto && getOptionValue(zipWriter, options, OPTION_DATA_DESCRIPTOR) === UNDEFINED_VALUE) {
7064
7074
  dataDescriptor = false;
7065
7075
  }
7066
- const zip64UncompressedSize = zip64Enabled || uncompressedSize >= MAX_32_BITS;
7076
+ const zip64UncompressedSize = zip64Enabled || unknownSize || uncompressedSize >= MAX_32_BITS;
7067
7077
  const zip64CompressedSize = zip64Enabled || maximumCompressedSize >= MAX_32_BITS;
7068
7078
  if (zip64UncompressedSize || zip64CompressedSize) {
7069
7079
  if (zip64 === false) {
@@ -7079,6 +7089,8 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
7079
7089
  dataDescriptor,
7080
7090
  emptyEntry,
7081
7091
  zip64,
7092
+ zip64Enabled,
7093
+ unknownSize,
7082
7094
  zip64UncompressedSize,
7083
7095
  zip64CompressedSize,
7084
7096
  uncompressedSize,
@@ -7109,6 +7121,7 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
7109
7121
  const usdz = zipWriter.options[OPTION_USDZ];
7110
7122
  let fileEntry = pendingFileEntry;
7111
7123
  let bufferedWrite;
7124
+ let directWrite;
7112
7125
  let releaseLockWriter;
7113
7126
  let writingBufferedEntryData;
7114
7127
  let writingEntryData;
@@ -7118,7 +7131,7 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
7118
7131
  const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
7119
7132
  fileEntries.set(name, fileEntry);
7120
7133
  try {
7121
- if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || (!dataDescriptor && !emptyEntry)) {
7134
+ if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || zipWriter.directWrites || (!dataDescriptor && !emptyEntry)) {
7122
7135
  bufferedWrite = true;
7123
7136
  zipWriter.bufferedWrites++;
7124
7137
  if (options.createTempStream) {
@@ -7129,6 +7142,8 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
7129
7142
  fileWriter.size = 0;
7130
7143
  await initStream(writer);
7131
7144
  } else {
7145
+ directWrite = true;
7146
+ zipWriter.directWrites++;
7132
7147
  fileWriter = writer;
7133
7148
  await lockPreviousFileEntry;
7134
7149
  await requestLockWriter();
@@ -7207,6 +7222,9 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
7207
7222
  if (bufferedWrite) {
7208
7223
  zipWriter.bufferedWrites--;
7209
7224
  }
7225
+ if (directWrite) {
7226
+ zipWriter.directWrites--;
7227
+ }
7210
7228
  if (releaseLockFileEntry) {
7211
7229
  releaseLockFileEntry(lockPreviousFileEntry);
7212
7230
  }
@@ -7271,6 +7289,7 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
7271
7289
  rawPassword,
7272
7290
  level,
7273
7291
  zip64,
7292
+ zip64Enabled,
7274
7293
  zip64UncompressedSize,
7275
7294
  zip64CompressedSize,
7276
7295
  zipCrypto,
@@ -7311,6 +7330,7 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
7311
7330
  lockFileEntry,
7312
7331
  versionMadeBy,
7313
7332
  zip64,
7333
+ zip64Enabled,
7314
7334
  directory: Boolean(directory),
7315
7335
  executable: Boolean(executable),
7316
7336
  filenameUTF8: true,
@@ -7351,8 +7371,8 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
7351
7371
  }
7352
7372
  const { writable } = writer;
7353
7373
  if (reader) {
7354
- const readable = toCompatibleReadable(createReadable(reader));
7355
7374
  const size = reader.size;
7375
+ const readable = toCompatibleReadable(createReadable(reader, { size }));
7356
7376
  const workerOptions = {
7357
7377
  options: {
7358
7378
  codecType: CODEC_DEFLATE,
@@ -7454,13 +7474,14 @@ function getHeaderInfo(options) {
7454
7474
  zip64UncompressedSize,
7455
7475
  zip64CompressedSize,
7456
7476
  uncompressedSize,
7477
+ unknownSize,
7457
7478
  crc32
7458
7479
  } = options;
7459
7480
  let { version, compressionMethod } = options;
7460
7481
  const compressed = !directory && isCompressed(compressionMethod, level);
7461
7482
  let rawLocalExtraFieldZip64;
7462
7483
  const uncompressedFile = passThrough || !compressed;
7463
- const zip64ExtraFieldComplete = zip64 && (options.bufferedWrite || !dataDescriptor || ((!zip64UncompressedSize && !zip64CompressedSize) || uncompressedFile));
7484
+ const zip64ExtraFieldComplete = zip64 && (options.bufferedWrite || !dataDescriptor || ((!zip64UncompressedSize && !zip64CompressedSize) || (uncompressedFile && !unknownSize)));
7464
7485
  const writeLocalExtraFieldZip64 = zip64ExtraFieldComplete || (zip64 && dataDescriptor && (zip64UncompressedSize || zip64CompressedSize));
7465
7486
  if (zip64 && (zip64UncompressedSize || zip64CompressedSize)) {
7466
7487
  const length = 4 + 16;
@@ -7594,6 +7615,10 @@ function getHeaderInfo(options) {
7594
7615
  throw new Error(ERR_INVALID_EXTRAFIELD_DATA);
7595
7616
  }
7596
7617
  const dosLastModDate = new Date(Math.ceil(Math.floor(lastModDate.getTime() / 1000) / 2) * 2000);
7618
+ const clampedLastModDate = dosLastModDate < MIN_DATE ? MIN_DATE : dosLastModDate > MAX_DATE ? MAX_DATE : dosLastModDate;
7619
+ const storedLastModDate = getLength(rawExtraFieldExtendedTimestamp) ?
7620
+ new Date(getTimeUnix(lastModDate) * 1000) :
7621
+ getLength(rawExtraFieldNTFS) ? lastModDate : clampedLastModDate;
7597
7622
  const {
7598
7623
  headerArray,
7599
7624
  headerView,
@@ -7603,7 +7628,7 @@ function getHeaderInfo(options) {
7603
7628
  bitFlag: getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted, compressionMethod),
7604
7629
  compressionMethod,
7605
7630
  uncompressedSize,
7606
- lastModDate: dosLastModDate < MIN_DATE ? MIN_DATE : dosLastModDate > MAX_DATE ? MAX_DATE : dosLastModDate,
7631
+ lastModDate: clampedLastModDate,
7607
7632
  rawLastModDate: rawLastModDateOption,
7608
7633
  rawFilename,
7609
7634
  zip64CompressedSize,
@@ -7638,7 +7663,7 @@ function getHeaderInfo(options) {
7638
7663
  localHeaderView,
7639
7664
  headerArray,
7640
7665
  headerView,
7641
- lastModDate,
7666
+ lastModDate: storedLastModDate,
7642
7667
  rawLastModDate,
7643
7668
  encrypted,
7644
7669
  compressed,
@@ -7810,14 +7835,15 @@ function updateLocalHeader({
7810
7835
 
7811
7836
 
7812
7837
  async function closeFile(zipWriter, comment, options) {
7813
- const directoryDataLength = createDirectoryRecords(zipWriter.fileEntries);
7838
+ const { directoryDataLength, zip64Entries } = createDirectoryRecords(zipWriter.fileEntries);
7814
7839
  const { directoryStart, directoryEnd, directoryArray } = await writeDirectoryRecords(zipWriter, directoryDataLength, options);
7815
7840
  const signatureLength = await writeDigitalSignatureRecord(zipWriter, directoryArray, options);
7816
- await writeEndOfDirectoryRecord(zipWriter, comment, options, { directoryStart, directoryEnd, directoryDataLength, signatureLength });
7841
+ await writeEndOfDirectoryRecord(zipWriter, comment, options, { directoryStart, directoryEnd, directoryDataLength, signatureLength, zip64Entries });
7817
7842
  }
7818
7843
 
7819
7844
  function createDirectoryRecords(files) {
7820
7845
  let directoryDataLength = 0;
7846
+ let zip64Entries = false;
7821
7847
  for (const [, fileEntry] of files) {
7822
7848
  const {
7823
7849
  rawFilename,
@@ -7830,11 +7856,20 @@ function createDirectoryRecords(files) {
7830
7856
  extendedTimestamp,
7831
7857
  extraFieldExtendedTimestampFlag,
7832
7858
  lastModDate,
7833
- zip64UncompressedSize,
7834
- zip64CompressedSize,
7859
+ zip64Enabled,
7835
7860
  uncompressedSize,
7836
7861
  compressedSize
7837
7862
  } = fileEntry;
7863
+ let { zip64UncompressedSize, zip64CompressedSize } = fileEntry;
7864
+ if (!zip64Enabled) {
7865
+ if (zip64UncompressedSize && uncompressedSize < MAX_32_BITS) {
7866
+ zip64UncompressedSize = fileEntry.zip64UncompressedSize = false;
7867
+ }
7868
+ if (zip64CompressedSize && compressedSize < MAX_32_BITS) {
7869
+ zip64CompressedSize = fileEntry.zip64CompressedSize = false;
7870
+ }
7871
+ }
7872
+ zip64Entries = zip64Entries || zip64UncompressedSize || zip64CompressedSize;
7838
7873
  const zip64Offset = fileEntry.offset >= MAX_32_BITS;
7839
7874
  const zip64DiskNumberStart = fileEntry.diskNumberStart >= MAX_16_BITS;
7840
7875
  let rawExtraFieldZip64;
@@ -7888,7 +7923,7 @@ function createDirectoryRecords(files) {
7888
7923
  }
7889
7924
  directoryDataLength += CENTRAL_FILE_HEADER_LENGTH + getLength(rawFilename, rawComment) + extraFieldLength;
7890
7925
  }
7891
- return directoryDataLength;
7926
+ return { directoryDataLength, zip64Entries };
7892
7927
  }
7893
7928
 
7894
7929
  async function writeDirectoryRecords(zipWriter, directoryDataLength, options) {
@@ -8008,7 +8043,7 @@ async function writeDigitalSignatureRecord(zipWriter, directoryArray, options) {
8008
8043
 
8009
8044
  async function writeEndOfDirectoryRecord(zipWriter, comment, options, cdInfo) {
8010
8045
  const { writer } = zipWriter;
8011
- const { directoryStart, directoryEnd, signatureLength } = cdInfo;
8046
+ const { directoryStart, directoryEnd, signatureLength, zip64Entries } = cdInfo;
8012
8047
  let { directoryDataLength } = cdInfo;
8013
8048
  let fileEntriesLength = zipWriter.fileEntries.size;
8014
8049
  let diskNumber = directoryStart.diskNumber;
@@ -8028,6 +8063,8 @@ async function writeEndOfDirectoryRecord(zipWriter, comment, options, cdInfo) {
8028
8063
  } else {
8029
8064
  zip64 = true;
8030
8065
  }
8066
+ } else if (zip64 === UNDEFINED_VALUE && zip64Entries) {
8067
+ zip64 = true;
8031
8068
  }
8032
8069
  const endOfdirectoryRecord = createRecordWriter(zip64 ? ZIP64_END_OF_CENTRAL_DIR_TOTAL_LENGTH : END_OF_CENTRAL_DIR_LENGTH);
8033
8070
  if (exceedsAvailableSize(writer, getLength(endOfdirectoryRecord.array) + commentLength)) {
@@ -8531,7 +8568,7 @@ function formatSupported(StreamClass, format) {
8531
8568
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8532
8569
  */
8533
8570
 
8534
- const VERSION = "2.11.1";
8571
+ const VERSION = "2.11.3";
8535
8572
 
8536
8573
  /*
8537
8574
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -9362,4 +9399,4 @@ function terminateWorkersAndModule() {
9362
9399
 
9363
9400
  configureExternalAssets();
9364
9401
 
9365
- 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_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, 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 };
9402
+ 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_READER, 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_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_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 };