@zip.js/zip.js 2.6.14 → 2.6.15
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/README.md +66 -13
- package/dist/zip-fs-full.js +14 -9
- package/dist/zip-fs-full.min.js +1 -1
- package/dist/zip-fs.js +14 -9
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-full.js +14 -9
- 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 +14 -9
- package/dist/zip.min.js +1 -1
- package/index.d.ts +13 -8
- package/lib/core/zip-writer.js +14 -9
- package/package.json +1 -1
package/dist/zip-full.js
CHANGED
|
@@ -7986,8 +7986,9 @@
|
|
|
7986
7986
|
let bufferedWrite;
|
|
7987
7987
|
let releaseLockWriter;
|
|
7988
7988
|
let releaseLockCurrentFileEntry;
|
|
7989
|
-
let
|
|
7989
|
+
let writingBufferedData;
|
|
7990
7990
|
let fileWriter;
|
|
7991
|
+
let fileWriterSize;
|
|
7991
7992
|
files.set(name, fileEntry);
|
|
7992
7993
|
try {
|
|
7993
7994
|
let lockPreviousFileEntry;
|
|
@@ -8004,6 +8005,7 @@
|
|
|
8004
8005
|
await initStream(writer);
|
|
8005
8006
|
fileWriter = writer;
|
|
8006
8007
|
}
|
|
8008
|
+
fileWriterSize = fileWriter.size;
|
|
8007
8009
|
fileEntry = await createFileEntry(reader, fileEntry, fileWriter.writable, zipWriter.config, options);
|
|
8008
8010
|
files.set(name, fileEntry);
|
|
8009
8011
|
fileEntry.filename = name;
|
|
@@ -8011,7 +8013,7 @@
|
|
|
8011
8013
|
let blob = fileWriter.getData();
|
|
8012
8014
|
await lockPreviousFileEntry;
|
|
8013
8015
|
await requestLockWriter();
|
|
8014
|
-
|
|
8016
|
+
writingBufferedData = true;
|
|
8015
8017
|
const { writable } = writer;
|
|
8016
8018
|
if (!dataDescriptor) {
|
|
8017
8019
|
const headerLength = 26;
|
|
@@ -8031,7 +8033,7 @@
|
|
|
8031
8033
|
blob = blob.slice(headerLength);
|
|
8032
8034
|
}
|
|
8033
8035
|
await blob.stream().pipeTo(writable, { preventClose: true, signal });
|
|
8034
|
-
|
|
8036
|
+
writingBufferedData = false;
|
|
8035
8037
|
}
|
|
8036
8038
|
fileEntry.offset = zipWriter.offset;
|
|
8037
8039
|
if (fileEntry.zip64) {
|
|
@@ -8043,9 +8045,12 @@
|
|
|
8043
8045
|
zipWriter.offset += fileEntry.length;
|
|
8044
8046
|
return fileEntry;
|
|
8045
8047
|
} catch (error) {
|
|
8046
|
-
if ((bufferedWrite &&
|
|
8047
|
-
|
|
8048
|
-
|
|
8048
|
+
if ((bufferedWrite && writingBufferedData) || (!bufferedWrite && fileEntry.writingData)) {
|
|
8049
|
+
zipWriter.hasCorruptedEntries = true;
|
|
8050
|
+
if (error) {
|
|
8051
|
+
error.corruptedEntry = true;
|
|
8052
|
+
}
|
|
8053
|
+
zipWriter.offset += fileWriter.size - fileWriterSize;
|
|
8049
8054
|
}
|
|
8050
8055
|
files.delete(name);
|
|
8051
8056
|
throw error;
|
|
@@ -8222,10 +8227,10 @@
|
|
|
8222
8227
|
arraySet(localHeaderArray, rawExtraField, 30 + rawFilename.length + rawExtraFieldAES.length + rawExtraFieldExtendedTimestamp.length + rawExtraFieldNTFS.length);
|
|
8223
8228
|
let result;
|
|
8224
8229
|
let compressedSize = 0;
|
|
8230
|
+
fileEntry.writingData = pendingFileEntry.writingData = true;
|
|
8225
8231
|
if (reader) {
|
|
8226
8232
|
reader.chunkSize = getChunkSize(config);
|
|
8227
8233
|
await writeData(writable, localHeaderArray);
|
|
8228
|
-
fileEntry.dataWritten = pendingFileEntry.dataWritten = true;
|
|
8229
8234
|
const size = () => reader.size;
|
|
8230
8235
|
const readable = reader.readable;
|
|
8231
8236
|
readable.size = size;
|
|
@@ -8252,7 +8257,6 @@
|
|
|
8252
8257
|
compressedSize = result.size;
|
|
8253
8258
|
} else {
|
|
8254
8259
|
await writeData(writable, localHeaderArray);
|
|
8255
|
-
fileEntry.dataWritten = pendingFileEntry.dataWritten = true;
|
|
8256
8260
|
}
|
|
8257
8261
|
let dataDescriptorArray = new Uint8Array();
|
|
8258
8262
|
let dataDescriptorView, dataDescriptorOffset = 0;
|
|
@@ -8305,7 +8309,8 @@
|
|
|
8305
8309
|
creationDate,
|
|
8306
8310
|
lastAccessDate,
|
|
8307
8311
|
encrypted,
|
|
8308
|
-
length
|
|
8312
|
+
length,
|
|
8313
|
+
writingData: false
|
|
8309
8314
|
});
|
|
8310
8315
|
return fileEntry;
|
|
8311
8316
|
}
|