@aws-sdk/chunked-stream-reader-node 3.35.0 → 3.47.0
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/CHANGELOG.md +38 -0
- package/dist-cjs/index.js +0 -1
- package/dist-cjs/readable.fixture.js +23 -0
- package/dist-es/index.js +0 -1
- package/dist-es/readable.fixture.js +24 -0
- package/dist-types/readable.fixture.d.ts +13 -0
- package/dist-types/ts3.4/index.d.ts +1 -1
- package/dist-types/ts3.4/readable.fixture.d.ts +13 -0
- package/package.json +8 -7
- package/src/index.ts +0 -46
- package/src/readable.fixture.ts +0 -29
- package/tsconfig.cjs.json +0 -9
- package/tsconfig.es.json +0 -9
- package/tsconfig.types.json +0 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,44 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.47.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.46.0...v3.47.0) (2022-01-15)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @aws-sdk/chunked-stream-reader-node
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [3.46.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.45.0...v3.46.0) (2022-01-07)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* **packages:** end support for Node.js 10.x ([#3141](https://github.com/aws/aws-sdk-js-v3/issues/3141)) ([1a62865](https://github.com/aws/aws-sdk-js-v3/commit/1a6286513f7cdb556708845c512861c5f92eb883))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [3.37.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.36.1...v3.37.0) (2021-10-15)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @aws-sdk/chunked-stream-reader-node
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# [3.36.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.35.0...v3.36.0) (2021-10-08)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Features
|
|
37
|
+
|
|
38
|
+
* publish files in dist-* only ([#2873](https://github.com/aws/aws-sdk-js-v3/issues/2873)) ([53b4243](https://github.com/aws/aws-sdk-js-v3/commit/53b4243b066f25ff2412d5f0dea1036054b2df32))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
6
44
|
# [3.35.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.34.0...v3.35.0) (2021-10-04)
|
|
7
45
|
|
|
8
46
|
**Note:** Version bump only for package @aws-sdk/chunked-stream-reader-node
|
package/dist-cjs/index.js
CHANGED
|
@@ -38,4 +38,3 @@ function mergeUint8Arrays(a, b) {
|
|
|
38
38
|
result.set(b, a.byteLength);
|
|
39
39
|
return result;
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsU0FBZ0IsWUFBWSxDQUMxQixNQUFnQixFQUNoQixPQUFvQyxFQUNwQyxTQUFTLEdBQUcsT0FBTztJQUVuQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLElBQUksZUFBdUMsQ0FBQztRQUU1QyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDcEIsSUFBSSxlQUFlLGFBQWYsZUFBZSx1QkFBZixlQUFlLENBQUUsVUFBVSxFQUFFO2dCQUMvQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksU0FBUyxFQUFFO29CQUM5RCxPQUFPLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzNGO2dCQUVELGVBQWUsR0FBRyxLQUFLLENBQUMsQ0FBQzthQUMxQjtZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BCLGVBQWUsR0FBRyxLQUFLLENBQUM7YUFDekI7aUJBQU07Z0JBQ0wsZUFBZSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUM1RDtZQUVELElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixPQUFPLGVBQWUsQ0FBQyxVQUFVLEdBQUcsT0FBTyxJQUFJLFNBQVMsRUFBRTtnQkFDeEQsT0FBTyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLElBQUksU0FBUyxDQUFDO2FBQ3RCO1lBQ0QsZUFBZSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFHSCxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBckNELG9DQXFDQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsQ0FBYSxFQUFFLENBQWE7SUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNkLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tIFwic3RyZWFtXCI7XG5leHBvcnQgZnVuY3Rpb24gc3RyZWFtUmVhZGVyKFxuICBzdHJlYW06IFJlYWRhYmxlLFxuICBvbkNodW5rOiAoY2h1bms6IFVpbnQ4QXJyYXkpID0+IHZvaWQsXG4gIGNodW5rU2l6ZSA9IDEwNDg1NzYgLy8gMSBNaUJcbik6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGxldCB0ZW1wb3JhcnlCdWZmZXI6IFVpbnQ4QXJyYXkgfCB1bmRlZmluZWQ7XG5cbiAgICBzdHJlYW0ub24oXCJlcnJvclwiLCByZWplY3QpO1xuICAgIHN0cmVhbS5vbihcImVuZFwiLCAoKSA9PiB7XG4gICAgICBpZiAodGVtcG9yYXJ5QnVmZmVyPy5ieXRlTGVuZ3RoKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGVtcG9yYXJ5QnVmZmVyLmJ5dGVMZW5ndGg7IGkgKz0gY2h1bmtTaXplKSB7XG4gICAgICAgICAgb25DaHVuayh0ZW1wb3JhcnlCdWZmZXIuc3ViYXJyYXkoaSwgTWF0aC5taW4oaSArIGNodW5rU2l6ZSwgdGVtcG9yYXJ5QnVmZmVyLmJ5dGVMZW5ndGgpKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2xlYXIgdGhlIHRlbXBvcmFyeUJ1ZmZlclxuICAgICAgICB0ZW1wb3JhcnlCdWZmZXIgPSB2b2lkIDA7XG4gICAgICB9XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSk7XG4gICAgc3RyZWFtLm9uKFwiZGF0YVwiLCAoY2h1bms6IEJ1ZmZlcikgPT4ge1xuICAgICAgaWYgKCF0ZW1wb3JhcnlCdWZmZXIpIHtcbiAgICAgICAgdGVtcG9yYXJ5QnVmZmVyID0gY2h1bms7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0ZW1wb3JhcnlCdWZmZXIgPSBtZXJnZVVpbnQ4QXJyYXlzKHRlbXBvcmFyeUJ1ZmZlciwgY2h1bmspO1xuICAgICAgfVxuXG4gICAgICBsZXQgcG9pbnRlciA9IDA7XG4gICAgICB3aGlsZSAodGVtcG9yYXJ5QnVmZmVyLmJ5dGVMZW5ndGggLSBwb2ludGVyID49IGNodW5rU2l6ZSkge1xuICAgICAgICBvbkNodW5rKHRlbXBvcmFyeUJ1ZmZlci5zdWJhcnJheShwb2ludGVyLCBwb2ludGVyICsgY2h1bmtTaXplKSk7XG4gICAgICAgIHBvaW50ZXIgKz0gY2h1bmtTaXplO1xuICAgICAgfVxuICAgICAgdGVtcG9yYXJ5QnVmZmVyID0gdGVtcG9yYXJ5QnVmZmVyLnN1YmFycmF5KHBvaW50ZXIpO1xuICAgIH0pO1xuXG4gICAgLy8gZW5zdXJlIHRoZSBzdHJlYW0gaXNuJ3QgcGF1c2VkXG4gICAgc3RyZWFtLnJlc3VtZSgpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VVaW50OEFycmF5cyhhOiBVaW50OEFycmF5LCBiOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KGEuYnl0ZUxlbmd0aCArIGIuYnl0ZUxlbmd0aCk7XG4gIHJlc3VsdC5zZXQoYSk7XG4gIHJlc3VsdC5zZXQoYiwgYS5ieXRlTGVuZ3RoKTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReadFromBuffers = void 0;
|
|
4
|
+
const stream_1 = require("stream");
|
|
5
|
+
class ReadFromBuffers extends stream_1.Readable {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super(options);
|
|
8
|
+
this.numBuffersRead = 0;
|
|
9
|
+
this.buffersToRead = options.buffers;
|
|
10
|
+
this.errorAfter = typeof options.errorAfter === "number" ? options.errorAfter : -1;
|
|
11
|
+
}
|
|
12
|
+
_read() {
|
|
13
|
+
if (this.errorAfter !== -1 && this.errorAfter === this.numBuffersRead) {
|
|
14
|
+
this.emit("error", new Error("Mock Error"));
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (this.numBuffersRead >= this.buffersToRead.length) {
|
|
18
|
+
return this.push(null);
|
|
19
|
+
}
|
|
20
|
+
return this.push(this.buffersToRead[this.numBuffersRead++]);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.ReadFromBuffers = ReadFromBuffers;
|
package/dist-es/index.js
CHANGED
|
@@ -35,4 +35,3 @@ function mergeUint8Arrays(a, b) {
|
|
|
35
35
|
result.set(b, a.byteLength);
|
|
36
36
|
return result;
|
|
37
37
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxVQUFVLFlBQVksQ0FDMUIsTUFBZ0IsRUFDaEIsT0FBb0MsRUFDcEMsU0FBbUI7SUFBbkIsMEJBQUEsRUFBQSxtQkFBbUI7SUFFbkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1FBQ2pDLElBQUksZUFBdUMsQ0FBQztRQUU1QyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksZUFBZSxhQUFmLGVBQWUsdUJBQWYsZUFBZSxDQUFFLFVBQVUsRUFBRTtnQkFDL0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLFNBQVMsRUFBRTtvQkFDOUQsT0FBTyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMzRjtnQkFFRCxlQUFlLEdBQUcsS0FBSyxDQUFDLENBQUM7YUFDMUI7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBQyxLQUFhO1lBQzlCLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BCLGVBQWUsR0FBRyxLQUFLLENBQUM7YUFDekI7aUJBQU07Z0JBQ0wsZUFBZSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUM1RDtZQUVELElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixPQUFPLGVBQWUsQ0FBQyxVQUFVLEdBQUcsT0FBTyxJQUFJLFNBQVMsRUFBRTtnQkFDeEQsT0FBTyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLElBQUksU0FBUyxDQUFDO2FBQ3RCO1lBQ0QsZUFBZSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFHSCxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxDQUFhLEVBQUUsQ0FBYTtJQUNwRCxJQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzRCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVCLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcbmV4cG9ydCBmdW5jdGlvbiBzdHJlYW1SZWFkZXIoXG4gIHN0cmVhbTogUmVhZGFibGUsXG4gIG9uQ2h1bms6IChjaHVuazogVWludDhBcnJheSkgPT4gdm9pZCxcbiAgY2h1bmtTaXplID0gMTA0ODU3NiAvLyAxIE1pQlxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgbGV0IHRlbXBvcmFyeUJ1ZmZlcjogVWludDhBcnJheSB8IHVuZGVmaW5lZDtcblxuICAgIHN0cmVhbS5vbihcImVycm9yXCIsIHJlamVjdCk7XG4gICAgc3RyZWFtLm9uKFwiZW5kXCIsICgpID0+IHtcbiAgICAgIGlmICh0ZW1wb3JhcnlCdWZmZXI/LmJ5dGVMZW5ndGgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZW1wb3JhcnlCdWZmZXIuYnl0ZUxlbmd0aDsgaSArPSBjaHVua1NpemUpIHtcbiAgICAgICAgICBvbkNodW5rKHRlbXBvcmFyeUJ1ZmZlci5zdWJhcnJheShpLCBNYXRoLm1pbihpICsgY2h1bmtTaXplLCB0ZW1wb3JhcnlCdWZmZXIuYnl0ZUxlbmd0aCkpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjbGVhciB0aGUgdGVtcG9yYXJ5QnVmZmVyXG4gICAgICAgIHRlbXBvcmFyeUJ1ZmZlciA9IHZvaWQgMDtcbiAgICAgIH1cbiAgICAgIHJlc29sdmUoKTtcbiAgICB9KTtcbiAgICBzdHJlYW0ub24oXCJkYXRhXCIsIChjaHVuazogQnVmZmVyKSA9PiB7XG4gICAgICBpZiAoIXRlbXBvcmFyeUJ1ZmZlcikge1xuICAgICAgICB0ZW1wb3JhcnlCdWZmZXIgPSBjaHVuaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRlbXBvcmFyeUJ1ZmZlciA9IG1lcmdlVWludDhBcnJheXModGVtcG9yYXJ5QnVmZmVyLCBjaHVuayk7XG4gICAgICB9XG5cbiAgICAgIGxldCBwb2ludGVyID0gMDtcbiAgICAgIHdoaWxlICh0ZW1wb3JhcnlCdWZmZXIuYnl0ZUxlbmd0aCAtIHBvaW50ZXIgPj0gY2h1bmtTaXplKSB7XG4gICAgICAgIG9uQ2h1bmsodGVtcG9yYXJ5QnVmZmVyLnN1YmFycmF5KHBvaW50ZXIsIHBvaW50ZXIgKyBjaHVua1NpemUpKTtcbiAgICAgICAgcG9pbnRlciArPSBjaHVua1NpemU7XG4gICAgICB9XG4gICAgICB0ZW1wb3JhcnlCdWZmZXIgPSB0ZW1wb3JhcnlCdWZmZXIuc3ViYXJyYXkocG9pbnRlcik7XG4gICAgfSk7XG5cbiAgICAvLyBlbnN1cmUgdGhlIHN0cmVhbSBpc24ndCBwYXVzZWRcbiAgICBzdHJlYW0ucmVzdW1lKCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBtZXJnZVVpbnQ4QXJyYXlzKGE6IFVpbnQ4QXJyYXksIGI6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IFVpbnQ4QXJyYXkoYS5ieXRlTGVuZ3RoICsgYi5ieXRlTGVuZ3RoKTtcbiAgcmVzdWx0LnNldChhKTtcbiAgcmVzdWx0LnNldChiLCBhLmJ5dGVMZW5ndGgpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { Readable } from "stream";
|
|
3
|
+
var ReadFromBuffers = (function (_super) {
|
|
4
|
+
__extends(ReadFromBuffers, _super);
|
|
5
|
+
function ReadFromBuffers(options) {
|
|
6
|
+
var _this = _super.call(this, options) || this;
|
|
7
|
+
_this.numBuffersRead = 0;
|
|
8
|
+
_this.buffersToRead = options.buffers;
|
|
9
|
+
_this.errorAfter = typeof options.errorAfter === "number" ? options.errorAfter : -1;
|
|
10
|
+
return _this;
|
|
11
|
+
}
|
|
12
|
+
ReadFromBuffers.prototype._read = function () {
|
|
13
|
+
if (this.errorAfter !== -1 && this.errorAfter === this.numBuffersRead) {
|
|
14
|
+
this.emit("error", new Error("Mock Error"));
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (this.numBuffersRead >= this.buffersToRead.length) {
|
|
18
|
+
return this.push(null);
|
|
19
|
+
}
|
|
20
|
+
return this.push(this.buffersToRead[this.numBuffersRead++]);
|
|
21
|
+
};
|
|
22
|
+
return ReadFromBuffers;
|
|
23
|
+
}(Readable));
|
|
24
|
+
export { ReadFromBuffers };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Readable, ReadableOptions } from "stream";
|
|
3
|
+
export interface ReadFromBuffersOptions extends ReadableOptions {
|
|
4
|
+
buffers: Buffer[];
|
|
5
|
+
errorAfter?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class ReadFromBuffers extends Readable {
|
|
8
|
+
private buffersToRead;
|
|
9
|
+
private numBuffersRead;
|
|
10
|
+
private errorAfter;
|
|
11
|
+
constructor(options: ReadFromBuffersOptions);
|
|
12
|
+
_read(): boolean | undefined;
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
import { Readable, ReadableOptions } from "stream";
|
|
3
|
+
export interface ReadFromBuffersOptions extends ReadableOptions {
|
|
4
|
+
buffers: Buffer[];
|
|
5
|
+
errorAfter?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class ReadFromBuffers extends Readable {
|
|
8
|
+
private buffersToRead;
|
|
9
|
+
private numBuffersRead;
|
|
10
|
+
private errorAfter;
|
|
11
|
+
constructor(options: ReadFromBuffersOptions);
|
|
12
|
+
_read(): boolean | undefined;
|
|
13
|
+
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/chunked-stream-reader-node",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.47.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "yarn build:cjs && yarn build:es && yarn build:types",
|
|
6
6
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
7
7
|
"build:es": "tsc -p tsconfig.es.json",
|
|
8
8
|
"build:types": "tsc -p tsconfig.types.json",
|
|
9
|
-
"downlevel
|
|
9
|
+
"build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
|
|
10
|
+
"clean": "rimraf ./dist-*",
|
|
10
11
|
"test": "jest"
|
|
11
12
|
},
|
|
12
13
|
"main": "./dist-cjs/index.js",
|
|
@@ -21,13 +22,10 @@
|
|
|
21
22
|
"tslib": "^2.3.0"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
|
-
"@types/
|
|
25
|
-
"@types/node": "^10.0.0",
|
|
26
|
-
"jest": "^26.1.0",
|
|
27
|
-
"typescript": "~4.3.5"
|
|
25
|
+
"@types/node": "^10.0.0"
|
|
28
26
|
},
|
|
29
27
|
"engines": {
|
|
30
|
-
"node": ">=
|
|
28
|
+
"node": ">= 12.0.0"
|
|
31
29
|
},
|
|
32
30
|
"typesVersions": {
|
|
33
31
|
"<4.0": {
|
|
@@ -36,6 +34,9 @@
|
|
|
36
34
|
]
|
|
37
35
|
}
|
|
38
36
|
},
|
|
37
|
+
"files": [
|
|
38
|
+
"dist-*"
|
|
39
|
+
],
|
|
39
40
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/chunked-stream-reader-node",
|
|
40
41
|
"repository": {
|
|
41
42
|
"type": "git",
|
package/src/index.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Readable } from "stream";
|
|
2
|
-
export function streamReader(
|
|
3
|
-
stream: Readable,
|
|
4
|
-
onChunk: (chunk: Uint8Array) => void,
|
|
5
|
-
chunkSize = 1048576 // 1 MiB
|
|
6
|
-
): Promise<void> {
|
|
7
|
-
return new Promise((resolve, reject) => {
|
|
8
|
-
let temporaryBuffer: Uint8Array | undefined;
|
|
9
|
-
|
|
10
|
-
stream.on("error", reject);
|
|
11
|
-
stream.on("end", () => {
|
|
12
|
-
if (temporaryBuffer?.byteLength) {
|
|
13
|
-
for (let i = 0; i < temporaryBuffer.byteLength; i += chunkSize) {
|
|
14
|
-
onChunk(temporaryBuffer.subarray(i, Math.min(i + chunkSize, temporaryBuffer.byteLength)));
|
|
15
|
-
}
|
|
16
|
-
// clear the temporaryBuffer
|
|
17
|
-
temporaryBuffer = void 0;
|
|
18
|
-
}
|
|
19
|
-
resolve();
|
|
20
|
-
});
|
|
21
|
-
stream.on("data", (chunk: Buffer) => {
|
|
22
|
-
if (!temporaryBuffer) {
|
|
23
|
-
temporaryBuffer = chunk;
|
|
24
|
-
} else {
|
|
25
|
-
temporaryBuffer = mergeUint8Arrays(temporaryBuffer, chunk);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
let pointer = 0;
|
|
29
|
-
while (temporaryBuffer.byteLength - pointer >= chunkSize) {
|
|
30
|
-
onChunk(temporaryBuffer.subarray(pointer, pointer + chunkSize));
|
|
31
|
-
pointer += chunkSize;
|
|
32
|
-
}
|
|
33
|
-
temporaryBuffer = temporaryBuffer.subarray(pointer);
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
// ensure the stream isn't paused
|
|
37
|
-
stream.resume();
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function mergeUint8Arrays(a: Uint8Array, b: Uint8Array): Uint8Array {
|
|
42
|
-
const result = new Uint8Array(a.byteLength + b.byteLength);
|
|
43
|
-
result.set(a);
|
|
44
|
-
result.set(b, a.byteLength);
|
|
45
|
-
return result;
|
|
46
|
-
}
|
package/src/readable.fixture.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Readable, ReadableOptions } from "stream";
|
|
2
|
-
|
|
3
|
-
export interface ReadFromBuffersOptions extends ReadableOptions {
|
|
4
|
-
buffers: Buffer[];
|
|
5
|
-
errorAfter?: number;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export class ReadFromBuffers extends Readable {
|
|
9
|
-
private buffersToRead: Buffer[];
|
|
10
|
-
private numBuffersRead = 0;
|
|
11
|
-
|
|
12
|
-
private errorAfter: number;
|
|
13
|
-
constructor(options: ReadFromBuffersOptions) {
|
|
14
|
-
super(options);
|
|
15
|
-
this.buffersToRead = options.buffers;
|
|
16
|
-
this.errorAfter = typeof options.errorAfter === "number" ? options.errorAfter : -1;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
_read() {
|
|
20
|
-
if (this.errorAfter !== -1 && this.errorAfter === this.numBuffersRead) {
|
|
21
|
-
this.emit("error", new Error("Mock Error"));
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
if (this.numBuffersRead >= this.buffersToRead.length) {
|
|
25
|
-
return this.push(null);
|
|
26
|
-
}
|
|
27
|
-
return this.push(this.buffersToRead[this.numBuffersRead++]);
|
|
28
|
-
}
|
|
29
|
-
}
|
package/tsconfig.cjs.json
DELETED
package/tsconfig.es.json
DELETED