@zip.js/zip.js 2.5.21 → 2.5.22

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.
@@ -301,10 +301,10 @@ async function getFileEntry(zipWriter, name, reader, options) {
301
301
  let releaseLockWriter;
302
302
  let resolveLockCurrentFileEntry;
303
303
  let writingBufferedData;
304
+ let fileWriter;
304
305
  files.set(name, fileEntry);
305
306
  try {
306
307
  let lockPreviousFileEntry;
307
- let fileWriter;
308
308
  if (options.keepOrder) {
309
309
  lockPreviousFileEntry = previousFileEntry && previousFileEntry.lock;
310
310
  }
@@ -320,7 +320,7 @@ async function getFileEntry(zipWriter, name, reader, options) {
320
320
  }
321
321
  fileWriter = writer;
322
322
  }
323
- fileEntry = await createFileEntry(reader, fileWriter.writable, zipWriter.config, options);
323
+ fileEntry = await createFileEntry(reader, fileEntry, fileWriter.writable, zipWriter.config, options);
324
324
  files.set(name, fileEntry);
325
325
  fileEntry.filename = name;
326
326
  if (bufferedWrite) {
@@ -361,9 +361,7 @@ async function getFileEntry(zipWriter, name, reader, options) {
361
361
  } catch (error) {
362
362
  if ((bufferedWrite && writingBufferedData) || (!bufferedWrite && fileEntry.dataWritten)) {
363
363
  error.corruptedEntry = zipWriter.hasCorruptedEntries = true;
364
- if (fileEntry.uncompressedSize) {
365
- zipWriter.offset += fileEntry.uncompressedSize;
366
- }
364
+ zipWriter.offset += fileWriter.size;
367
365
  }
368
366
  files.delete(name);
369
367
  throw error;
@@ -384,7 +382,7 @@ async function getFileEntry(zipWriter, name, reader, options) {
384
382
  }
385
383
  }
386
384
 
387
- async function createFileEntry(reader, writable, config, options) {
385
+ async function createFileEntry(reader, pendingFileEntry, writable, config, options) {
388
386
  const {
389
387
  rawFilename,
390
388
  lastAccessDate,
@@ -534,7 +532,7 @@ async function createFileEntry(reader, writable, config, options) {
534
532
  let compressedSize = 0;
535
533
  if (reader) {
536
534
  await writeUint8Array(writable, localHeaderArray);
537
- fileEntry.dataWritten = true;
535
+ fileEntry.dataWritten = pendingFileEntry.dataWritten = true;
538
536
  const size = () => reader.size;
539
537
  const readable = reader.readable;
540
538
  readable.size = size;
@@ -562,7 +560,7 @@ async function createFileEntry(reader, writable, config, options) {
562
560
  compressedSize = result.length;
563
561
  } else {
564
562
  await writeUint8Array(writable, localHeaderArray);
565
- fileEntry.dataWritten = true;
563
+ fileEntry.dataWritten = pendingFileEntry.dataWritten = true;
566
564
  }
567
565
  let dataDescriptorArray = new Uint8Array();
568
566
  let dataDescriptorView, dataDescriptorOffset = 0;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "A JavaScript library to zip and unzip files in the browser and Deno",
4
4
  "author": "Gildas Lormeau",
5
5
  "license": "BSD-3-Clause",
6
- "version": "2.5.21",
6
+ "version": "2.5.22",
7
7
  "type": "module",
8
8
  "keywords": [
9
9
  "zip",