@zip.js/zip.js 2.7.16 → 2.7.18

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-full.js CHANGED
@@ -6786,7 +6786,11 @@
6786
6786
  const reader = this;
6787
6787
  const offsetEnd = offset + length;
6788
6788
  const blob = offset || offsetEnd < reader.size ? reader.blob.slice(offset, offsetEnd) : reader.blob;
6789
- return new Uint8Array(await blob.arrayBuffer());
6789
+ let arrayBuffer = await blob.arrayBuffer();
6790
+ if (arrayBuffer.byteLength > length) {
6791
+ arrayBuffer = arrayBuffer.slice(offset, offsetEnd);
6792
+ }
6793
+ return new Uint8Array(arrayBuffer);
6790
6794
  }
6791
6795
  }
6792
6796
 
@@ -7604,7 +7608,7 @@
7604
7608
  }
7605
7609
  }
7606
7610
  const expectedDirectoryDataLength = endOfDirectoryInfo.offset - directoryDataOffset - (reader.lastDiskOffset || 0);
7607
- if (directoryDataLength != expectedDirectoryDataLength && expectedDirectoryDataLength) {
7611
+ if (directoryDataLength != expectedDirectoryDataLength && expectedDirectoryDataLength >= 0) {
7608
7612
  directoryDataLength = expectedDirectoryDataLength;
7609
7613
  directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength, diskNumber);
7610
7614
  directoryView = getDataView$1(directoryArray);
@@ -8823,7 +8827,11 @@
8823
8827
  }
8824
8828
 
8825
8829
  async function writeExtraHeaderInfo(fileEntry, entryData, writable, { zipCrypto }) {
8826
- const arrayBuffer = await sliceAsArrayBuffer(entryData, 0, 26);
8830
+ let arrayBuffer;
8831
+ arrayBuffer = await entryData.slice(0, 26).arrayBuffer();
8832
+ if (arrayBuffer.byteLength != 26) {
8833
+ arrayBuffer = arrayBuffer.slice(0, 26);
8834
+ }
8827
8835
  const arrayBufferView = new DataView(arrayBuffer);
8828
8836
  if (!fileEntry.encrypted || zipCrypto) {
8829
8837
  setUint32(arrayBufferView, 14, fileEntry.signature);
@@ -9032,14 +9040,6 @@
9032
9040
  }
9033
9041
  }
9034
9042
 
9035
- function sliceAsArrayBuffer(blob, start, end) {
9036
- if (start || end) {
9037
- return blob.slice(start, end).arrayBuffer();
9038
- } else {
9039
- return blob.arrayBuffer();
9040
- }
9041
- }
9042
-
9043
9043
  async function writeData(writable, array) {
9044
9044
  const streamWriter = writable.getWriter();
9045
9045
  await streamWriter.ready;