@zip.js/zip.js 2.6.46 → 2.6.48

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-fs.js CHANGED
@@ -2700,7 +2700,6 @@
2700
2700
 
2701
2701
  async function readUint8ArrayHttpReader(httpReader, index, length, sendRequest, getRequestData) {
2702
2702
  const {
2703
- data,
2704
2703
  useRangeHeader,
2705
2704
  forceRangeRequests,
2706
2705
  options
@@ -2712,10 +2711,11 @@
2712
2711
  }
2713
2712
  return new Uint8Array(await response.arrayBuffer());
2714
2713
  } else {
2714
+ const { data } = httpReader;
2715
2715
  if (!data) {
2716
2716
  await getRequestData(httpReader, options);
2717
2717
  }
2718
- return new Uint8Array(data.subarray(index, index + length));
2718
+ return new Uint8Array(httpReader.data.subarray(index, index + length));
2719
2719
  }
2720
2720
  }
2721
2721
 
@@ -3008,6 +3008,43 @@
3008
3008
  }
3009
3009
  }
3010
3010
 
3011
+ function initReader(reader) {
3012
+ if (Array.isArray(reader)) {
3013
+ reader = new SplitDataReader(reader);
3014
+ }
3015
+ if (reader instanceof ReadableStream) {
3016
+ reader = {
3017
+ readable: reader
3018
+ };
3019
+ }
3020
+ return reader;
3021
+ }
3022
+
3023
+ function initWriter(writer) {
3024
+ if (writer.writable === UNDEFINED_VALUE && typeof writer.next == FUNCTION_TYPE$1) {
3025
+ writer = new SplitDataWriter(writer);
3026
+ }
3027
+ if (writer instanceof WritableStream) {
3028
+ writer = {
3029
+ writable: writer
3030
+ };
3031
+ }
3032
+ const { writable } = writer;
3033
+ if (writable.size === UNDEFINED_VALUE) {
3034
+ writable.size = 0;
3035
+ }
3036
+ const splitZipFile = writer instanceof SplitDataWriter;
3037
+ if (!splitZipFile) {
3038
+ Object.assign(writer, {
3039
+ diskNumber: 0,
3040
+ diskOffset: 0,
3041
+ availableSize: Infinity,
3042
+ maxSize: Infinity
3043
+ });
3044
+ }
3045
+ return writer;
3046
+ }
3047
+
3011
3048
  function readUint8Array(reader, offset, size, diskNumber) {
3012
3049
  return reader.readUint8Array(offset, size, diskNumber);
3013
3050
  }
@@ -3222,13 +3259,8 @@
3222
3259
  class ZipReader {
3223
3260
 
3224
3261
  constructor(reader, options = {}) {
3225
- if (reader instanceof ReadableStream) {
3226
- reader = {
3227
- readable: reader
3228
- };
3229
- }
3230
3262
  Object.assign(this, {
3231
- reader,
3263
+ reader: initReader(reader),
3232
3264
  options,
3233
3265
  config: getConfiguration()
3234
3266
  });
@@ -3240,11 +3272,7 @@
3240
3272
  const { config } = zipReader;
3241
3273
  await initStream(reader);
3242
3274
  if (reader.size === UNDEFINED_VALUE || !reader.readUint8Array) {
3243
- if (Array.isArray(reader)) {
3244
- reader = new SplitDataReader(reader);
3245
- } else {
3246
- reader = new BlobReader(await new Response(reader.readable).blob());
3247
- }
3275
+ reader = new BlobReader(await new Response(reader.readable).blob());
3248
3276
  await initStream(reader);
3249
3277
  }
3250
3278
  if (reader.size < END_OF_CENTRAL_DIR_LENGTH) {
@@ -3477,17 +3505,10 @@
3477
3505
  readable.diskNumberStart = diskNumberStart;
3478
3506
  readable.offset = dataOffset;
3479
3507
  const size = readable.size = compressedSize;
3480
- if (writer instanceof WritableStream) {
3481
- writer = {
3482
- writable: writer
3483
- };
3484
- }
3485
- const { writable } = writer;
3486
- if (writable.size === UNDEFINED_VALUE) {
3487
- writable.size = 0;
3488
- }
3489
3508
  const signal = getOptionValue$1(zipEntry, options, "signal");
3509
+ writer = initWriter(writer);
3490
3510
  await initStream(writer, uncompressedSize);
3511
+ const { writable } = writer;
3491
3512
  const { onstart, onprogress, onend } = options;
3492
3513
  const workerOptions = {
3493
3514
  options: {
@@ -3818,27 +3839,10 @@
3818
3839
  class ZipWriter {
3819
3840
 
3820
3841
  constructor(writer, options = {}) {
3821
- if (writer.writable === UNDEFINED_VALUE && typeof writer.next == FUNCTION_TYPE$1) {
3822
- writer = new SplitDataWriter(writer);
3823
- }
3824
- if (writer instanceof WritableStream) {
3825
- writer = { writable: writer };
3826
- }
3827
- if (writer.writable.size === UNDEFINED_VALUE) {
3828
- writer.writable.size = 0;
3829
- }
3830
- const splitZipFile = writer instanceof SplitDataWriter;
3831
- if (!splitZipFile) {
3832
- Object.assign(writer, {
3833
- diskNumber: 0,
3834
- diskOffset: 0,
3835
- availableSize: Infinity,
3836
- maxSize: Infinity
3837
- });
3838
- }
3842
+ writer = initWriter(writer);
3839
3843
  Object.assign(this, {
3840
3844
  writer,
3841
- addSplitZipSignature: splitZipFile,
3845
+ addSplitZipSignature: writer instanceof SplitDataWriter,
3842
3846
  options,
3843
3847
  config: getConfiguration(),
3844
3848
  files: new Map(),
@@ -3970,11 +3974,7 @@
3970
3974
  let maximumEntrySize = 0;
3971
3975
  let uncompressedSize = 0;
3972
3976
  if (reader) {
3973
- if (reader instanceof ReadableStream) {
3974
- reader = {
3975
- readable: reader
3976
- };
3977
- }
3977
+ reader = initReader(reader);
3978
3978
  await initStream(reader);
3979
3979
  if (reader.size === UNDEFINED_VALUE) {
3980
3980
  dataDescriptor = true;
@@ -5419,8 +5419,10 @@
5419
5419
  exports.configure = configure;
5420
5420
  exports.fs = fs;
5421
5421
  exports.getMimeType = getMimeType;
5422
+ exports.initReader = initReader;
5422
5423
  exports.initShimAsyncCodec = initShimAsyncCodec;
5423
5424
  exports.initStream = initStream;
5425
+ exports.initWriter = initWriter;
5424
5426
  exports.readUint8Array = readUint8Array;
5425
5427
  exports.terminateWorkers = terminateWorkers;
5426
5428