@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.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
  });
@@ -6309,6 +6308,7 @@
6309
6308
  pendingAddFileCalls: new Set(),
6310
6309
  pendingErrors: [],
6311
6310
  bufferedWrites: 0,
6311
+ directWrites: 0,
6312
6312
  lastFileEntry: UNDEFINED_VALUE
6313
6313
  });
6314
6314
  }
@@ -7084,6 +7084,7 @@
7084
7084
  const usdz = zipWriter.options[OPTION_USDZ];
7085
7085
  let fileEntry = pendingFileEntry;
7086
7086
  let bufferedWrite;
7087
+ let directWrite;
7087
7088
  let releaseLockWriter;
7088
7089
  let writingBufferedEntryData;
7089
7090
  let writingEntryData;
@@ -7093,7 +7094,7 @@
7093
7094
  const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
7094
7095
  fileEntries.set(name, fileEntry);
7095
7096
  try {
7096
- if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || (!dataDescriptor && !emptyEntry)) {
7097
+ if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || zipWriter.directWrites || (!dataDescriptor && !emptyEntry)) {
7097
7098
  bufferedWrite = true;
7098
7099
  zipWriter.bufferedWrites++;
7099
7100
  if (options.createTempStream) {
@@ -7104,6 +7105,8 @@
7104
7105
  fileWriter.size = 0;
7105
7106
  await initStream(writer);
7106
7107
  } else {
7108
+ directWrite = true;
7109
+ zipWriter.directWrites++;
7107
7110
  fileWriter = writer;
7108
7111
  await lockPreviousFileEntry;
7109
7112
  await requestLockWriter();
@@ -7182,6 +7185,9 @@
7182
7185
  if (bufferedWrite) {
7183
7186
  zipWriter.bufferedWrites--;
7184
7187
  }
7188
+ if (directWrite) {
7189
+ zipWriter.directWrites--;
7190
+ }
7185
7191
  if (releaseLockFileEntry) {
7186
7192
  releaseLockFileEntry(lockPreviousFileEntry);
7187
7193
  }
@@ -7326,8 +7332,8 @@
7326
7332
  }
7327
7333
  const { writable } = writer;
7328
7334
  if (reader) {
7329
- const readable = toCompatibleReadable(createReadable(reader));
7330
7335
  const size = reader.size;
7336
+ const readable = toCompatibleReadable(createReadable(reader, { size }));
7331
7337
  const workerOptions = {
7332
7338
  options: {
7333
7339
  codecType: CODEC_DEFLATE,
@@ -8506,7 +8512,7 @@
8506
8512
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8507
8513
  */
8508
8514
 
8509
- const VERSION = "2.11.1";
8515
+ const VERSION = "2.11.2";
8510
8516
 
8511
8517
  /*
8512
8518
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.