@zip.js/zip.js 2.8.17 → 2.8.18
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 +25 -15
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core.js +25 -15
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-native.js +25 -15
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +25 -15
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +25 -15
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +25 -15
- package/dist/zip-native.min.js +1 -1
- package/dist/zip.js +25 -15
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +25 -15
- package/index-native.min.js +1 -1
- package/index.cjs +25 -15
- package/index.d.ts +7 -0
- package/index.min.js +1 -1
- package/lib/core/codec-worker.js +16 -5
- package/lib/core/options.js +2 -0
- package/lib/core/zip-writer.js +10 -11
- package/package.json +3 -3
package/dist/zip-native.js
CHANGED
|
@@ -1964,6 +1964,8 @@
|
|
|
1964
1964
|
*/
|
|
1965
1965
|
|
|
1966
1966
|
|
|
1967
|
+
const MODULE_WORKER_OPTIONS = { type: "module" };
|
|
1968
|
+
|
|
1967
1969
|
let webWorkerSupported, webWorkerURI, webWorkerOptions;
|
|
1968
1970
|
let transferStreamsSupported = true;
|
|
1969
1971
|
let initModule = () => { };
|
|
@@ -2172,11 +2174,8 @@
|
|
|
2172
2174
|
return { writable, closed };
|
|
2173
2175
|
}
|
|
2174
2176
|
|
|
2175
|
-
function getWebWorker(url, baseURI, workerData, isModuleType
|
|
2177
|
+
function getWebWorker(url, baseURI, workerData, isModuleType, useBlobURI = true) {
|
|
2176
2178
|
let worker, resolvedURI, resolvedOptions;
|
|
2177
|
-
if (isModuleType) {
|
|
2178
|
-
resolvedOptions = { type: "module" };
|
|
2179
|
-
}
|
|
2180
2179
|
if (webWorkerURI === UNDEFINED_VALUE) {
|
|
2181
2180
|
// deno-lint-ignore valid-typeof
|
|
2182
2181
|
const isFunctionURI = typeof url == FUNCTION_TYPE;
|
|
@@ -2188,6 +2187,12 @@
|
|
|
2188
2187
|
const isDataURI = resolvedURI.startsWith("data:");
|
|
2189
2188
|
const isBlobURI = resolvedURI.startsWith("blob:");
|
|
2190
2189
|
if (isDataURI || isBlobURI) {
|
|
2190
|
+
if (isModuleType === UNDEFINED_VALUE) {
|
|
2191
|
+
isModuleType = false;
|
|
2192
|
+
}
|
|
2193
|
+
if (isModuleType) {
|
|
2194
|
+
resolvedOptions = MODULE_WORKER_OPTIONS;
|
|
2195
|
+
}
|
|
2191
2196
|
try {
|
|
2192
2197
|
worker = new Worker(resolvedURI, resolvedOptions);
|
|
2193
2198
|
} catch (error) {
|
|
@@ -2207,6 +2212,12 @@
|
|
|
2207
2212
|
}
|
|
2208
2213
|
}
|
|
2209
2214
|
} else {
|
|
2215
|
+
if (isModuleType === UNDEFINED_VALUE) {
|
|
2216
|
+
isModuleType = true;
|
|
2217
|
+
}
|
|
2218
|
+
if (isModuleType) {
|
|
2219
|
+
resolvedOptions = MODULE_WORKER_OPTIONS;
|
|
2220
|
+
}
|
|
2210
2221
|
try {
|
|
2211
2222
|
resolvedURI = new URL(resolvedURI, baseURI);
|
|
2212
2223
|
} catch {
|
|
@@ -2216,7 +2227,7 @@
|
|
|
2216
2227
|
worker = new Worker(resolvedURI, resolvedOptions);
|
|
2217
2228
|
} catch (error) {
|
|
2218
2229
|
if (!isModuleType) {
|
|
2219
|
-
return getWebWorker(url, baseURI, workerData,
|
|
2230
|
+
return getWebWorker(url, baseURI, workerData, false, useBlobURI);
|
|
2220
2231
|
} else {
|
|
2221
2232
|
throw error;
|
|
2222
2233
|
}
|
|
@@ -4890,7 +4901,6 @@
|
|
|
4890
4901
|
let writingBufferedEntryData;
|
|
4891
4902
|
let writingEntryData;
|
|
4892
4903
|
let fileWriter;
|
|
4893
|
-
let blobPromise;
|
|
4894
4904
|
files.set(name, fileEntry);
|
|
4895
4905
|
try {
|
|
4896
4906
|
let lockPreviousFileEntry;
|
|
@@ -4899,7 +4909,7 @@
|
|
|
4899
4909
|
requestLockCurrentFileEntry();
|
|
4900
4910
|
}
|
|
4901
4911
|
if ((options.bufferedWrite || zipWriter.writerLocked || (zipWriter.bufferedWrites && keepOrder) || !dataDescriptor) && !usdz) {
|
|
4902
|
-
fileWriter = new TransformStream();
|
|
4912
|
+
fileWriter = new TransformStream(undefined, undefined, { highWaterMark: Infinity });
|
|
4903
4913
|
fileWriter.size = 0;
|
|
4904
4914
|
bufferedWrite = true;
|
|
4905
4915
|
zipWriter.bufferedWrites++;
|
|
@@ -4930,20 +4940,20 @@
|
|
|
4930
4940
|
await skipDiskIfNeeded(writable);
|
|
4931
4941
|
}
|
|
4932
4942
|
const { diskNumber } = writer;
|
|
4933
|
-
writingEntryData = true;
|
|
4934
4943
|
fileEntry.diskNumberStart = diskNumber;
|
|
4935
|
-
if (bufferedWrite) {
|
|
4936
|
-
|
|
4937
|
-
} else {
|
|
4944
|
+
if (!bufferedWrite) {
|
|
4945
|
+
writingEntryData = true;
|
|
4938
4946
|
await writeData(fileWriter, localHeaderArray);
|
|
4939
4947
|
}
|
|
4940
4948
|
fileEntry = await createFileEntry(reader, fileWriter, fileEntry, entryInfo, zipWriter.config, options);
|
|
4941
4949
|
const { zip64 } = fileEntry;
|
|
4942
|
-
|
|
4950
|
+
if (!bufferedWrite) {
|
|
4951
|
+
writingEntryData = false;
|
|
4952
|
+
}
|
|
4943
4953
|
files.set(name, fileEntry);
|
|
4944
4954
|
fileEntry.filename = name;
|
|
4945
4955
|
if (bufferedWrite) {
|
|
4946
|
-
|
|
4956
|
+
await Promise.all([fileWriter.writable.getWriter().close(), lockPreviousFileEntry]);
|
|
4947
4957
|
await requestLockWriter();
|
|
4948
4958
|
writingBufferedEntryData = true;
|
|
4949
4959
|
fileEntry.diskNumberStart = writer.diskNumber;
|
|
@@ -4954,7 +4964,7 @@
|
|
|
4954
4964
|
updateLocalHeader(fileEntry, localHeaderView, options);
|
|
4955
4965
|
await skipDiskIfNeeded(writable);
|
|
4956
4966
|
await writeData(writer, localHeaderArray);
|
|
4957
|
-
await
|
|
4967
|
+
await fileWriter.readable.pipeTo(writable, { preventClose: true, preventAbort: true, signal });
|
|
4958
4968
|
writer.size += fileWriter.size;
|
|
4959
4969
|
writingBufferedEntryData = false;
|
|
4960
4970
|
} else {
|
|
@@ -4969,7 +4979,7 @@
|
|
|
4969
4979
|
zipWriter.offset += fileEntry.size;
|
|
4970
4980
|
return fileEntry;
|
|
4971
4981
|
} catch (error) {
|
|
4972
|
-
if (
|
|
4982
|
+
if (writingBufferedEntryData || writingEntryData) {
|
|
4973
4983
|
zipWriter.hasCorruptedEntries = true;
|
|
4974
4984
|
if (error) {
|
|
4975
4985
|
try {
|