@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
  });
@@ -6325,6 +6324,7 @@
6325
6324
  pendingAddFileCalls: new Set(),
6326
6325
  pendingErrors: [],
6327
6326
  bufferedWrites: 0,
6327
+ directWrites: 0,
6328
6328
  lastFileEntry: UNDEFINED_VALUE
6329
6329
  });
6330
6330
  }
@@ -7175,6 +7175,7 @@
7175
7175
  const usdz = zipWriter.options[OPTION_USDZ];
7176
7176
  let fileEntry = pendingFileEntry;
7177
7177
  let bufferedWrite;
7178
+ let directWrite;
7178
7179
  let releaseLockWriter;
7179
7180
  let writingBufferedEntryData;
7180
7181
  let writingEntryData;
@@ -7184,7 +7185,7 @@
7184
7185
  const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
7185
7186
  fileEntries.set(name, fileEntry);
7186
7187
  try {
7187
- if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || (!dataDescriptor && !emptyEntry)) {
7188
+ if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || zipWriter.directWrites || (!dataDescriptor && !emptyEntry)) {
7188
7189
  bufferedWrite = true;
7189
7190
  zipWriter.bufferedWrites++;
7190
7191
  if (options.createTempStream) {
@@ -7195,6 +7196,8 @@
7195
7196
  fileWriter.size = 0;
7196
7197
  await initStream(writer);
7197
7198
  } else {
7199
+ directWrite = true;
7200
+ zipWriter.directWrites++;
7198
7201
  fileWriter = writer;
7199
7202
  await lockPreviousFileEntry;
7200
7203
  await requestLockWriter();
@@ -7273,6 +7276,9 @@
7273
7276
  if (bufferedWrite) {
7274
7277
  zipWriter.bufferedWrites--;
7275
7278
  }
7279
+ if (directWrite) {
7280
+ zipWriter.directWrites--;
7281
+ }
7276
7282
  if (releaseLockFileEntry) {
7277
7283
  releaseLockFileEntry(lockPreviousFileEntry);
7278
7284
  }
@@ -7417,8 +7423,8 @@
7417
7423
  }
7418
7424
  const { writable } = writer;
7419
7425
  if (reader) {
7420
- const readable = toCompatibleReadable(createReadable(reader));
7421
7426
  const size = reader.size;
7427
+ const readable = toCompatibleReadable(createReadable(reader, { size }));
7422
7428
  const workerOptions = {
7423
7429
  options: {
7424
7430
  codecType: CODEC_DEFLATE,
@@ -8597,7 +8603,7 @@
8597
8603
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8598
8604
  */
8599
8605
 
8600
- const VERSION = "2.11.0";
8606
+ const VERSION = "2.11.2";
8601
8607
 
8602
8608
  /*
8603
8609
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.