@yume-chan/stream-extra 0.0.19 → 0.0.21
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.json +60 -33
- package/CHANGELOG.md +17 -1
- package/esm/buffered-transform.d.ts +1 -2
- package/esm/buffered-transform.d.ts.map +1 -1
- package/esm/buffered-transform.js +10 -9
- package/esm/buffered-transform.js.map +1 -1
- package/esm/buffered.d.ts +4 -11
- package/esm/buffered.d.ts.map +1 -1
- package/esm/buffered.js +40 -36
- package/esm/buffered.js.map +1 -1
- package/esm/concat.d.ts +35 -0
- package/esm/concat.d.ts.map +1 -0
- package/esm/concat.js +128 -0
- package/esm/concat.js.map +1 -0
- package/esm/consumable.d.ts +1 -2
- package/esm/consumable.d.ts.map +1 -1
- package/esm/consumable.js +9 -9
- package/esm/consumable.js.map +1 -1
- package/esm/distribution.d.ts +1 -4
- package/esm/distribution.d.ts.map +1 -1
- package/esm/distribution.js +29 -29
- package/esm/distribution.js.map +1 -1
- package/esm/duplex.d.ts +1 -5
- package/esm/duplex.d.ts.map +1 -1
- package/esm/duplex.js +21 -19
- package/esm/duplex.js.map +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/push-readable.d.ts.map +1 -1
- package/esm/push-readable.js +11 -6
- package/esm/push-readable.js.map +1 -1
- package/esm/split-string.d.ts.map +1 -1
- package/esm/split-string.js.map +1 -1
- package/esm/stream.js +0 -14
- package/esm/stream.js.map +1 -1
- package/esm/struct-deserialize.d.ts.map +1 -1
- package/esm/struct-deserialize.js.map +1 -1
- package/esm/wrap-readable.d.ts +1 -1
- package/esm/wrap-readable.d.ts.map +1 -1
- package/esm/wrap-readable.js +4 -4
- package/esm/wrap-readable.js.map +1 -1
- package/esm/wrap-writable.d.ts +1 -1
- package/esm/wrap-writable.d.ts.map +1 -1
- package/esm/wrap-writable.js +5 -5
- package/esm/wrap-writable.js.map +1 -1
- package/package.json +8 -8
- package/src/buffered-transform.ts +14 -16
- package/src/buffered.ts +48 -42
- package/src/concat.ts +160 -0
- package/src/consumable.ts +38 -37
- package/src/decode-utf8.ts +1 -1
- package/src/distribution.ts +35 -35
- package/src/duplex.ts +28 -26
- package/src/index.ts +1 -1
- package/src/pipe-from.ts +1 -1
- package/src/push-readable.ts +15 -11
- package/src/split-string.ts +2 -2
- package/src/stream.ts +0 -13
- package/src/struct-deserialize.ts +2 -2
- package/src/struct-serialize.ts +1 -1
- package/src/wrap-readable.ts +10 -10
- package/src/wrap-writable.ts +10 -10
- package/tsconfig.build.json +6 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/esm/chunk.d.ts +0 -8
- package/esm/chunk.d.ts.map +0 -1
- package/esm/chunk.js +0 -56
- package/esm/chunk.js.map +0 -1
- package/esm/gather-string.d.ts +0 -7
- package/esm/gather-string.d.ts.map +0 -1
- package/esm/gather-string.js +0 -16
- package/esm/gather-string.js.map +0 -1
- package/esm/trace.d.ts +0 -16
- package/esm/trace.d.ts.map +0 -1
- package/esm/trace.js +0 -131
- package/esm/trace.js.map +0 -1
- package/src/gather-string.ts +0 -17
package/esm/consumable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumable.js","sourceRoot":"","sources":["../src/consumable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAc9E,wFAAwF;AACxF,MAAM,EAAE,OAAO,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"consumable.js","sourceRoot":"","sources":["../src/consumable.ts"],"names":[],"mappings":"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"}
|
package/esm/distribution.d.ts
CHANGED
|
@@ -3,10 +3,7 @@ import { ConsumableTransformStream } from "./consumable.js";
|
|
|
3
3
|
* Splits or combines buffers to specified size.
|
|
4
4
|
*/
|
|
5
5
|
export declare class BufferCombiner {
|
|
6
|
-
private
|
|
7
|
-
private readonly _buffer;
|
|
8
|
-
private _offset;
|
|
9
|
-
private _available;
|
|
6
|
+
#private;
|
|
10
7
|
constructor(size: number);
|
|
11
8
|
/**
|
|
12
9
|
* Pushes data to the combiner.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;GAEG;AACH,qBAAa,cAAc
|
|
1
|
+
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;GAEG;AACH,qBAAa,cAAc;;gBAMX,IAAI,EAAE,MAAM;IAOxB;;;;;;OAMG;IACF,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;IA0C1D,KAAK,IAAI,UAAU,GAAG,SAAS;CAUlC;AAED,qBAAa,kBAAmB,SAAQ,yBAAyB,CAC7D,UAAU,EACV,UAAU,CACb;gBACe,IAAI,EAAE,MAAM,EAAE,OAAO,UAAQ;CA6B5C"}
|
package/esm/distribution.js
CHANGED
|
@@ -3,15 +3,15 @@ import { ConsumableTransformStream } from "./consumable.js";
|
|
|
3
3
|
* Splits or combines buffers to specified size.
|
|
4
4
|
*/
|
|
5
5
|
export class BufferCombiner {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
#capacity;
|
|
7
|
+
#buffer;
|
|
8
|
+
#offset;
|
|
9
|
+
#available;
|
|
10
10
|
constructor(size) {
|
|
11
|
-
this
|
|
12
|
-
this
|
|
13
|
-
this
|
|
14
|
-
this
|
|
11
|
+
this.#capacity = size;
|
|
12
|
+
this.#buffer = new Uint8Array(size);
|
|
13
|
+
this.#offset = 0;
|
|
14
|
+
this.#available = size;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Pushes data to the combiner.
|
|
@@ -23,44 +23,44 @@ export class BufferCombiner {
|
|
|
23
23
|
*push(data) {
|
|
24
24
|
let offset = 0;
|
|
25
25
|
let available = data.byteLength;
|
|
26
|
-
if (this
|
|
27
|
-
if (available >= this
|
|
28
|
-
this.
|
|
29
|
-
offset += this
|
|
30
|
-
available -= this
|
|
31
|
-
yield this
|
|
32
|
-
this
|
|
33
|
-
this
|
|
26
|
+
if (this.#offset !== 0) {
|
|
27
|
+
if (available >= this.#available) {
|
|
28
|
+
this.#buffer.set(data.subarray(0, this.#available), this.#offset);
|
|
29
|
+
offset += this.#available;
|
|
30
|
+
available -= this.#available;
|
|
31
|
+
yield this.#buffer;
|
|
32
|
+
this.#offset = 0;
|
|
33
|
+
this.#available = this.#capacity;
|
|
34
34
|
if (available === 0) {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
39
|
-
this.
|
|
40
|
-
this
|
|
41
|
-
this
|
|
39
|
+
this.#buffer.set(data, this.#offset);
|
|
40
|
+
this.#offset += available;
|
|
41
|
+
this.#available -= available;
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
while (available >= this
|
|
46
|
-
const end = offset + this
|
|
45
|
+
while (available >= this.#capacity) {
|
|
46
|
+
const end = offset + this.#capacity;
|
|
47
47
|
yield data.subarray(offset, end);
|
|
48
48
|
offset = end;
|
|
49
|
-
available -= this
|
|
49
|
+
available -= this.#capacity;
|
|
50
50
|
}
|
|
51
51
|
if (available > 0) {
|
|
52
|
-
this.
|
|
53
|
-
this
|
|
54
|
-
this
|
|
52
|
+
this.#buffer.set(data.subarray(offset), this.#offset);
|
|
53
|
+
this.#offset += available;
|
|
54
|
+
this.#available -= available;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
flush() {
|
|
58
|
-
if (this
|
|
58
|
+
if (this.#offset === 0) {
|
|
59
59
|
return undefined;
|
|
60
60
|
}
|
|
61
|
-
const output = this.
|
|
62
|
-
this
|
|
63
|
-
this
|
|
61
|
+
const output = this.#buffer.subarray(0, this.#offset);
|
|
62
|
+
this.#offset = 0;
|
|
63
|
+
this.#available = this.#capacity;
|
|
64
64
|
return output;
|
|
65
65
|
}
|
|
66
66
|
}
|
package/esm/distribution.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAO,cAAc;
|
|
1
|
+
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"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"}
|
package/esm/duplex.d.ts
CHANGED
|
@@ -33,13 +33,9 @@ export interface DuplexStreamFactoryOptions {
|
|
|
33
33
|
* when any of them is closed, all other streams will be closed as well.
|
|
34
34
|
*/
|
|
35
35
|
export declare class DuplexStreamFactory<R, W> {
|
|
36
|
-
private
|
|
37
|
-
private writers;
|
|
38
|
-
private _writableClosed;
|
|
36
|
+
#private;
|
|
39
37
|
get writableClosed(): boolean;
|
|
40
|
-
private _closed;
|
|
41
38
|
get closed(): Promise<void>;
|
|
42
|
-
private options;
|
|
43
39
|
constructor(options?: DuplexStreamFactoryOptions);
|
|
44
40
|
wrapReadable(readable: ReadableStream<R>): WrapReadableStream<R>;
|
|
45
41
|
createWritable(stream: WritableStream<W>): WritableStream<W>;
|
package/esm/duplex.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplex.d.ts","sourceRoot":"","sources":["../src/duplex.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EACR,cAAc,EAGjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,MAAM,WAAW,0BAA0B;IACvC;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IAE3D;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CACtD;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB,CAAC,CAAC,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"duplex.d.ts","sourceRoot":"","sources":["../src/duplex.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EACR,cAAc,EAGjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,MAAM,WAAW,0BAA0B;IACvC;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IAE3D;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CACtD;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB,CAAC,CAAC,EAAE,CAAC;;IAKjC,IAAI,cAAc,YAEjB;IAGD,IAAI,MAAM,kBAET;gBAIW,OAAO,CAAC,EAAE,0BAA0B;IAIhD,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAiBhE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAsBtD,KAAK;IAkBL,OAAO;CAchB"}
|
package/esm/duplex.js
CHANGED
|
@@ -11,24 +11,24 @@ const NOOP = () => {
|
|
|
11
11
|
* when any of them is closed, all other streams will be closed as well.
|
|
12
12
|
*/
|
|
13
13
|
export class DuplexStreamFactory {
|
|
14
|
-
readableControllers = [];
|
|
15
|
-
writers = [];
|
|
16
|
-
|
|
14
|
+
#readableControllers = [];
|
|
15
|
+
#writers = [];
|
|
16
|
+
#writableClosed = false;
|
|
17
17
|
get writableClosed() {
|
|
18
|
-
return this
|
|
18
|
+
return this.#writableClosed;
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
#closed = new PromiseResolver();
|
|
21
21
|
get closed() {
|
|
22
|
-
return this.
|
|
22
|
+
return this.#closed.promise;
|
|
23
23
|
}
|
|
24
|
-
options;
|
|
24
|
+
#options;
|
|
25
25
|
constructor(options) {
|
|
26
|
-
this
|
|
26
|
+
this.#options = options ?? {};
|
|
27
27
|
}
|
|
28
28
|
wrapReadable(readable) {
|
|
29
29
|
return new WrapReadableStream({
|
|
30
30
|
start: (controller) => {
|
|
31
|
-
this
|
|
31
|
+
this.#readableControllers.push(controller);
|
|
32
32
|
return readable;
|
|
33
33
|
},
|
|
34
34
|
cancel: async () => {
|
|
@@ -43,7 +43,7 @@ export class DuplexStreamFactory {
|
|
|
43
43
|
}
|
|
44
44
|
createWritable(stream) {
|
|
45
45
|
const writer = stream.getWriter();
|
|
46
|
-
this
|
|
46
|
+
this.#writers.push(writer);
|
|
47
47
|
// `WritableStream` has no way to tell if the remote peer has closed the connection.
|
|
48
48
|
// So it only triggers `close`.
|
|
49
49
|
return new WritableStream({
|
|
@@ -55,29 +55,31 @@ export class DuplexStreamFactory {
|
|
|
55
55
|
await this.close();
|
|
56
56
|
},
|
|
57
57
|
close: async () => {
|
|
58
|
+
// NOOP: the writer is already closed
|
|
58
59
|
await writer.close().catch(NOOP);
|
|
59
60
|
await this.close();
|
|
60
61
|
},
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
64
|
async close() {
|
|
64
|
-
if (this
|
|
65
|
+
if (this.#writableClosed) {
|
|
65
66
|
return;
|
|
66
67
|
}
|
|
67
|
-
this
|
|
68
|
+
this.#writableClosed = true;
|
|
68
69
|
// Call `close` first, so it can still write data to `WritableStream`s.
|
|
69
|
-
if ((await this
|
|
70
|
+
if ((await this.#options.close?.()) !== false) {
|
|
70
71
|
// `close` can return `false` to disable automatic `dispose`.
|
|
71
72
|
await this.dispose();
|
|
72
73
|
}
|
|
73
|
-
for (const writer of this
|
|
74
|
-
|
|
74
|
+
for (const writer of this.#writers) {
|
|
75
|
+
// NOOP: the writer is already closed
|
|
76
|
+
writer.close().catch(NOOP);
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
79
|
async dispose() {
|
|
78
|
-
this
|
|
79
|
-
this.
|
|
80
|
-
for (const controller of this
|
|
80
|
+
this.#writableClosed = true;
|
|
81
|
+
this.#closed.resolve();
|
|
82
|
+
for (const controller of this.#readableControllers) {
|
|
81
83
|
try {
|
|
82
84
|
controller.close();
|
|
83
85
|
}
|
|
@@ -85,7 +87,7 @@ export class DuplexStreamFactory {
|
|
|
85
87
|
// ignore
|
|
86
88
|
}
|
|
87
89
|
}
|
|
88
|
-
await this
|
|
90
|
+
await this.#options.dispose?.();
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
//# sourceMappingURL=duplex.js.map
|
package/esm/duplex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplex.js","sourceRoot":"","sources":["../src/duplex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAQnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,QAAQ;AACZ,CAAC,CAAC;AA4BF;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;
|
|
1
|
+
{"version":3,"file":"duplex.js","sourceRoot":"","sources":["../src/duplex.ts"],"names":[],"mappings":"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"}
|
package/esm/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export * from "./buffered-transform.js";
|
|
2
2
|
export * from "./buffered.js";
|
|
3
|
+
export * from "./concat.js";
|
|
3
4
|
export * from "./consumable.js";
|
|
4
5
|
export * from "./decode-utf8.js";
|
|
5
6
|
export * from "./distribution.js";
|
|
6
7
|
export * from "./duplex.js";
|
|
7
|
-
export * from "./gather-string.js";
|
|
8
8
|
export * from "./inspect.js";
|
|
9
9
|
export * from "./pipe-from.js";
|
|
10
10
|
export * from "./push-readable.js";
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
package/esm/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export * from "./buffered-transform.js";
|
|
2
2
|
export * from "./buffered.js";
|
|
3
|
+
export * from "./concat.js";
|
|
3
4
|
export * from "./consumable.js";
|
|
4
5
|
export * from "./decode-utf8.js";
|
|
5
6
|
export * from "./distribution.js";
|
|
6
7
|
export * from "./duplex.js";
|
|
7
|
-
export * from "./gather-string.js";
|
|
8
8
|
export * from "./inspect.js";
|
|
9
9
|
export * from "./pipe-from.js";
|
|
10
10
|
export * from "./push-readable.js";
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-readable.d.ts","sourceRoot":"","sources":["../src/push-readable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAmB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC3C,WAAW,EAAE,WAAW,CAAC;IAEzB,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC,KAAK,IAAI,IAAI,CAAC;IAEd,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,CACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAC1C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,qBAAa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACxD;;;;;;OAMG;gBAEC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACnC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"push-readable.d.ts","sourceRoot":"","sources":["../src/push-readable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAmB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC3C,WAAW,EAAE,WAAW,CAAC;IAEzB,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC,KAAK,IAAI,IAAI,CAAC;IAEd,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,CACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAC1C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,qBAAa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACxD;;;;;;OAMG;gBAEC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACnC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;CAmEpC"}
|
package/esm/push-readable.js
CHANGED
|
@@ -10,16 +10,16 @@ export class PushReadableStream extends ReadableStream {
|
|
|
10
10
|
*/
|
|
11
11
|
constructor(source, strategy) {
|
|
12
12
|
let waterMarkLow;
|
|
13
|
-
const
|
|
13
|
+
const abortController = new AbortController();
|
|
14
14
|
super({
|
|
15
15
|
start: (controller) => {
|
|
16
16
|
const result = source({
|
|
17
|
-
abortSignal:
|
|
17
|
+
abortSignal: abortController.signal,
|
|
18
18
|
async enqueue(chunk) {
|
|
19
|
-
if (
|
|
19
|
+
if (abortController.signal.aborted) {
|
|
20
20
|
// If the stream is already cancelled,
|
|
21
21
|
// throw immediately.
|
|
22
|
-
throw (
|
|
22
|
+
throw (abortController.signal.reason ??
|
|
23
23
|
new Error("Aborted"));
|
|
24
24
|
}
|
|
25
25
|
// Only when the stream is errored, `desiredSize` will be `null`.
|
|
@@ -43,7 +43,12 @@ export class PushReadableStream extends ReadableStream {
|
|
|
43
43
|
});
|
|
44
44
|
if (result && "then" in result) {
|
|
45
45
|
result.then(() => {
|
|
46
|
-
|
|
46
|
+
try {
|
|
47
|
+
controller.close();
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
// controller already closed
|
|
51
|
+
}
|
|
47
52
|
}, (e) => {
|
|
48
53
|
controller.error(e);
|
|
49
54
|
});
|
|
@@ -53,7 +58,7 @@ export class PushReadableStream extends ReadableStream {
|
|
|
53
58
|
waterMarkLow?.resolve();
|
|
54
59
|
},
|
|
55
60
|
cancel: (reason) => {
|
|
56
|
-
|
|
61
|
+
abortController.abort(reason);
|
|
57
62
|
waterMarkLow?.reject(reason);
|
|
58
63
|
},
|
|
59
64
|
}, strategy);
|
package/esm/push-readable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-readable.js","sourceRoot":"","sources":["../src/push-readable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgB9D,MAAM,OAAO,kBAAsB,SAAQ,cAAiB;IACxD;;;;;;OAMG;IACH,YACI,MAAmC,EACnC,QAA6B;QAE7B,IAAI,YAA+C,CAAC;QACpD,MAAM,
|
|
1
|
+
{"version":3,"file":"push-readable.js","sourceRoot":"","sources":["../src/push-readable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgB9D,MAAM,OAAO,kBAAsB,SAAQ,cAAiB;IACxD;;;;;;OAMG;IACH,YACI,MAAmC,EACnC,QAA6B;QAE7B,IAAI,YAA+C,CAAC;QACpD,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAE9C,KAAK,CACD;YACI,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE;gBAClB,MAAM,MAAM,GAAG,MAAM,CAAC;oBAClB,WAAW,EAAE,eAAe,CAAC,MAAM;oBACnC,KAAK,CAAC,OAAO,CAAC,KAAK;wBACf,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE;4BAChC,sCAAsC;4BACtC,qBAAqB;4BACrB,MAAM,CACF,eAAe,CAAC,MAAM,CAAC,MAAM;gCAC7B,IAAI,KAAK,CAAC,SAAS,CAAC,CACvB,CAAC;yBACL;wBAED,iEAAiE;wBACjE,kCAAkC;wBAClC,qEAAqE;wBACrE,yCAAyC;wBACzC,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;4BACpC,YAAY,GAAG,IAAI,eAAe,EAAQ,CAAC;4BAC3C,MAAM,YAAY,CAAC,OAAO,CAAC;yBAC9B;wBAED,+CAA+C;wBAC/C,oCAAoC;wBACpC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;oBACD,KAAK;wBACD,UAAU,CAAC,KAAK,EAAE,CAAC;oBACvB,CAAC;oBACD,KAAK,CAAC,CAAC;wBACH,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC;iBACJ,CAAC,CAAC;gBAEH,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE;oBAC5B,MAAM,CAAC,IAAI,CACP,GAAG,EAAE;wBACD,IAAI;4BACA,UAAU,CAAC,KAAK,EAAE,CAAC;yBACtB;wBAAC,OAAO,CAAC,EAAE;4BACR,4BAA4B;yBAC/B;oBACL,CAAC,EACD,CAAC,CAAC,EAAE,EAAE;wBACF,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC,CACJ,CAAC;iBACL;YACL,CAAC;YACD,IAAI,EAAE,GAAG,EAAE;gBACP,YAAY,EAAE,OAAO,EAAE,CAAC;YAC5B,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBACf,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9B,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;SACJ,EACD,QAAQ,CACX,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-string.d.ts","sourceRoot":"","sources":["../src/split-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAqB9C,qBAAa,iBAAkB,SAAQ,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"split-string.d.ts","sourceRoot":"","sources":["../src/split-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAqB9C,qBAAa,iBAAkB,SAAQ,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC;gBACtD,SAAS,EAAE,MAAM;CAShC"}
|
package/esm/split-string.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-string.js","sourceRoot":"","sources":["../src/split-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,QAAQ,CAAC,CAAC,KAAK,CACX,KAAa,EACb,SAAiB;IAEjB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,OAAO;SACV;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC;QAEX,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;KACrB;AACL,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,eAA+B;IAClE,
|
|
1
|
+
{"version":3,"file":"split-string.js","sourceRoot":"","sources":["../src/split-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,QAAQ,CAAC,CAAC,KAAK,CACX,KAAa,EACb,SAAiB;IAEjB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,OAAO;SACV;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC;QAEX,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;KACrB;AACL,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,eAA+B;IAClE,YAAY,SAAiB;QACzB,KAAK,CAAC;YACF,SAAS,CAAC,KAAK,EAAE,UAAU;gBACvB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE;oBACxC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC5B;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
|
package/esm/stream.js
CHANGED
|
@@ -6,22 +6,8 @@ export let ReadableStream = ReadableStreamPolyfill;
|
|
|
6
6
|
export let WritableStream = WritableStreamPolyfill;
|
|
7
7
|
export let TransformStream = TransformStreamPolyfill;
|
|
8
8
|
if (GLOBAL.ReadableStream && GLOBAL.WritableStream && GLOBAL.TransformStream) {
|
|
9
|
-
// Use browser native implementation
|
|
10
9
|
ReadableStream = GLOBAL.ReadableStream;
|
|
11
10
|
WritableStream = GLOBAL.WritableStream;
|
|
12
11
|
TransformStream = GLOBAL.TransformStream;
|
|
13
12
|
}
|
|
14
|
-
else {
|
|
15
|
-
// TODO: enable loading Node.js stream implementation when bundler supports Top Level Await
|
|
16
|
-
// try {
|
|
17
|
-
// // Use Node.js native implementation
|
|
18
|
-
// const MODULE_NAME = "node:stream/web";
|
|
19
|
-
// const StreamWeb = (await import(MODULE_NAME)) as GlobalExtension;
|
|
20
|
-
// ReadableStream = StreamWeb.ReadableStream;
|
|
21
|
-
// WritableStream = StreamWeb.WritableStream;
|
|
22
|
-
// TransformStream = StreamWeb.TransformStream;
|
|
23
|
-
// } catch {
|
|
24
|
-
// // ignore
|
|
25
|
-
// }
|
|
26
|
-
}
|
|
27
13
|
//# sourceMappingURL=stream.js.map
|
package/esm/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AACA,OAAO,EACH,cAAc,IAAI,sBAAsB,EACxC,eAAe,IAAI,uBAAuB,EAC1C,cAAc,IAAI,sBAAsB,GAC3C,MAAM,sBAAsB,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AA2BrC,MAAM,MAAM,GAAG,UAAwC,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AAGtD,MAAM,CAAC,IAAI,cAAc,GAAG,sBAAsB,CAAC;AAGnD,MAAM,CAAC,IAAI,cAAc,GAAG,sBAAsB,CAAC;AAGnD,MAAM,CAAC,IAAI,eAAe,GAAG,uBAAuB,CAAC;AAErD,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE;IAC1E,
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AACA,OAAO,EACH,cAAc,IAAI,sBAAsB,EACxC,eAAe,IAAI,uBAAuB,EAC1C,cAAc,IAAI,sBAAsB,GAC3C,MAAM,sBAAsB,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AA2BrC,MAAM,MAAM,GAAG,UAAwC,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AAGtD,MAAM,CAAC,IAAI,cAAc,GAAG,sBAAsB,CAAC;AAGnD,MAAM,CAAC,IAAI,cAAc,GAAG,sBAAsB,CAAC;AAGnD,MAAM,CAAC,IAAI,eAAe,GAAG,uBAAuB,CAAC;AAErD,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE;IAC1E,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IACvC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IACvC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;CAC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct-deserialize.d.ts","sourceRoot":"","sources":["../src/struct-deserialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,qBAAa,uBAAuB,CAChC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACtC,SAAQ,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"struct-deserialize.d.ts","sourceRoot":"","sources":["../src/struct-deserialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,qBAAa,uBAAuB,CAChC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACtC,SAAQ,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,EAAE,CAAC;CAKxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct-deserialize.js","sourceRoot":"","sources":["../src/struct-deserialize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,OAAO,uBAEX,SAAQ,uBAA2C;IACjD,
|
|
1
|
+
{"version":3,"file":"struct-deserialize.js","sourceRoot":"","sources":["../src/struct-deserialize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,OAAO,uBAEX,SAAQ,uBAA2C;IACjD,YAAY,MAAS;QACjB,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;YACb,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
package/esm/wrap-readable.d.ts
CHANGED
|
@@ -15,8 +15,8 @@ export interface ReadableStreamWrapper<T> {
|
|
|
15
15
|
* 3. Convert native `ReadableStream`s to polyfilled ones so they can `pipe` between.
|
|
16
16
|
*/
|
|
17
17
|
export declare class WrapReadableStream<T> extends ReadableStream<T> {
|
|
18
|
+
#private;
|
|
18
19
|
readable: ReadableStream<T>;
|
|
19
|
-
private reader;
|
|
20
20
|
constructor(wrapper: ReadableStream<T> | WrapReadableStreamStart<T> | ReadableStreamWrapper<T>);
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=wrap-readable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-readable.d.ts","sourceRoot":"","sources":["../src/wrap-readable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EACR,+BAA+B,EAElC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CACrC,UAAU,EAAE,+BAA+B,CAAC,CAAC,CAAC,KAC7C,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvC,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACpC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CAClC;AAoBD;;;;;;GAMG;AACH,qBAAa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"wrap-readable.d.ts","sourceRoot":"","sources":["../src/wrap-readable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EACR,+BAA+B,EAElC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CACrC,UAAU,EAAE,+BAA+B,CAAC,CAAC,CAAC,KAC7C,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvC,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACpC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CAClC;AAoBD;;;;;;GAMG;AACH,qBAAa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;;IACxD,QAAQ,EAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBAKzB,OAAO,EACD,cAAc,CAAC,CAAC,CAAC,GACjB,uBAAuB,CAAC,CAAC,CAAC,GAC1B,qBAAqB,CAAC,CAAC,CAAC;CAmCrC"}
|
package/esm/wrap-readable.js
CHANGED
|
@@ -21,7 +21,7 @@ function getWrappedReadableStream(wrapper, controller) {
|
|
|
21
21
|
*/
|
|
22
22
|
export class WrapReadableStream extends ReadableStream {
|
|
23
23
|
readable;
|
|
24
|
-
reader;
|
|
24
|
+
#reader;
|
|
25
25
|
constructor(wrapper) {
|
|
26
26
|
super({
|
|
27
27
|
start: async (controller) => {
|
|
@@ -31,16 +31,16 @@ export class WrapReadableStream extends ReadableStream {
|
|
|
31
31
|
// Queue a microtask to avoid this.
|
|
32
32
|
await Promise.resolve();
|
|
33
33
|
this.readable = await getWrappedReadableStream(wrapper, controller);
|
|
34
|
-
this
|
|
34
|
+
this.#reader = this.readable.getReader();
|
|
35
35
|
},
|
|
36
36
|
cancel: async (reason) => {
|
|
37
|
-
await this
|
|
37
|
+
await this.#reader.cancel(reason);
|
|
38
38
|
if ("cancel" in wrapper) {
|
|
39
39
|
await wrapper.cancel?.(reason);
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
pull: async (controller) => {
|
|
43
|
-
const result = await this
|
|
43
|
+
const result = await this.#reader.read();
|
|
44
44
|
if (result.done) {
|
|
45
45
|
controller.close();
|
|
46
46
|
if ("close" in wrapper) {
|
package/esm/wrap-readable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-readable.js","sourceRoot":"","sources":["../src/wrap-readable.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAY7C,SAAS,wBAAwB,CAC7B,OAG8B,EAC9B,UAA8C;IAE9C,IAAI,OAAO,IAAI,OAAO,EAAE;QACpB,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;KACpC;SAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QACtC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;KAC9B;SAAM;QACH,gDAAgD;QAChD,wEAAwE;QACxE,OAAO,OAAO,CAAC;KAClB;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,kBAAsB,SAAQ,cAAiB;
|
|
1
|
+
{"version":3,"file":"wrap-readable.js","sourceRoot":"","sources":["../src/wrap-readable.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAY7C,SAAS,wBAAwB,CAC7B,OAG8B,EAC9B,UAA8C;IAE9C,IAAI,OAAO,IAAI,OAAO,EAAE;QACpB,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;KACpC;SAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QACtC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;KAC9B;SAAM;QACH,gDAAgD;QAChD,wEAAwE;QACxE,OAAO,OAAO,CAAC;KAClB;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,kBAAsB,SAAQ,cAAiB;IACxD,QAAQ,CAAqB;IAE7B,OAAO,CAAkC;IAEzC,YACI,OAG8B;QAE9B,KAAK,CAAC;YACF,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBACxB,mEAAmE;gBACnE,uCAAuC;gBACvC,gHAAgH;gBAChH,mCAAmC;gBACnC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAExB,IAAI,CAAC,QAAQ,GAAG,MAAM,wBAAwB,CAC1C,OAAO,EACP,UAAU,CACb,CAAC;gBACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC7C,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACrB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,QAAQ,IAAI,OAAO,EAAE;oBACrB,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;iBAClC;YACL,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACzC,IAAI,MAAM,CAAC,IAAI,EAAE;oBACb,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,IAAI,OAAO,IAAI,OAAO,EAAE;wBACpB,MAAM,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;qBAC3B;iBACJ;qBAAM;oBACH,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACpC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
|
package/esm/wrap-writable.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ export interface WritableStreamWrapper<T> {
|
|
|
7
7
|
close?(): void | Promise<void>;
|
|
8
8
|
}
|
|
9
9
|
export declare class WrapWritableStream<T> extends WritableStream<T> {
|
|
10
|
+
#private;
|
|
10
11
|
writable: WritableStream<T>;
|
|
11
|
-
private writer;
|
|
12
12
|
constructor(wrapper: WritableStream<T> | WrapWritableStreamStart<T> | WritableStreamWrapper<T>);
|
|
13
13
|
bePipedThroughFrom<U>(transformer: TransformStream<U, T>): WrapWritableStream<U>;
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-writable.d.ts","sourceRoot":"","sources":["../src/wrap-writable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,MAAM,cAAc,CACzD,cAAc,CAAC,CAAC,CAAC,CACpB,CAAC;AAEF,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACpC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAmBD,qBAAa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"wrap-writable.d.ts","sourceRoot":"","sources":["../src/wrap-writable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,MAAM,cAAc,CACzD,cAAc,CAAC,CAAC,CAAC,CACpB,CAAC;AAEF,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACpC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAmBD,qBAAa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;;IACxD,QAAQ,EAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBAKzB,OAAO,EACD,cAAc,CAAC,CAAC,CAAC,GACjB,uBAAuB,CAAC,CAAC,CAAC,GAC1B,qBAAqB,CAAC,CAAC,CAAC;IAmClC,kBAAkB,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;CAY3D"}
|
package/esm/wrap-writable.js
CHANGED
|
@@ -14,7 +14,7 @@ async function getWrappedWritableStream(wrapper) {
|
|
|
14
14
|
}
|
|
15
15
|
export class WrapWritableStream extends WritableStream {
|
|
16
16
|
writable;
|
|
17
|
-
writer;
|
|
17
|
+
#writer;
|
|
18
18
|
constructor(wrapper) {
|
|
19
19
|
super({
|
|
20
20
|
start: async () => {
|
|
@@ -24,13 +24,13 @@ export class WrapWritableStream extends WritableStream {
|
|
|
24
24
|
// Queue a microtask to avoid this.
|
|
25
25
|
await Promise.resolve();
|
|
26
26
|
this.writable = await getWrappedWritableStream(wrapper);
|
|
27
|
-
this
|
|
27
|
+
this.#writer = this.writable.getWriter();
|
|
28
28
|
},
|
|
29
29
|
write: async (chunk) => {
|
|
30
|
-
await this
|
|
30
|
+
await this.#writer.write(chunk);
|
|
31
31
|
},
|
|
32
32
|
abort: async (reason) => {
|
|
33
|
-
await this
|
|
33
|
+
await this.#writer.abort(reason);
|
|
34
34
|
if ("close" in wrapper) {
|
|
35
35
|
await wrapper.close?.();
|
|
36
36
|
}
|
|
@@ -40,7 +40,7 @@ export class WrapWritableStream extends WritableStream {
|
|
|
40
40
|
// Usually the inner stream is a logical sub-stream over the outer stream,
|
|
41
41
|
// closing the outer stream first will make the inner stream incapable of
|
|
42
42
|
// sending data in its `close` handler.
|
|
43
|
-
await this
|
|
43
|
+
await this.#writer.close();
|
|
44
44
|
if ("close" in wrapper) {
|
|
45
45
|
await wrapper.close?.();
|
|
46
46
|
}
|
package/esm/wrap-writable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-writable.js","sourceRoot":"","sources":["../src/wrap-writable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAW7C,KAAK,UAAU,wBAAwB,CACnC,OAG8B;IAE9B,IAAI,OAAO,IAAI,OAAO,EAAE;QACpB,OAAO,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;KAChC;SAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QACtC,OAAO,MAAM,OAAO,EAAE,CAAC;KAC1B;SAAM;QACH,gDAAgD;QAChD,wEAAwE;QACxE,OAAO,OAAO,CAAC;KAClB;AACL,CAAC;AAED,MAAM,OAAO,kBAAsB,SAAQ,cAAiB;
|
|
1
|
+
{"version":3,"file":"wrap-writable.js","sourceRoot":"","sources":["../src/wrap-writable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAW7C,KAAK,UAAU,wBAAwB,CACnC,OAG8B;IAE9B,IAAI,OAAO,IAAI,OAAO,EAAE;QACpB,OAAO,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;KAChC;SAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QACtC,OAAO,MAAM,OAAO,EAAE,CAAC;KAC1B;SAAM;QACH,gDAAgD;QAChD,wEAAwE;QACxE,OAAO,OAAO,CAAC;KAClB;AACL,CAAC;AAED,MAAM,OAAO,kBAAsB,SAAQ,cAAiB;IACxD,QAAQ,CAAqB;IAE7B,OAAO,CAAkC;IAEzC,YACI,OAG8B;QAE9B,KAAK,CAAC;YACF,KAAK,EAAE,KAAK,IAAI,EAAE;gBACd,mEAAmE;gBACnE,uCAAuC;gBACvC,gHAAgH;gBAChH,mCAAmC;gBACnC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAExB,IAAI,CAAC,QAAQ,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;gBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC7C,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACpB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,OAAO,IAAI,OAAO,EAAE;oBACpB,MAAM,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;iBAC3B;YACL,CAAC;YACD,KAAK,EAAE,KAAK,IAAI,EAAE;gBACd,gCAAgC;gBAChC,0EAA0E;gBAC1E,yEAAyE;gBACzE,uCAAuC;gBACvC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,OAAO,IAAI,OAAO,EAAE;oBACpB,MAAM,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;iBAC3B;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB,CAAI,WAAkC;QACpD,IAAI,OAAsB,CAAC;QAC3B,OAAO,IAAI,kBAAkB,CAAI;YAC7B,KAAK,EAAE,GAAG,EAAE;gBACR,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO,WAAW,CAAC,QAAQ,CAAC;YAChC,CAAC;YACD,KAAK,CAAC,KAAK;gBACP,MAAM,OAAO,CAAC;YAClB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yume-chan/stream-extra",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.21",
|
|
4
4
|
"description": "Extensions to Web Streams API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"stream",
|
|
@@ -26,20 +26,20 @@
|
|
|
26
26
|
"types": "esm/index.d.ts",
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@yume-chan/async": "^2.2.0",
|
|
29
|
-
"@yume-chan/struct": "^0.0.
|
|
30
|
-
"tslib": "^2.
|
|
29
|
+
"@yume-chan/struct": "^0.0.21",
|
|
30
|
+
"tslib": "^2.6.0",
|
|
31
31
|
"web-streams-polyfill": "^4.0.0-beta.3"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@jest/globals": "^29.
|
|
34
|
+
"@jest/globals": "^29.6.1",
|
|
35
35
|
"@yume-chan/eslint-config": "^1.0.0",
|
|
36
36
|
"@yume-chan/tsconfig": "^1.0.0",
|
|
37
37
|
"cross-env": "^7.0.3",
|
|
38
|
-
"eslint": "^8.
|
|
38
|
+
"eslint": "^8.44.0",
|
|
39
39
|
"jest": "^29.5.0",
|
|
40
|
-
"prettier": "^
|
|
41
|
-
"ts-jest": "^29.
|
|
42
|
-
"typescript": "^
|
|
40
|
+
"prettier": "^3.0.0",
|
|
41
|
+
"ts-jest": "^29.1.1",
|
|
42
|
+
"typescript": "^5.1.6"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
45
|
"build": "tsc -b tsconfig.build.json",
|