@zip.js/zip.js 2.6.5 → 2.6.8

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/dist/zip-full.js CHANGED
@@ -6939,6 +6939,12 @@
6939
6939
  return protocol == "http:" || protocol == "https:";
6940
6940
  }
6941
6941
 
6942
+ async function initStream(stream) {
6943
+ if (stream.init && !stream.initialized) {
6944
+ await stream.init();
6945
+ }
6946
+ }
6947
+
6942
6948
  /*
6943
6949
  Copyright (c) 2022 Gildas Lormeau. All rights reserved.
6944
6950
 
@@ -7183,9 +7189,7 @@
7183
7189
  const zipReader = this;
7184
7190
  let { reader } = zipReader;
7185
7191
  const { config } = zipReader;
7186
- if (!reader.initialized && reader.init) {
7187
- await reader.init();
7188
- }
7192
+ await initStream(reader);
7189
7193
  if (reader.size === undefined || !reader.readUint8Array) {
7190
7194
  const blob = await new Response(reader.readable).blob();
7191
7195
  reader = new BlobReader(blob);
@@ -7251,7 +7255,7 @@
7251
7255
  throw new Error(ERR_BAD_FORMAT);
7252
7256
  }
7253
7257
  const filenameEncoding = getOptionValue$1(zipReader, options, "filenameEncoding");
7254
- const commentEncoding = getOptionValue$1(zipReader, options, "commentEncoding");
7258
+ const commentEncoding = getOptionValue$1(zipReader, options, "commentEncoding");
7255
7259
  for (let indexFile = 0; indexFile < filesLength; indexFile++) {
7256
7260
  const fileEntry = new ZipEntry(reader, config, zipReader.options);
7257
7261
  if (getUint32(directoryView, offset) != CENTRAL_FILE_HEADER_SIGNATURE) {
@@ -7272,7 +7276,7 @@
7272
7276
  commentLength: getUint16(directoryView, offset + 32),
7273
7277
  directory: msDosCompatible && ((getUint8(directoryView, offset + 38) & FILE_ATTR_MSDOS_DIR_MASK) == FILE_ATTR_MSDOS_DIR_MASK),
7274
7278
  offset: getUint32(directoryView, offset + 42) + prependedDataLength,
7275
- internalFileAttribute: getUint32(directoryView, offset + 34),
7279
+ internalFileAttribute: getUint16(directoryView, offset + 36),
7276
7280
  externalFileAttribute: getUint32(directoryView, offset + 38),
7277
7281
  rawFilename: directoryArray.subarray(filenameOffset, extraFieldOffset),
7278
7282
  filenameUTF8: languageEncodingFlag,
@@ -7389,9 +7393,7 @@
7389
7393
  readable.size = size;
7390
7394
  const { writable } = writer;
7391
7395
  const signal = getOptionValue$1(zipEntry, options, "signal");
7392
- if (writer.init && !writer.initialized) {
7393
- await writer.init();
7394
- }
7396
+ await initStream(writer);
7395
7397
  const { onstart, onprogress, onend } = options;
7396
7398
  const workerOptions = {
7397
7399
  options: {
@@ -7851,9 +7853,7 @@
7851
7853
  const internalFileAttribute = getOptionValue(zipWriter, options, "internalFileAttribute") || 0;
7852
7854
  const externalFileAttribute = getOptionValue(zipWriter, options, "externalFileAttribute") || 0;
7853
7855
  if (reader) {
7854
- if (reader.init && !reader.initialized) {
7855
- await reader.init();
7856
- }
7856
+ await initStream(reader);
7857
7857
  if (reader.size === undefined) {
7858
7858
  options.dataDescriptor = true;
7859
7859
  } else {
@@ -7950,9 +7950,7 @@
7950
7950
  bufferedWrite = true;
7951
7951
  } else {
7952
7952
  zipWriter.lockWriter = Promise.resolve();
7953
- if (writer.init && !writer.initialized) {
7954
- await writer.init();
7955
- }
7953
+ await initStream(writer);
7956
7954
  fileWriter = writer;
7957
7955
  }
7958
7956
  fileEntry = await createFileEntry(reader, fileEntry, fileWriter.writable, zipWriter.config, options);
@@ -7978,7 +7976,7 @@
7978
7976
  setUint32(arrayBufferView, 18, fileEntry.compressedSize);
7979
7977
  setUint32(arrayBufferView, 22, fileEntry.uncompressedSize);
7980
7978
  }
7981
- await writeUint8Array(writable, new Uint8Array(arrayBuffer));
7979
+ await writeData(writable, new Uint8Array(arrayBuffer));
7982
7980
  blob = blob.slice(headerLength);
7983
7981
  }
7984
7982
  await blob.stream().pipeTo(writable, { preventClose: true, signal });
@@ -8098,6 +8096,7 @@
8098
8096
  rawExtraFieldNTFS = rawExtraFieldExtendedTimestamp = new Uint8Array();
8099
8097
  }
8100
8098
  const fileEntry = {
8099
+ lock: pendingFileEntry.lock,
8101
8100
  version: version || VERSION_DEFLATE,
8102
8101
  versionMadeBy,
8103
8102
  zip64,
@@ -8174,7 +8173,7 @@
8174
8173
  let compressedSize = 0;
8175
8174
  if (reader) {
8176
8175
  reader.chunkSize = getChunkSize(config);
8177
- await writeUint8Array(writable, localHeaderArray);
8176
+ await writeData(writable, localHeaderArray);
8178
8177
  fileEntry.dataWritten = pendingFileEntry.dataWritten = true;
8179
8178
  const size = () => reader.size;
8180
8179
  const readable = reader.readable;
@@ -8201,7 +8200,7 @@
8201
8200
  uncompressedSize = fileEntry.uncompressedSize = reader.size = readable.size();
8202
8201
  compressedSize = result.size;
8203
8202
  } else {
8204
- await writeUint8Array(writable, localHeaderArray);
8203
+ await writeData(writable, localHeaderArray);
8205
8204
  fileEntry.dataWritten = pendingFileEntry.dataWritten = true;
8206
8205
  }
8207
8206
  let dataDescriptorArray = new Uint8Array();
@@ -8245,7 +8244,7 @@
8245
8244
  }
8246
8245
  }
8247
8246
  if (dataDescriptor) {
8248
- await writeUint8Array(writable, dataDescriptorArray);
8247
+ await writeData(writable, dataDescriptorArray);
8249
8248
  }
8250
8249
  const length = localHeaderArray.length + compressedSize + dataDescriptorArray.length;
8251
8250
  Object.assign(fileEntry, {
@@ -8320,7 +8319,7 @@
8320
8319
  arraySet(directoryArray, headerArray, offset + 6);
8321
8320
  setUint16(directoryView, offset + 30, extraFieldLength);
8322
8321
  setUint16(directoryView, offset + 32, rawComment.length);
8323
- setUint32(directoryView, offset + 34, internalFileAttribute);
8322
+ setUint16(directoryView, offset + 36, internalFileAttribute);
8324
8323
  if (externalFileAttribute) {
8325
8324
  setUint32(directoryView, offset + 38, externalFileAttribute);
8326
8325
  } else if (directory && msDosCompatible) {
@@ -8377,9 +8376,9 @@
8377
8376
  }
8378
8377
  }
8379
8378
  const { writable } = zipWriter.writer;
8380
- await writeUint8Array(writable, directoryArray);
8379
+ await writeData(writable, directoryArray);
8381
8380
  if (comment && comment.length) {
8382
- await writeUint8Array(writable, comment);
8381
+ await writeData(writable, comment);
8383
8382
  }
8384
8383
  }
8385
8384
 
@@ -8391,7 +8390,7 @@
8391
8390
  }
8392
8391
  }
8393
8392
 
8394
- async function writeUint8Array(writable, array) {
8393
+ async function writeData(writable, array) {
8395
8394
  const streamWriter = writable.getWriter();
8396
8395
  await streamWriter.ready;
8397
8396
  await streamWriter.write(array);
@@ -8512,6 +8511,7 @@
8512
8511
  exports.configure = configure;
8513
8512
  exports.getMimeType = getMimeType;
8514
8513
  exports.initShimAsyncCodec = streamCodecShim;
8514
+ exports.initStream = initStream;
8515
8515
  exports.terminateWorkers = terminateWorkers;
8516
8516
 
8517
8517
  Object.defineProperty(exports, '__esModule', { value: true });