@zip.js/zip.js 2.6.41 → 2.6.42

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
@@ -7342,14 +7342,34 @@
7342
7342
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7343
7343
  */
7344
7344
 
7345
+ const PROPERTY_NAME_FILENAME = "filename";
7346
+ const PROPERTY_NAME_RAW_FILENAME = "rawFilename";
7347
+ const PROPERTY_NAME_COMMENT = "comment";
7348
+ const PROPERTY_NAME_RAW_COMMENT = "rawComment";
7349
+ const PROPERTY_NAME_UNCOMPPRESSED_SIZE = "uncompressedSize";
7350
+ const PROPERTY_NAME_COMPPRESSED_SIZE = "compressedSize";
7351
+ const PROPERTY_NAME_OFFSET = "offset";
7352
+ const PROPERTY_NAME_DISK_NUMBER_START = "diskNumberStart";
7353
+ const PROPERTY_NAME_LAST_MODIFICATION_DATE = "lastModDate";
7354
+ const PROPERTY_NAME_RAW_LAST_MODIFICATION_DATE = "rawLastModDate";
7355
+ const PROPERTY_NAME_LAST_ACCESS_DATE = "lastAccessDate";
7356
+ const PROPERTY_NAME_RAW_LAST_ACCESS_DATE = "rawLastAccessDate";
7357
+ const PROPERTY_NAME_CREATION_DATE = "creationDate";
7358
+ const PROPERTY_NAME_RAW_CREATION_DATE = "rawCreationDate";
7359
+ const PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTE = "internalFileAttribute";
7360
+ const PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE = "externalFileAttribute";
7361
+ const PROPERTY_NAME_MS_DOS_COMPATIBLE = "msDosCompatible";
7362
+ const PROPERTY_NAME_ZIP64 = "zip64";
7363
+
7345
7364
  const PROPERTY_NAMES = [
7346
- "filename", "rawFilename", "directory", "encrypted", "compressedSize", "uncompressedSize",
7347
- "lastModDate", "rawLastModDate", "comment", "rawComment", "signature", "extraField",
7348
- "rawExtraField", "bitFlag", "extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment",
7349
- "extraFieldAES", "filenameUTF8", "commentUTF8", "offset", "zip64", "compressionMethod",
7350
- "extraFieldNTFS", "lastAccessDate", "creationDate", "extraFieldExtendedTimestamp",
7351
- "version", "versionMadeBy", "msDosCompatible", "internalFileAttribute", "externalFileAttribute",
7352
- "diskNumberStart"];
7365
+ PROPERTY_NAME_FILENAME, PROPERTY_NAME_RAW_FILENAME, PROPERTY_NAME_COMPPRESSED_SIZE, PROPERTY_NAME_UNCOMPPRESSED_SIZE,
7366
+ PROPERTY_NAME_LAST_MODIFICATION_DATE, PROPERTY_NAME_RAW_LAST_MODIFICATION_DATE, PROPERTY_NAME_COMMENT, PROPERTY_NAME_RAW_COMMENT,
7367
+ PROPERTY_NAME_LAST_ACCESS_DATE, PROPERTY_NAME_CREATION_DATE, PROPERTY_NAME_OFFSET, PROPERTY_NAME_DISK_NUMBER_START,
7368
+ PROPERTY_NAME_DISK_NUMBER_START, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTE, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE,
7369
+ PROPERTY_NAME_MS_DOS_COMPATIBLE, PROPERTY_NAME_ZIP64,
7370
+ "directory", "bitFlag", "encrypted", "signature", "filenameUTF8", "commentUTF8", "compressionMethod", "version", "versionMadeBy",
7371
+ "extraField", "rawExtraField", "extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment", "extraFieldAES", "extraFieldNTFS",
7372
+ "extraFieldExtendedTimestamp"];
7353
7373
 
7354
7374
  class Entry {
7355
7375
 
@@ -7401,10 +7421,10 @@
7401
7421
  const CHARSET_UTF8 = "utf-8";
7402
7422
  const CHARSET_CP437 = "cp437";
7403
7423
  const ZIP64_PROPERTIES = [
7404
- ["uncompressedSize", MAX_32_BITS],
7405
- ["compressedSize", MAX_32_BITS],
7406
- ["offset", MAX_32_BITS],
7407
- ["diskNumberStart", MAX_16_BITS]
7424
+ [PROPERTY_NAME_UNCOMPPRESSED_SIZE, MAX_32_BITS],
7425
+ [PROPERTY_NAME_COMPPRESSED_SIZE, MAX_32_BITS],
7426
+ [PROPERTY_NAME_OFFSET, MAX_32_BITS],
7427
+ [PROPERTY_NAME_DISK_NUMBER_START, MAX_16_BITS]
7408
7428
  ];
7409
7429
  const ZIP64_EXTRACTION = {
7410
7430
  [MAX_16_BITS]: {
@@ -7764,12 +7784,12 @@
7764
7784
  }
7765
7785
  const extraFieldUnicodePath = extraField.get(EXTRAFIELD_TYPE_UNICODE_PATH);
7766
7786
  if (extraFieldUnicodePath) {
7767
- await readExtraFieldUnicode(extraFieldUnicodePath, "filename", "rawFilename", directory, fileEntry);
7787
+ await readExtraFieldUnicode(extraFieldUnicodePath, PROPERTY_NAME_FILENAME, PROPERTY_NAME_RAW_FILENAME, directory, fileEntry);
7768
7788
  directory.extraFieldUnicodePath = extraFieldUnicodePath;
7769
7789
  }
7770
7790
  const extraFieldUnicodeComment = extraField.get(EXTRAFIELD_TYPE_UNICODE_COMMENT);
7771
7791
  if (extraFieldUnicodeComment) {
7772
- await readExtraFieldUnicode(extraFieldUnicodeComment, "comment", "rawComment", directory, fileEntry);
7792
+ await readExtraFieldUnicode(extraFieldUnicodeComment, PROPERTY_NAME_COMMENT, PROPERTY_NAME_RAW_COMMENT, directory, fileEntry);
7773
7793
  directory.extraFieldUnicodeComment = extraFieldUnicodeComment;
7774
7794
  }
7775
7795
  const extraFieldAES = extraField.get(EXTRAFIELD_TYPE_AES);
@@ -7883,16 +7903,16 @@
7883
7903
  const timeProperties = [];
7884
7904
  const timeRawProperties = [];
7885
7905
  if ((flags & 0x1) == 0x1) {
7886
- timeProperties.push("lastModDate");
7887
- timeRawProperties.push("rawLastModDate");
7906
+ timeProperties.push(PROPERTY_NAME_LAST_MODIFICATION_DATE);
7907
+ timeRawProperties.push(PROPERTY_NAME_RAW_LAST_MODIFICATION_DATE);
7888
7908
  }
7889
7909
  if ((flags & 0x2) == 0x2) {
7890
- timeProperties.push("lastAccessDate");
7891
- timeRawProperties.push("rawLastAccessDate");
7910
+ timeProperties.push(PROPERTY_NAME_LAST_ACCESS_DATE);
7911
+ timeRawProperties.push(PROPERTY_NAME_RAW_LAST_ACCESS_DATE);
7892
7912
  }
7893
7913
  if ((flags & 0x4) == 0x4) {
7894
- timeProperties.push("creationDate");
7895
- timeRawProperties.push("rawCreationDate");
7914
+ timeProperties.push(PROPERTY_NAME_CREATION_DATE);
7915
+ timeRawProperties.push(PROPERTY_NAME_RAW_CREATION_DATE);
7896
7916
  }
7897
7917
  let offset = 1;
7898
7918
  timeProperties.forEach((propertyName, indexProperty) => {
@@ -8119,9 +8139,9 @@
8119
8139
  if (versionMadeBy > MAX_16_BITS) {
8120
8140
  throw new Error(ERR_INVALID_VERSION);
8121
8141
  }
8122
- const lastModDate = getOptionValue(zipWriter, options, "lastModDate") || new Date();
8123
- const lastAccessDate = getOptionValue(zipWriter, options, "lastAccessDate");
8124
- const creationDate = getOptionValue(zipWriter, options, "creationDate");
8142
+ const lastModDate = getOptionValue(zipWriter, options, PROPERTY_NAME_LAST_MODIFICATION_DATE) || new Date();
8143
+ const lastAccessDate = getOptionValue(zipWriter, options, PROPERTY_NAME_LAST_ACCESS_DATE);
8144
+ const creationDate = getOptionValue(zipWriter, options, PROPERTY_NAME_CREATION_DATE);
8125
8145
  const password = getOptionValue(zipWriter, options, "password");
8126
8146
  const encryptionStrength = getOptionValue(zipWriter, options, "encryptionStrength") || 3;
8127
8147
  const zipCrypto = getOptionValue(zipWriter, options, "zipCrypto");
@@ -8159,13 +8179,13 @@
8159
8179
  keepOrder = true;
8160
8180
  }
8161
8181
  let uncompressedSize = 0;
8162
- let msDosCompatible = getOptionValue(zipWriter, options, "msDosCompatible");
8182
+ let msDosCompatible = getOptionValue(zipWriter, options, PROPERTY_NAME_MS_DOS_COMPATIBLE);
8163
8183
  if (msDosCompatible === UNDEFINED_VALUE) {
8164
8184
  msDosCompatible = true;
8165
8185
  }
8166
- const internalFileAttribute = getOptionValue(zipWriter, options, "internalFileAttribute") || 0;
8167
- const externalFileAttribute = getOptionValue(zipWriter, options, "externalFileAttribute") || 0;
8168
- let zip64 = getOptionValue(zipWriter, options, "zip64");
8186
+ const internalFileAttribute = getOptionValue(zipWriter, options, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTE) || 0;
8187
+ const externalFileAttribute = getOptionValue(zipWriter, options, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE) || 0;
8188
+ let zip64 = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIP64);
8169
8189
  if (reader) {
8170
8190
  if (reader instanceof ReadableStream) {
8171
8191
  reader = {
@@ -8241,8 +8261,9 @@
8241
8261
  let fileEntry;
8242
8262
  try {
8243
8263
  fileEntry = await getFileEntry(zipWriter, name, reader, { headerInfo, dataDescriptorInfo }, options);
8264
+ zipWriter.pendingEntriesSize -= maximumEntrySize;
8244
8265
  } catch (error) {
8245
- if (!error.corruptedEntry && maximumEntrySize) {
8266
+ if (!error.corruptedEntry) {
8246
8267
  zipWriter.pendingEntriesSize -= maximumEntrySize;
8247
8268
  }
8248
8269
  throw error;
@@ -8292,7 +8313,7 @@
8292
8313
  if (zipWriter.addSplitZipSignature) {
8293
8314
  delete zipWriter.addSplitZipSignature;
8294
8315
  const signatureArray = new Uint8Array(4);
8295
- const signatureArrayView = new DataView(signatureArray.buffer);
8316
+ const signatureArrayView = getDataView(signatureArray);
8296
8317
  setUint32(signatureArrayView, 0, SPLIT_ZIP_FILE_SIGNATURE);
8297
8318
  await writeData(writable, signatureArray);
8298
8319
  zipWriter.offset += 4;
@@ -8430,9 +8451,9 @@
8430
8451
  externalFileAttribute,
8431
8452
  diskNumberStart
8432
8453
  };
8454
+ let compressedSize = 0;
8433
8455
  let uncompressedSize = 0;
8434
8456
  let signature;
8435
- let compressedSize = 0;
8436
8457
  const { writable } = writer;
8437
8458
  if (reader) {
8438
8459
  reader.chunkSize = getChunkSize(config);
@@ -8827,7 +8848,7 @@
8827
8848
  const endOfdirectoryView = getDataView(endOfdirectoryArray);
8828
8849
  let lastDiskNumber = writer.diskNumber;
8829
8850
  const { availableSize } = writer;
8830
- if (availableSize < endOfdirectoryArray.length) {
8851
+ if (availableSize < getLength(endOfdirectoryArray)) {
8831
8852
  lastDiskNumber++;
8832
8853
  }
8833
8854
  offset = 0;