@zip.js/zip.js 2.6.47 → 2.6.49

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/lib/core/io.js CHANGED
@@ -341,7 +341,6 @@ async function initHttpReader(httpReader, sendRequest, getRequestData) {
341
341
 
342
342
  async function readUint8ArrayHttpReader(httpReader, index, length, sendRequest, getRequestData) {
343
343
  const {
344
- data,
345
344
  useRangeHeader,
346
345
  forceRangeRequests,
347
346
  options
@@ -353,10 +352,11 @@ async function readUint8ArrayHttpReader(httpReader, index, length, sendRequest,
353
352
  }
354
353
  return new Uint8Array(await response.arrayBuffer());
355
354
  } else {
355
+ const { data } = httpReader;
356
356
  if (!data) {
357
357
  await getRequestData(httpReader, options);
358
358
  }
359
- return new Uint8Array(data.subarray(index, index + length));
359
+ return new Uint8Array(httpReader.data.subarray(index, index + length));
360
360
  }
361
361
  }
362
362
 
@@ -585,6 +585,7 @@ class SplitDataWriter extends Stream {
585
585
  let diskSourceWriter, diskWritable, diskWriter;
586
586
  const writable = new WritableStream({
587
587
  async write(chunk) {
588
+ let { maxSize } = zipWriter;
588
589
  if (!diskWriter) {
589
590
  const { value, done } = await writerGenerator.next();
590
591
  if (done && !value) {
@@ -592,6 +593,9 @@ class SplitDataWriter extends Stream {
592
593
  } else {
593
594
  diskSourceWriter = value;
594
595
  diskSourceWriter.size = 0;
596
+ if (diskSourceWriter.maxSize) {
597
+ zipWriter.maxSize = diskSourceWriter.maxSize;
598
+ }
595
599
  await initStream(diskSourceWriter);
596
600
  diskWritable = value.writable;
597
601
  diskWriter = diskWritable.getWriter();
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "A JavaScript library to zip and unzip files in the browser, Deno and Node.js",
4
4
  "author": "Gildas Lormeau",
5
5
  "license": "BSD-3-Clause",
6
- "version": "2.6.47",
6
+ "version": "2.6.49",
7
7
  "type": "module",
8
8
  "keywords": [
9
9
  "zip",
@@ -51,12 +51,12 @@
51
51
  },
52
52
  "homepage": "https://gildas-lormeau.github.io/zip.js",
53
53
  "devDependencies": {
54
- "@rollup/plugin-node-resolve": "^14.1.0",
54
+ "@rollup/plugin-node-resolve": "^15.0.0",
55
55
  "@rollup/plugin-replace": "^4.0.0",
56
56
  "http-server": "^14.1.1",
57
57
  "rollup": "^2.79.1",
58
58
  "rollup-plugin-terser": "^7.0.2",
59
- "typedoc": "^0.23.15"
59
+ "typedoc": "^0.23.16"
60
60
  },
61
61
  "overrides": {
62
62
  "terser": "^5.15.0"
@@ -13,6 +13,7 @@ const writers = [];
13
13
  function* blobWriterGenerator() {
14
14
  while (true) {
15
15
  const writer = new zip.BlobWriter();
16
+ writer.maxSize = (8192 - 512) + Math.floor(Math.random() * 1024);
16
17
  writers.push(writer);
17
18
  yield writer;
18
19
  }
@@ -20,7 +21,7 @@ function* blobWriterGenerator() {
20
21
 
21
22
  async function test() {
22
23
  zip.configure({ chunkSize: 1024, useWebWorkers: true });
23
- const splitZipWriter = new zip.SplitDataWriter(blobWriterGenerator(), 8192);
24
+ const splitZipWriter = blobWriterGenerator();
24
25
  const zipWriter = new zip.ZipWriter(splitZipWriter);
25
26
  await Promise.all([
26
27
  zipWriter.add("lorem1.txt", new zip.BlobReader(BLOB)),