@zip.js/zip.js 2.11.0 → 2.11.2

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.
@@ -3610,11 +3610,10 @@
3610
3610
  const data = await readUint8Array(reader, offset + chunkOffset, dataSize);
3611
3611
  if (data.length) {
3612
3612
  controller.enqueue(data);
3613
+ chunkOffset += data.length;
3613
3614
  }
3614
- if ((chunkOffset + chunkSize >= size) || (!data.length && dataSize)) {
3615
+ if ((size !== UNDEFINED_VALUE && chunkOffset >= size) || (!data.length && dataSize)) {
3615
3616
  controller.close();
3616
- } else {
3617
- chunkOffset += chunkSize;
3618
3617
  }
3619
3618
  }
3620
3619
  });
@@ -6305,6 +6304,7 @@
6305
6304
  pendingAddFileCalls: new Set(),
6306
6305
  pendingErrors: [],
6307
6306
  bufferedWrites: 0,
6307
+ directWrites: 0,
6308
6308
  lastFileEntry: UNDEFINED_VALUE
6309
6309
  });
6310
6310
  }
@@ -7080,6 +7080,7 @@
7080
7080
  const usdz = zipWriter.options[OPTION_USDZ];
7081
7081
  let fileEntry = pendingFileEntry;
7082
7082
  let bufferedWrite;
7083
+ let directWrite;
7083
7084
  let releaseLockWriter;
7084
7085
  let writingBufferedEntryData;
7085
7086
  let writingEntryData;
@@ -7089,7 +7090,7 @@
7089
7090
  const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
7090
7091
  fileEntries.set(name, fileEntry);
7091
7092
  try {
7092
- if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || (!dataDescriptor && !emptyEntry)) {
7093
+ if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || zipWriter.directWrites || (!dataDescriptor && !emptyEntry)) {
7093
7094
  bufferedWrite = true;
7094
7095
  zipWriter.bufferedWrites++;
7095
7096
  if (options.createTempStream) {
@@ -7100,6 +7101,8 @@
7100
7101
  fileWriter.size = 0;
7101
7102
  await initStream(writer);
7102
7103
  } else {
7104
+ directWrite = true;
7105
+ zipWriter.directWrites++;
7103
7106
  fileWriter = writer;
7104
7107
  await lockPreviousFileEntry;
7105
7108
  await requestLockWriter();
@@ -7178,6 +7181,9 @@
7178
7181
  if (bufferedWrite) {
7179
7182
  zipWriter.bufferedWrites--;
7180
7183
  }
7184
+ if (directWrite) {
7185
+ zipWriter.directWrites--;
7186
+ }
7181
7187
  if (releaseLockFileEntry) {
7182
7188
  releaseLockFileEntry(lockPreviousFileEntry);
7183
7189
  }
@@ -7322,8 +7328,8 @@
7322
7328
  }
7323
7329
  const { writable } = writer;
7324
7330
  if (reader) {
7325
- const readable = toCompatibleReadable(createReadable(reader));
7326
7331
  const size = reader.size;
7332
+ const readable = toCompatibleReadable(createReadable(reader, { size }));
7327
7333
  const workerOptions = {
7328
7334
  options: {
7329
7335
  codecType: CODEC_DEFLATE,
@@ -8502,7 +8508,7 @@
8502
8508
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8503
8509
  */
8504
8510
 
8505
- const VERSION = "2.11.0";
8511
+ const VERSION = "2.11.2";
8506
8512
 
8507
8513
  /*
8508
8514
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.