@zip.js/zip.js 2.7.12 → 2.7.14

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.
@@ -8029,7 +8029,7 @@
8029
8029
  reject(request.status == 416 ? new Error(ERR_HTTP_RANGE) : new Error(ERR_HTTP_STATUS + (request.statusText || request.status)));
8030
8030
  }
8031
8031
  }, false);
8032
- request.addEventListener("error", event => reject(event.detail.error), false);
8032
+ request.addEventListener("error", event => reject(event.detail ? event.detail.error : new Error("Network error")), false);
8033
8033
  request.open(method, url);
8034
8034
  if (headers) {
8035
8035
  for (const entry of Object.entries(headers)) {
@@ -8130,8 +8130,12 @@
8130
8130
  const reader = this;
8131
8131
  const { readers } = reader;
8132
8132
  reader.lastDiskNumber = 0;
8133
- await Promise.all(readers.map(async diskReader => {
8133
+ reader.lastDiskOffset = 0;
8134
+ await Promise.all(readers.map(async (diskReader, indexDiskReader) => {
8134
8135
  await diskReader.init();
8136
+ if (indexDiskReader != readers.length - 1) {
8137
+ reader.lastDiskOffset += diskReader.size;
8138
+ }
8135
8139
  reader.size += diskReader.size;
8136
8140
  }));
8137
8141
  super.init();
@@ -8595,6 +8599,12 @@
8595
8599
  directoryView = getDataView$1(directoryArray);
8596
8600
  }
8597
8601
  }
8602
+ const expectedDirectoryDataLength = endOfDirectoryInfo.offset - directoryDataOffset - (reader.lastDiskOffset || 0);
8603
+ if (directoryDataLength != expectedDirectoryDataLength && expectedDirectoryDataLength) {
8604
+ directoryDataLength = expectedDirectoryDataLength;
8605
+ directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength, diskNumber);
8606
+ directoryView = getDataView$1(directoryArray);
8607
+ }
8598
8608
  if (directoryDataOffset < 0 || directoryDataOffset >= reader.size) {
8599
8609
  throw new Error(ERR_BAD_FORMAT);
8600
8610
  }