@zip.js/zip.js 2.11.1 → 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.
package/dist/zip-fs.js CHANGED
@@ -3614,11 +3614,10 @@
3614
3614
  const data = await readUint8Array(reader, offset + chunkOffset, dataSize);
3615
3615
  if (data.length) {
3616
3616
  controller.enqueue(data);
3617
+ chunkOffset += data.length;
3617
3618
  }
3618
- if ((chunkOffset + chunkSize >= size) || (!data.length && dataSize)) {
3619
+ if ((size !== UNDEFINED_VALUE && chunkOffset >= size) || (!data.length && dataSize)) {
3619
3620
  controller.close();
3620
- } else {
3621
- chunkOffset += chunkSize;
3622
3621
  }
3623
3622
  }
3624
3623
  });
@@ -6329,6 +6328,7 @@
6329
6328
  pendingAddFileCalls: new Set(),
6330
6329
  pendingErrors: [],
6331
6330
  bufferedWrites: 0,
6331
+ directWrites: 0,
6332
6332
  lastFileEntry: UNDEFINED_VALUE
6333
6333
  });
6334
6334
  }
@@ -7179,6 +7179,7 @@
7179
7179
  const usdz = zipWriter.options[OPTION_USDZ];
7180
7180
  let fileEntry = pendingFileEntry;
7181
7181
  let bufferedWrite;
7182
+ let directWrite;
7182
7183
  let releaseLockWriter;
7183
7184
  let writingBufferedEntryData;
7184
7185
  let writingEntryData;
@@ -7188,7 +7189,7 @@
7188
7189
  const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
7189
7190
  fileEntries.set(name, fileEntry);
7190
7191
  try {
7191
- if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || (!dataDescriptor && !emptyEntry)) {
7192
+ if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || zipWriter.directWrites || (!dataDescriptor && !emptyEntry)) {
7192
7193
  bufferedWrite = true;
7193
7194
  zipWriter.bufferedWrites++;
7194
7195
  if (options.createTempStream) {
@@ -7199,6 +7200,8 @@
7199
7200
  fileWriter.size = 0;
7200
7201
  await initStream(writer);
7201
7202
  } else {
7203
+ directWrite = true;
7204
+ zipWriter.directWrites++;
7202
7205
  fileWriter = writer;
7203
7206
  await lockPreviousFileEntry;
7204
7207
  await requestLockWriter();
@@ -7277,6 +7280,9 @@
7277
7280
  if (bufferedWrite) {
7278
7281
  zipWriter.bufferedWrites--;
7279
7282
  }
7283
+ if (directWrite) {
7284
+ zipWriter.directWrites--;
7285
+ }
7280
7286
  if (releaseLockFileEntry) {
7281
7287
  releaseLockFileEntry(lockPreviousFileEntry);
7282
7288
  }
@@ -7421,8 +7427,8 @@
7421
7427
  }
7422
7428
  const { writable } = writer;
7423
7429
  if (reader) {
7424
- const readable = toCompatibleReadable(createReadable(reader));
7425
7430
  const size = reader.size;
7431
+ const readable = toCompatibleReadable(createReadable(reader, { size }));
7426
7432
  const workerOptions = {
7427
7433
  options: {
7428
7434
  codecType: CODEC_DEFLATE,
@@ -8601,7 +8607,7 @@
8601
8607
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8602
8608
  */
8603
8609
 
8604
- const VERSION = "2.11.1";
8610
+ const VERSION = "2.11.2";
8605
8611
 
8606
8612
  /*
8607
8613
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.