@zip.js/zip.js 2.7.50 → 2.7.51

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
@@ -7570,16 +7570,19 @@
7570
7570
  const PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE = "externalFileAttribute";
7571
7571
  const PROPERTY_NAME_MS_DOS_COMPATIBLE = "msDosCompatible";
7572
7572
  const PROPERTY_NAME_ZIP64 = "zip64";
7573
+ const PROPERTY_NAME_ENCRYPTED = "encrypted";
7574
+ const PROPERTY_NAME_VERSION = "version";
7575
+ const PROPERTY_NAME_VERSION_MADE_BY = "versionMadeBy";
7576
+ const PROPERTY_NAME_ZIPCRYPTO = "zipCrypto";
7573
7577
 
7574
7578
  const PROPERTY_NAMES = [
7575
7579
  PROPERTY_NAME_FILENAME, PROPERTY_NAME_RAW_FILENAME, PROPERTY_NAME_COMPPRESSED_SIZE, PROPERTY_NAME_UNCOMPPRESSED_SIZE,
7576
7580
  PROPERTY_NAME_LAST_MODIFICATION_DATE, PROPERTY_NAME_RAW_LAST_MODIFICATION_DATE, PROPERTY_NAME_COMMENT, PROPERTY_NAME_RAW_COMMENT,
7577
7581
  PROPERTY_NAME_LAST_ACCESS_DATE, PROPERTY_NAME_CREATION_DATE, PROPERTY_NAME_OFFSET, PROPERTY_NAME_DISK_NUMBER_START,
7578
7582
  PROPERTY_NAME_DISK_NUMBER_START, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTE, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE,
7579
- PROPERTY_NAME_MS_DOS_COMPATIBLE, PROPERTY_NAME_ZIP64,
7580
- "directory", "bitFlag", "encrypted", "signature", "filenameUTF8", "commentUTF8", "compressionMethod", "version", "versionMadeBy",
7581
- "extraField", "rawExtraField", "extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment", "extraFieldAES", "extraFieldNTFS",
7582
- "extraFieldExtendedTimestamp", "zipCrypto"];
7583
+ PROPERTY_NAME_MS_DOS_COMPATIBLE, PROPERTY_NAME_ZIP64, PROPERTY_NAME_ENCRYPTED, PROPERTY_NAME_VERSION, PROPERTY_NAME_VERSION_MADE_BY,
7584
+ PROPERTY_NAME_ZIPCRYPTO, "directory", "bitFlag", "signature", "filenameUTF8", "commentUTF8", "compressionMethod", "extraField", "rawExtraField",
7585
+ "extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment", "extraFieldAES", "extraFieldNTFS", "extraFieldExtendedTimestamp"];
7583
7586
 
7584
7587
  class Entry {
7585
7588
 
@@ -8431,11 +8434,11 @@
8431
8434
  if (getLength(rawComment) > MAX_16_BITS) {
8432
8435
  throw new Error(ERR_INVALID_ENTRY_COMMENT);
8433
8436
  }
8434
- const version = getOptionValue(zipWriter, options, "version", VERSION_DEFLATE);
8437
+ const version = getOptionValue(zipWriter, options, PROPERTY_NAME_VERSION, VERSION_DEFLATE);
8435
8438
  if (version > MAX_16_BITS) {
8436
8439
  throw new Error(ERR_INVALID_VERSION);
8437
8440
  }
8438
- const versionMadeBy = getOptionValue(zipWriter, options, "versionMadeBy", 20);
8441
+ const versionMadeBy = getOptionValue(zipWriter, options, PROPERTY_NAME_VERSION_MADE_BY, 20);
8439
8442
  if (versionMadeBy > MAX_16_BITS) {
8440
8443
  throw new Error(ERR_INVALID_VERSION);
8441
8444
  }
@@ -8452,7 +8455,7 @@
8452
8455
  rawPassword = getOptionValue(zipWriter, options, "rawPassword");
8453
8456
  }
8454
8457
  const encryptionStrength = getOptionValue(zipWriter, options, "encryptionStrength", 3);
8455
- const zipCrypto = getOptionValue(zipWriter, options, "zipCrypto");
8458
+ const zipCrypto = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIPCRYPTO);
8456
8459
  const extendedTimestamp = getOptionValue(zipWriter, options, "extendedTimestamp", true);
8457
8460
  const keepOrder = getOptionValue(zipWriter, options, "keepOrder", true);
8458
8461
  const level = getOptionValue(zipWriter, options, "level");
@@ -8464,7 +8467,7 @@
8464
8467
  const useCompressionStream = getOptionValue(zipWriter, options, "useCompressionStream");
8465
8468
  let dataDescriptor = getOptionValue(zipWriter, options, "dataDescriptor", true);
8466
8469
  let zip64 = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIP64);
8467
- if ((password !== UNDEFINED_VALUE || rawPassword !== UNDEFINED_VALUE) && encryptionStrength !== UNDEFINED_VALUE && (encryptionStrength < 1 || encryptionStrength > 3)) {
8470
+ if (!zipCrypto && (password !== UNDEFINED_VALUE || rawPassword !== UNDEFINED_VALUE) && !(encryptionStrength >= 1 && encryptionStrength <= 3)) {
8468
8471
  throw new Error(ERR_INVALID_ENCRYPTION_STRENGTH);
8469
8472
  }
8470
8473
  let rawExtraField = new Uint8Array();
@@ -8529,7 +8532,7 @@
8529
8532
  }
8530
8533
  }
8531
8534
  zip64 = zip64 || false;
8532
- const encrypted = getOptionValue(zipWriter, options, "encrypted");
8535
+ const encrypted = getOptionValue(zipWriter, options, PROPERTY_NAME_ENCRYPTED);
8533
8536
  const { signature } = options;
8534
8537
  options = Object.assign({}, options, {
8535
8538
  rawFilename,
@@ -9305,7 +9308,7 @@
9305
9308
  if (availableSize < END_OF_CENTRAL_DIR_LENGTH) {
9306
9309
  lastDiskNumber++;
9307
9310
  }
9308
- let zip64 = getOptionValue(zipWriter, options, "zip64");
9311
+ let zip64 = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIP64);
9309
9312
  if (directoryOffset > MAX_32_BITS || directoryDataLength > MAX_32_BITS || filesLength > MAX_16_BITS || lastDiskNumber > MAX_16_BITS) {
9310
9313
  if (zip64 === false) {
9311
9314
  throw new Error(ERR_UNSUPPORTED_FORMAT);