@zip.js/zip.js 2.8.18 → 2.8.20
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/deno.json +1 -1
- package/dist/zip-core.js +19 -23
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core.js +19 -23
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-native.js +19 -23
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +19 -23
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +19 -23
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +19 -23
- package/dist/zip-native.min.js +1 -1
- package/dist/zip.js +19 -23
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +19 -23
- package/index-native.min.js +1 -1
- package/index.cjs +19 -23
- package/index.d.ts +6 -6
- package/index.min.js +1 -1
- package/lib/core/codec-worker.js +2 -17
- package/lib/core/constants.js +2 -0
- package/lib/core/io.js +3 -2
- package/lib/core/zip-writer.js +16 -4
- package/package.json +1 -4
package/index.cjs
CHANGED
|
@@ -99,6 +99,7 @@ const MAX_DATE = new Date(2107, 11, 31);
|
|
|
99
99
|
const MIN_DATE = new Date(1980, 0, 1);
|
|
100
100
|
|
|
101
101
|
const UNDEFINED_VALUE = undefined;
|
|
102
|
+
const INFINITY_VALUE = Infinity;
|
|
102
103
|
const UNDEFINED_TYPE = "undefined";
|
|
103
104
|
const FUNCTION_TYPE = "function";
|
|
104
105
|
const OBJECT_TYPE = "object";
|
|
@@ -2152,23 +2153,8 @@ async function runWebWorker(workerData, config) {
|
|
|
2152
2153
|
}
|
|
2153
2154
|
|
|
2154
2155
|
function watchClosedStream(writableSource) {
|
|
2155
|
-
|
|
2156
|
-
const closed =
|
|
2157
|
-
const writable = new WritableStream({
|
|
2158
|
-
async write(chunk) {
|
|
2159
|
-
const writer = writableSource.getWriter();
|
|
2160
|
-
await writer.ready;
|
|
2161
|
-
await writer.write(chunk);
|
|
2162
|
-
writer.releaseLock();
|
|
2163
|
-
},
|
|
2164
|
-
close() {
|
|
2165
|
-
resolveStreamClosed();
|
|
2166
|
-
},
|
|
2167
|
-
abort(reason) {
|
|
2168
|
-
const writer = writableSource.getWriter();
|
|
2169
|
-
return writer.abort(reason);
|
|
2170
|
-
}
|
|
2171
|
-
});
|
|
2156
|
+
const { writable, readable } = new TransformStream();
|
|
2157
|
+
const closed = readable.pipeTo(writableSource, { preventClose: true });
|
|
2172
2158
|
return { writable, closed };
|
|
2173
2159
|
}
|
|
2174
2160
|
|
|
@@ -3166,8 +3152,8 @@ class GenericWriter {
|
|
|
3166
3152
|
Object.assign(writer, {
|
|
3167
3153
|
diskNumber: 0,
|
|
3168
3154
|
diskOffset: 0,
|
|
3169
|
-
availableSize:
|
|
3170
|
-
maxSize:
|
|
3155
|
+
availableSize: INFINITY_VALUE,
|
|
3156
|
+
maxSize: INFINITY_VALUE
|
|
3171
3157
|
});
|
|
3172
3158
|
}
|
|
3173
3159
|
return writer;
|
|
@@ -3457,6 +3443,7 @@ const OPTION_EXTENDED_TIMESTAMP = "extendedTimestamp";
|
|
|
3457
3443
|
const OPTION_KEEP_ORDER = "keepOrder";
|
|
3458
3444
|
const OPTION_LEVEL = "level";
|
|
3459
3445
|
const OPTION_BUFFERED_WRITE = "bufferedWrite";
|
|
3446
|
+
const OPTION_CREATE_TEMP_STREAM = "createTempStream";
|
|
3460
3447
|
const OPTION_DATA_DESCRIPTOR_SIGNATURE = "dataDescriptorSignature";
|
|
3461
3448
|
const OPTION_USE_UNICODE_FILE_NAMES = "useUnicodeFileNames";
|
|
3462
3449
|
const OPTION_DATA_DESCRIPTOR = "dataDescriptor";
|
|
@@ -4402,8 +4389,8 @@ class ZipWriter {
|
|
|
4402
4389
|
constructor(writer, options = {}) {
|
|
4403
4390
|
writer = new GenericWriter(writer);
|
|
4404
4391
|
const addSplitZipSignature =
|
|
4405
|
-
writer.availableSize !== UNDEFINED_VALUE && writer.availableSize > 0 && writer.availableSize !==
|
|
4406
|
-
writer.maxSize !== UNDEFINED_VALUE && writer.maxSize > 0 && writer.maxSize !==
|
|
4392
|
+
writer.availableSize !== UNDEFINED_VALUE && writer.availableSize > 0 && writer.availableSize !== INFINITY_VALUE &&
|
|
4393
|
+
writer.maxSize !== UNDEFINED_VALUE && writer.maxSize > 0 && writer.maxSize !== INFINITY_VALUE;
|
|
4407
4394
|
Object.assign(this, {
|
|
4408
4395
|
writer,
|
|
4409
4396
|
addSplitZipSignature,
|
|
@@ -4721,7 +4708,9 @@ async function addFile(zipWriter, name, reader, options) {
|
|
|
4721
4708
|
const extendedTimestamp = getOptionValue(zipWriter, options, OPTION_EXTENDED_TIMESTAMP, true);
|
|
4722
4709
|
const keepOrder = getOptionValue(zipWriter, options, OPTION_KEEP_ORDER, true);
|
|
4723
4710
|
const useWebWorkers = getOptionValue(zipWriter, options, OPTION_USE_WEB_WORKERS);
|
|
4711
|
+
const transferStreams = getOptionValue(zipWriter, options, OPTION_TRANSFER_STREAMS, true);
|
|
4724
4712
|
const bufferedWrite = getOptionValue(zipWriter, options, OPTION_BUFFERED_WRITE);
|
|
4713
|
+
const createTempStream = getOptionValue(zipWriter, options, OPTION_CREATE_TEMP_STREAM);
|
|
4725
4714
|
const dataDescriptorSignature = getOptionValue(zipWriter, options, OPTION_DATA_DESCRIPTOR_SIGNATURE, false);
|
|
4726
4715
|
const signal = getOptionValue(zipWriter, options, OPTION_SIGNAL);
|
|
4727
4716
|
const useUnicodeFileNames = getOptionValue(zipWriter, options, OPTION_USE_UNICODE_FILE_NAMES, true);
|
|
@@ -4827,10 +4816,12 @@ async function addFile(zipWriter, name, reader, options) {
|
|
|
4827
4816
|
rawPassword,
|
|
4828
4817
|
level,
|
|
4829
4818
|
useWebWorkers,
|
|
4819
|
+
transferStreams,
|
|
4830
4820
|
encryptionStrength,
|
|
4831
4821
|
extendedTimestamp,
|
|
4832
4822
|
zipCrypto,
|
|
4833
4823
|
bufferedWrite,
|
|
4824
|
+
createTempStream,
|
|
4834
4825
|
keepOrder,
|
|
4835
4826
|
useUnicodeFileNames,
|
|
4836
4827
|
dataDescriptor,
|
|
@@ -4907,7 +4898,11 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
4907
4898
|
requestLockCurrentFileEntry();
|
|
4908
4899
|
}
|
|
4909
4900
|
if ((options.bufferedWrite || zipWriter.writerLocked || (zipWriter.bufferedWrites && keepOrder) || !dataDescriptor) && !usdz) {
|
|
4910
|
-
|
|
4901
|
+
if (options.createTempStream) {
|
|
4902
|
+
fileWriter = await options.createTempStream();
|
|
4903
|
+
} else {
|
|
4904
|
+
fileWriter = new TransformStream(UNDEFINED_VALUE, UNDEFINED_VALUE, { highWaterMark: INFINITY_VALUE });
|
|
4905
|
+
}
|
|
4911
4906
|
fileWriter.size = 0;
|
|
4912
4907
|
bufferedWrite = true;
|
|
4913
4908
|
zipWriter.bufferedWrites++;
|
|
@@ -5072,6 +5067,7 @@ async function createFileEntry(reader, writer, { diskNumberStart, lock }, entryI
|
|
|
5072
5067
|
rawComment,
|
|
5073
5068
|
rawExtraField,
|
|
5074
5069
|
useWebWorkers,
|
|
5070
|
+
transferStreams,
|
|
5075
5071
|
onstart,
|
|
5076
5072
|
onprogress,
|
|
5077
5073
|
onend,
|
|
@@ -5152,7 +5148,7 @@ async function createFileEntry(reader, writer, { diskNumberStart, lock }, entryI
|
|
|
5152
5148
|
encrypted: encrypted && !passThrough,
|
|
5153
5149
|
useWebWorkers,
|
|
5154
5150
|
useCompressionStream,
|
|
5155
|
-
transferStreams
|
|
5151
|
+
transferStreams
|
|
5156
5152
|
},
|
|
5157
5153
|
config,
|
|
5158
5154
|
streamOptions: { signal, size, onstart, onprogress, onend }
|
package/index.d.ts
CHANGED
|
@@ -293,6 +293,12 @@ export interface WorkerConfiguration {
|
|
|
293
293
|
* @defaultValue true
|
|
294
294
|
*/
|
|
295
295
|
useCompressionStream?: boolean;
|
|
296
|
+
/**
|
|
297
|
+
* `true` to transfer stream ownership to web workers.
|
|
298
|
+
*
|
|
299
|
+
* @defaultValue true
|
|
300
|
+
*/
|
|
301
|
+
transferStreams?: boolean;
|
|
296
302
|
}
|
|
297
303
|
|
|
298
304
|
/**
|
|
@@ -885,12 +891,6 @@ export interface ZipReaderOptions {
|
|
|
885
891
|
* @defaultValue false
|
|
886
892
|
*/
|
|
887
893
|
preventClose?: boolean;
|
|
888
|
-
/**
|
|
889
|
-
* `true` to transfer streams to web workers when decompressing data.
|
|
890
|
-
*
|
|
891
|
-
* @defaultValue true
|
|
892
|
-
*/
|
|
893
|
-
transferStreams?: boolean;
|
|
894
894
|
}
|
|
895
895
|
|
|
896
896
|
/**
|