@zip.js/zip.js 2.7.66 → 2.7.67
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/.github/workflows/publish.yml +19 -2
- package/deno.json +1 -1
- package/dist/zip-fs-full.js +17 -31
- package/dist/zip-fs-full.min.js +1 -1
- package/dist/zip-fs.js +17 -31
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-full.js +17 -31
- package/dist/zip-full.min.js +1 -1
- package/dist/zip-no-worker-deflate.min.js +1 -1
- package/dist/zip-no-worker.min.js +1 -1
- package/dist/zip.js +17 -31
- package/dist/zip.min.js +1 -1
- package/index.cjs +17 -31
- package/index.min.js +1 -1
- package/lib/core/constants.js +2 -0
- package/lib/core/zip-writer.js +18 -32
- package/package.json +2 -2
package/index.cjs
CHANGED
|
@@ -4247,6 +4247,7 @@ function ZipInflate(options) {
|
|
|
4247
4247
|
const MAX_32_BITS = 0xffffffff;
|
|
4248
4248
|
const MAX_16_BITS = 0xffff;
|
|
4249
4249
|
const COMPRESSION_METHOD_DEFLATE = 0x08;
|
|
4250
|
+
const COMPRESSION_METHOD_DEFLATE_64 = 0x09;
|
|
4250
4251
|
const COMPRESSION_METHOD_STORE = 0x00;
|
|
4251
4252
|
const COMPRESSION_METHOD_AES = 0x63;
|
|
4252
4253
|
|
|
@@ -10037,27 +10038,11 @@ class ZipWriter {
|
|
|
10037
10038
|
if (this.filenames.size) {
|
|
10038
10039
|
throw new Error(ERR_ZIP_NOT_EMPTY);
|
|
10039
10040
|
}
|
|
10040
|
-
|
|
10041
|
-
const
|
|
10042
|
-
const zipReader = new ZipReader(new ReadableStream({
|
|
10043
|
-
async start(controller) {
|
|
10044
|
-
const reader = zipEntriesReader.getReader();
|
|
10045
|
-
await readChunk();
|
|
10046
|
-
|
|
10047
|
-
async function readChunk() {
|
|
10048
|
-
const { done, value } = await reader.read();
|
|
10049
|
-
if (done) {
|
|
10050
|
-
controller.close();
|
|
10051
|
-
} else {
|
|
10052
|
-
controller.enqueue(value);
|
|
10053
|
-
await readChunk();
|
|
10054
|
-
}
|
|
10055
|
-
}
|
|
10056
|
-
}
|
|
10057
|
-
}));
|
|
10041
|
+
reader = new GenericReader(reader);
|
|
10042
|
+
const zipReader = new ZipReader(reader.readable);
|
|
10058
10043
|
const entries = await zipReader.getEntries();
|
|
10059
10044
|
await zipReader.close();
|
|
10060
|
-
await
|
|
10045
|
+
await reader.readable.pipeTo(this.writer.writable, { preventClose: true, preventAbort: true });
|
|
10061
10046
|
this.writer.size = this.offset = reader.size;
|
|
10062
10047
|
this.filenames = new Set(entries.map(entry => entry.filename));
|
|
10063
10048
|
this.files = new Map(entries.map(entry => {
|
|
@@ -10097,7 +10082,7 @@ class ZipWriter {
|
|
|
10097
10082
|
headerView
|
|
10098
10083
|
} = getHeaderArrayData({
|
|
10099
10084
|
version,
|
|
10100
|
-
bitFlag: getBitFlag(level, languageEncodingFlag, dataDescriptor, encrypted),
|
|
10085
|
+
bitFlag: getBitFlag(level, languageEncodingFlag, dataDescriptor, encrypted, compressionMethod),
|
|
10101
10086
|
compressionMethod,
|
|
10102
10087
|
uncompressedSize,
|
|
10103
10088
|
compressedSize,
|
|
@@ -10883,7 +10868,7 @@ function getHeaderInfo(options) {
|
|
|
10883
10868
|
rawLastModDate
|
|
10884
10869
|
} = getHeaderArrayData({
|
|
10885
10870
|
version,
|
|
10886
|
-
bitFlag: getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted),
|
|
10871
|
+
bitFlag: getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted, compressionMethod),
|
|
10887
10872
|
compressionMethod,
|
|
10888
10873
|
uncompressedSize,
|
|
10889
10874
|
lastModDate: lastModDate < MIN_DATE ? MIN_DATE : lastModDate > MAX_DATE ? MAX_DATE : lastModDate,
|
|
@@ -11371,8 +11356,7 @@ function getHeaderArrayData({
|
|
|
11371
11356
|
};
|
|
11372
11357
|
}
|
|
11373
11358
|
|
|
11374
|
-
|
|
11375
|
-
function getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted) {
|
|
11359
|
+
function getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted, compressionMethod) {
|
|
11376
11360
|
let bitFlag = 0;
|
|
11377
11361
|
if (useUnicodeFileNames) {
|
|
11378
11362
|
bitFlag = bitFlag | BITFLAG_LANG_ENCODING_FLAG;
|
|
@@ -11380,14 +11364,16 @@ function getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted) {
|
|
|
11380
11364
|
if (dataDescriptor) {
|
|
11381
11365
|
bitFlag = bitFlag | BITFLAG_DATA_DESCRIPTOR;
|
|
11382
11366
|
}
|
|
11383
|
-
if (
|
|
11384
|
-
|
|
11385
|
-
|
|
11386
|
-
|
|
11387
|
-
|
|
11388
|
-
|
|
11389
|
-
|
|
11390
|
-
|
|
11367
|
+
if (compressionMethod == COMPRESSION_METHOD_DEFLATE || compressionMethod == COMPRESSION_METHOD_DEFLATE_64) {
|
|
11368
|
+
if (level >= 0 && level <= 3) {
|
|
11369
|
+
bitFlag = bitFlag | BITFLAG_LEVEL_SUPER_FAST_MASK;
|
|
11370
|
+
}
|
|
11371
|
+
if (level > 3 && level <= 5) {
|
|
11372
|
+
bitFlag = bitFlag | BITFLAG_LEVEL_FAST_MASK;
|
|
11373
|
+
}
|
|
11374
|
+
if (level == 9) {
|
|
11375
|
+
bitFlag = bitFlag | BITFLAG_LEVEL_MAX_MASK;
|
|
11376
|
+
}
|
|
11391
11377
|
}
|
|
11392
11378
|
if (encrypted) {
|
|
11393
11379
|
bitFlag = bitFlag | BITFLAG_ENCRYPTED;
|