@zip.js/zip.js 2.8.61 → 2.10.0

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.
@@ -495,7 +495,7 @@
495
495
  // Every table MUST stay a PACKED_SMI array: build with array literals (not `new Array(n)`,
496
496
  // which is HOLEY) and store the signed int32 XOR result (no `>>> 0`). An unsigned or holey
497
497
  // table becomes a V8 FixedDoubleArray whose every hot-loop lookup unboxes a double (~1.6x
498
- // slower). Signedness is irrelevant to the result — the reads mask/shift it and the final
498
+ // slower). Signedness is irrelevant to the result: the reads mask/shift it and the final
499
499
  // `~crc` normalizes it. Do NOT reintroduce `>>> 0` here or switch to `new Array(256)`.
500
500
  const T$1 = [[], [], [], [], [], [], [], []];
501
501
  for (let n = 0; n < 256; n++) {
@@ -3477,21 +3477,14 @@
3477
3477
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3478
3478
  */
3479
3479
 
3480
- /* global TextDecoder */
3481
-
3482
- const CP437 = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");
3483
- const VALID_CP437 = CP437.length == 256;
3480
+ const CP437 = "\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\u00B6\u00A7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00A2\u00A3\u00A5\u20A7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0".split("");
3484
3481
 
3485
3482
  function decodeCP437(stringValue) {
3486
- if (VALID_CP437) {
3487
- let result = "";
3488
- for (let indexCharacter = 0; indexCharacter < stringValue.length; indexCharacter++) {
3489
- result += CP437[stringValue[indexCharacter]];
3490
- }
3491
- return result;
3492
- } else {
3493
- return new TextDecoder().decode(stringValue);
3483
+ let result = "";
3484
+ for (let indexCharacter = 0; indexCharacter < stringValue.length; indexCharacter++) {
3485
+ result += CP437[stringValue[indexCharacter]];
3494
3486
  }
3487
+ return result;
3495
3488
  }
3496
3489
 
3497
3490
  /*
@@ -4725,6 +4718,7 @@
4725
4718
  const WARNING_WRAPPED_ENTRIES_COUNT = "wrapped entries count";
4726
4719
  const WARNING_APPENDED_DATA = "appended data";
4727
4720
  const WARNING_PREPENDED_DATA = "prepended data";
4721
+ const WARNING_PREPENDED_CENTRAL_DIRECTORY = "prepended central directory";
4728
4722
  const WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = "trailing central directory data";
4729
4723
  const WARNING_DUPLICATE_FILENAME = "duplicate filename";
4730
4724
  const WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = "mismatched zip64 end of central directory record";
@@ -4818,6 +4812,7 @@
4818
4812
  let diskNumber = getUint16$1(endOfDirectoryView, 6);
4819
4813
  let filesLength = getUint16$1(endOfDirectoryView, 10);
4820
4814
  let prependedDataLength = 0;
4815
+ let prependedCentralDirectory;
4821
4816
  let startOffset;
4822
4817
  let zip64EndOfDirectory;
4823
4818
  let zip64EndOfDirectoryVersion2;
@@ -4921,6 +4916,7 @@
4921
4916
  directoryDataOffset = expectedDirectoryDataOffset;
4922
4917
  if (directoryDataOffset > originalDirectoryDataOffset) {
4923
4918
  prependedDataLength += directoryDataOffset - originalDirectoryDataOffset;
4919
+ prependedCentralDirectory = storedPointsAtDirectory;
4924
4920
  }
4925
4921
  directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
4926
4922
  directoryView = getDataView(directoryArray);
@@ -5148,6 +5144,9 @@
5148
5144
  if (prependedDataLength || (filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH)) {
5149
5145
  addWarning(warnings, WARNING_PREPENDED_DATA);
5150
5146
  }
5147
+ if (prependedCentralDirectory) {
5148
+ addWarning(warnings, WARNING_PREPENDED_CENTRAL_DIRECTORY);
5149
+ }
5151
5150
  if (extractPrependedData) {
5152
5151
  zipReader.prependedData = startOffset > splitZipSignatureLength ?
5153
5152
  await readUint8Array(reader, splitZipSignatureLength, startOffset - splitZipSignatureLength) :
@@ -6208,6 +6207,7 @@
6208
6207
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD: WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,
6209
6208
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES: WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,
6210
6209
  WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY: WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,
6210
+ WARNING_PREPENDED_CENTRAL_DIRECTORY: WARNING_PREPENDED_CENTRAL_DIRECTORY,
6211
6211
  WARNING_PREPENDED_DATA: WARNING_PREPENDED_DATA,
6212
6212
  WARNING_TRAILING_CENTRAL_DIRECTORY_DATA: WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,
6213
6213
  WARNING_UNKNOWN_VERSION: WARNING_UNKNOWN_VERSION,
@@ -8524,7 +8524,7 @@
8524
8524
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8525
8525
  */
8526
8526
 
8527
- const VERSION = "2.8.61";
8527
+ const VERSION = "2.10.0";
8528
8528
 
8529
8529
  /*
8530
8530
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -9133,6 +9133,7 @@
9133
9133
  exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD = WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD;
9134
9134
  exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES = WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES;
9135
9135
  exports.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY;
9136
+ exports.WARNING_PREPENDED_CENTRAL_DIRECTORY = WARNING_PREPENDED_CENTRAL_DIRECTORY;
9136
9137
  exports.WARNING_PREPENDED_DATA = WARNING_PREPENDED_DATA;
9137
9138
  exports.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = WARNING_TRAILING_CENTRAL_DIRECTORY_DATA;
9138
9139
  exports.WARNING_UNKNOWN_VERSION = WARNING_UNKNOWN_VERSION;