@yume-chan/stream-extra 0.0.21 → 0.0.23
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 +24 -0
- package/CHANGELOG.md +15 -1
- package/esm/buffered-transform.js.map +1 -1
- package/esm/buffered.d.ts.map +1 -1
- package/esm/buffered.js +22 -15
- package/esm/buffered.js.map +1 -1
- package/esm/concat.js.map +1 -1
- package/esm/consumable.d.ts +4 -4
- package/esm/consumable.d.ts.map +1 -1
- package/esm/consumable.js +5 -6
- package/esm/consumable.js.map +1 -1
- package/esm/distribution.js.map +1 -1
- package/esm/duplex.d.ts +2 -2
- package/esm/duplex.d.ts.map +1 -1
- package/esm/duplex.js +2 -2
- package/esm/duplex.js.map +1 -1
- package/esm/pipe-from.d.ts +1 -1
- package/esm/pipe-from.d.ts.map +1 -1
- package/esm/push-readable.d.ts +1 -0
- package/esm/push-readable.d.ts.map +1 -1
- package/esm/push-readable.js +24 -10
- package/esm/push-readable.js.map +1 -1
- package/esm/split-string.js.map +1 -1
- package/esm/stream.d.ts +8 -9
- package/esm/stream.d.ts.map +1 -1
- package/esm/stream.js +6 -12
- package/esm/stream.js.map +1 -1
- package/esm/types.d.ts +778 -0
- package/esm/types.d.ts.map +1 -0
- package/esm/types.js +3 -0
- package/esm/types.js.map +1 -0
- package/esm/wrap-readable.d.ts +2 -2
- package/esm/wrap-readable.d.ts.map +1 -1
- package/esm/wrap-readable.js +8 -8
- 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 +12 -12
- package/esm/wrap-writable.js.map +1 -1
- package/package.json +10 -11
- package/src/buffered.ts +22 -15
- package/src/consumable.ts +22 -13
- package/src/duplex.ts +21 -14
- package/src/push-readable.ts +28 -12
- package/src/stream.ts +19 -24
- package/src/types.ts +881 -0
- package/src/wrap-readable.ts +34 -29
- package/src/wrap-writable.ts +12 -12
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/esm/types.js
ADDED
package/esm/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAg3B5C,OAAO,EAAE,CAAC"}
|
package/esm/wrap-readable.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ValueOrPromise } from "@yume-chan/struct";
|
|
2
|
-
import type { ReadableStreamDefaultController } from "./stream.js";
|
|
2
|
+
import type { QueuingStrategy, ReadableStreamDefaultController } from "./stream.js";
|
|
3
3
|
import { ReadableStream } from "./stream.js";
|
|
4
4
|
export type WrapReadableStreamStart<T> = (controller: ReadableStreamDefaultController<T>) => ValueOrPromise<ReadableStream<T>>;
|
|
5
5
|
export interface ReadableStreamWrapper<T> {
|
|
@@ -17,6 +17,6 @@ export interface ReadableStreamWrapper<T> {
|
|
|
17
17
|
export declare class WrapReadableStream<T> extends ReadableStream<T> {
|
|
18
18
|
#private;
|
|
19
19
|
readable: ReadableStream<T>;
|
|
20
|
-
constructor(wrapper: ReadableStream<T> | WrapReadableStreamStart<T> | ReadableStreamWrapper<T>);
|
|
20
|
+
constructor(wrapper: ReadableStream<T> | WrapReadableStreamStart<T> | ReadableStreamWrapper<T>, strategy?: QueuingStrategy<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;;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;
|
|
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,eAAe,EACf,+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,EAC9B,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;CAsCpC"}
|
package/esm/wrap-readable.js
CHANGED
|
@@ -22,7 +22,7 @@ function getWrappedReadableStream(wrapper, controller) {
|
|
|
22
22
|
export class WrapReadableStream extends ReadableStream {
|
|
23
23
|
readable;
|
|
24
24
|
#reader;
|
|
25
|
-
constructor(wrapper) {
|
|
25
|
+
constructor(wrapper, strategy) {
|
|
26
26
|
super({
|
|
27
27
|
start: async (controller) => {
|
|
28
28
|
// `start` is invoked before `ReadableStream`'s constructor finish,
|
|
@@ -33,12 +33,6 @@ export class WrapReadableStream extends ReadableStream {
|
|
|
33
33
|
this.readable = await getWrappedReadableStream(wrapper, controller);
|
|
34
34
|
this.#reader = this.readable.getReader();
|
|
35
35
|
},
|
|
36
|
-
cancel: async (reason) => {
|
|
37
|
-
await this.#reader.cancel(reason);
|
|
38
|
-
if ("cancel" in wrapper) {
|
|
39
|
-
await wrapper.cancel?.(reason);
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
36
|
pull: async (controller) => {
|
|
43
37
|
const result = await this.#reader.read();
|
|
44
38
|
if (result.done) {
|
|
@@ -51,7 +45,13 @@ export class WrapReadableStream extends ReadableStream {
|
|
|
51
45
|
controller.enqueue(result.value);
|
|
52
46
|
}
|
|
53
47
|
},
|
|
54
|
-
|
|
48
|
+
cancel: async (reason) => {
|
|
49
|
+
await this.#reader.cancel(reason);
|
|
50
|
+
if ("cancel" in wrapper) {
|
|
51
|
+
await wrapper.cancel?.(reason);
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
}, strategy);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
//# sourceMappingURL=wrap-readable.js.map
|
package/esm/wrap-readable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-readable.js","sourceRoot":"","sources":["../src/wrap-readable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wrap-readable.js","sourceRoot":"","sources":["../src/wrap-readable.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAY7C,SAAS,wBAAwB,CAC7B,OAG8B,EAC9B,UAA8C;IAE9C,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACJ,gDAAgD;QAChD,wEAAwE;QACxE,OAAO,OAAO,CAAC;IACnB,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,kBAAsB,SAAQ,cAAiB;IACxD,QAAQ,CAAqB;IAE7B,OAAO,CAAkC;IAEzC,YACI,OAG8B,EAC9B,QAA6B;QAE7B,KAAK,CACD;YACI,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,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,CAAC;oBACd,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;wBACrB,MAAM,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC5B,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrC,CAAC;YACL,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,CAAC;oBACtB,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;YACL,CAAC;SACJ,EACD,QAAQ,CACX,CAAC;IACN,CAAC;CACJ"}
|
package/esm/wrap-writable.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export interface WritableStreamWrapper<T> {
|
|
|
9
9
|
export declare class WrapWritableStream<T> extends WritableStream<T> {
|
|
10
10
|
#private;
|
|
11
11
|
writable: WritableStream<T>;
|
|
12
|
-
constructor(
|
|
12
|
+
constructor(start: WritableStream<T> | WrapWritableStreamStart<T> | WritableStreamWrapper<T>);
|
|
13
13
|
bePipedThroughFrom<U>(transformer: TransformStream<U, T>): WrapWritableStream<U>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=wrap-writable.d.ts.map
|
|
@@ -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;;IACxD,QAAQ,EAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBAKzB,
|
|
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,KAAK,EACC,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
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { WritableStream } from "./stream.js";
|
|
2
|
-
async function getWrappedWritableStream(
|
|
3
|
-
if ("start" in
|
|
4
|
-
return await
|
|
2
|
+
async function getWrappedWritableStream(start) {
|
|
3
|
+
if ("start" in start) {
|
|
4
|
+
return await start.start();
|
|
5
5
|
}
|
|
6
|
-
else if (typeof
|
|
7
|
-
return await
|
|
6
|
+
else if (typeof start === "function") {
|
|
7
|
+
return await start();
|
|
8
8
|
}
|
|
9
9
|
else {
|
|
10
10
|
// Can't use `wrapper instanceof WritableStream`
|
|
11
11
|
// Because we want to be compatible with any WritableStream-like objects
|
|
12
|
-
return
|
|
12
|
+
return start;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
export class WrapWritableStream extends WritableStream {
|
|
16
16
|
writable;
|
|
17
17
|
#writer;
|
|
18
|
-
constructor(
|
|
18
|
+
constructor(start) {
|
|
19
19
|
super({
|
|
20
20
|
start: async () => {
|
|
21
21
|
// `start` is invoked before `ReadableStream`'s constructor finish,
|
|
@@ -23,7 +23,7 @@ export class WrapWritableStream extends WritableStream {
|
|
|
23
23
|
// "Must call super constructor in derived class before accessing 'this' or returning from derived constructor".
|
|
24
24
|
// Queue a microtask to avoid this.
|
|
25
25
|
await Promise.resolve();
|
|
26
|
-
this.writable = await getWrappedWritableStream(
|
|
26
|
+
this.writable = await getWrappedWritableStream(start);
|
|
27
27
|
this.#writer = this.writable.getWriter();
|
|
28
28
|
},
|
|
29
29
|
write: async (chunk) => {
|
|
@@ -31,8 +31,8 @@ export class WrapWritableStream extends WritableStream {
|
|
|
31
31
|
},
|
|
32
32
|
abort: async (reason) => {
|
|
33
33
|
await this.#writer.abort(reason);
|
|
34
|
-
if ("close" in
|
|
35
|
-
await
|
|
34
|
+
if (start !== this.writable && "close" in start) {
|
|
35
|
+
await start.close?.();
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
close: async () => {
|
|
@@ -41,8 +41,8 @@ export class WrapWritableStream extends WritableStream {
|
|
|
41
41
|
// closing the outer stream first will make the inner stream incapable of
|
|
42
42
|
// sending data in its `close` handler.
|
|
43
43
|
await this.#writer.close();
|
|
44
|
-
if ("close" in
|
|
45
|
-
await
|
|
44
|
+
if (start !== this.writable && "close" in start) {
|
|
45
|
+
await start.close?.();
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
});
|
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,
|
|
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,KAG8B;IAE9B,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACnB,OAAO,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO,MAAM,KAAK,EAAE,CAAC;IACzB,CAAC;SAAM,CAAC;QACJ,gDAAgD;QAChD,wEAAwE;QACxE,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,MAAM,OAAO,kBAAsB,SAAQ,cAAiB;IACxD,QAAQ,CAAqB;IAE7B,OAAO,CAAkC;IAEzC,YACI,KAG8B;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,KAAK,CAAC,CAAC;gBACtD,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,KAAK,KAAK,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;oBAC9C,MAAM,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC1B,CAAC;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,KAAK,KAAK,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;oBAC9C,MAAM,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC1B,CAAC;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.23",
|
|
4
4
|
"description": "Extensions to Web Streams API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"stream",
|
|
@@ -26,25 +26,24 @@
|
|
|
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.6.
|
|
31
|
-
"web-streams-polyfill": "^4.0.0-beta.3"
|
|
29
|
+
"@yume-chan/struct": "^0.0.23",
|
|
30
|
+
"tslib": "^2.6.2"
|
|
32
31
|
},
|
|
33
32
|
"devDependencies": {
|
|
34
|
-
"@jest/globals": "^
|
|
33
|
+
"@jest/globals": "^30.0.0-alpha.3",
|
|
35
34
|
"@yume-chan/eslint-config": "^1.0.0",
|
|
36
35
|
"@yume-chan/tsconfig": "^1.0.0",
|
|
37
36
|
"cross-env": "^7.0.3",
|
|
38
|
-
"eslint": "^8.
|
|
39
|
-
"jest": "^
|
|
40
|
-
"prettier": "^3.
|
|
41
|
-
"ts-jest": "^29.1.
|
|
42
|
-
"typescript": "^5.
|
|
37
|
+
"eslint": "^8.57.0",
|
|
38
|
+
"jest": "^30.0.0-alpha.3",
|
|
39
|
+
"prettier": "^3.2.5",
|
|
40
|
+
"ts-jest": "^29.1.2",
|
|
41
|
+
"typescript": "^5.4.2"
|
|
43
42
|
},
|
|
44
43
|
"scripts": {
|
|
45
44
|
"build": "tsc -b tsconfig.build.json",
|
|
46
45
|
"build:watch": "tsc -b tsconfig.build.json",
|
|
47
|
-
"test": "cross-env NODE_OPTIONS
|
|
46
|
+
"test": "cross-env NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" TS_JEST_DISABLE_VER_CHECKER=true jest --coverage",
|
|
48
47
|
"lint": "eslint src/**/*.ts --fix && prettier src/**/*.ts --write --tab-width 4"
|
|
49
48
|
}
|
|
50
49
|
}
|
package/src/buffered.ts
CHANGED
|
@@ -31,7 +31,6 @@ export class BufferedReadableStream implements AsyncExactReadable {
|
|
|
31
31
|
if (done) {
|
|
32
32
|
throw new ExactReadableEndedError();
|
|
33
33
|
}
|
|
34
|
-
this.#position += value.byteLength;
|
|
35
34
|
return value;
|
|
36
35
|
}
|
|
37
36
|
|
|
@@ -42,45 +41,51 @@ export class BufferedReadableStream implements AsyncExactReadable {
|
|
|
42
41
|
if (initial) {
|
|
43
42
|
result = new Uint8Array(length);
|
|
44
43
|
result.set(initial);
|
|
45
|
-
index = initial.
|
|
46
|
-
length -= initial.
|
|
44
|
+
index = initial.length;
|
|
45
|
+
length -= initial.length;
|
|
47
46
|
} else {
|
|
48
47
|
const array = await this.#readSource();
|
|
49
|
-
if (array.
|
|
48
|
+
if (array.length === length) {
|
|
49
|
+
this.#position += length;
|
|
50
50
|
return array;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
if (array.
|
|
53
|
+
if (array.length > length) {
|
|
54
54
|
this.#buffered = array;
|
|
55
55
|
this.#bufferedOffset = length;
|
|
56
|
-
this.#bufferedLength = array.
|
|
56
|
+
this.#bufferedLength = array.length - length;
|
|
57
|
+
this.#position += length;
|
|
57
58
|
return array.subarray(0, length);
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
result = new Uint8Array(length);
|
|
61
62
|
result.set(array);
|
|
62
|
-
index = array.
|
|
63
|
-
length -= array.
|
|
63
|
+
index = array.length;
|
|
64
|
+
length -= array.length;
|
|
65
|
+
this.#position += array.length;
|
|
64
66
|
}
|
|
65
67
|
|
|
66
68
|
while (length > 0) {
|
|
67
69
|
const array = await this.#readSource();
|
|
68
|
-
if (array.
|
|
70
|
+
if (array.length === length) {
|
|
69
71
|
result.set(array, index);
|
|
72
|
+
this.#position += length;
|
|
70
73
|
return result;
|
|
71
74
|
}
|
|
72
75
|
|
|
73
|
-
if (array.
|
|
76
|
+
if (array.length > length) {
|
|
74
77
|
this.#buffered = array;
|
|
75
78
|
this.#bufferedOffset = length;
|
|
76
|
-
this.#bufferedLength = array.
|
|
79
|
+
this.#bufferedLength = array.length - length;
|
|
77
80
|
result.set(array.subarray(0, length), index);
|
|
81
|
+
this.#position += length;
|
|
78
82
|
return result;
|
|
79
83
|
}
|
|
80
84
|
|
|
81
85
|
result.set(array, index);
|
|
82
|
-
index += array.
|
|
83
|
-
length -= array.
|
|
86
|
+
index += array.length;
|
|
87
|
+
length -= array.length;
|
|
88
|
+
this.#position += array.length;
|
|
84
89
|
}
|
|
85
90
|
|
|
86
91
|
return result;
|
|
@@ -101,12 +106,14 @@ export class BufferedReadableStream implements AsyncExactReadable {
|
|
|
101
106
|
// don't use it until absolutely necessary
|
|
102
107
|
this.#bufferedOffset += length;
|
|
103
108
|
this.#bufferedLength -= length;
|
|
109
|
+
this.#position += length;
|
|
104
110
|
return array.subarray(offset, offset + length);
|
|
105
111
|
}
|
|
106
112
|
|
|
107
113
|
this.#buffered = undefined;
|
|
108
114
|
this.#bufferedLength = 0;
|
|
109
115
|
this.#bufferedOffset = 0;
|
|
116
|
+
this.#position += array.length - offset;
|
|
110
117
|
return this.#readAsync(length, array.subarray(offset));
|
|
111
118
|
}
|
|
112
119
|
|
|
@@ -147,7 +154,7 @@ export class BufferedReadableStream implements AsyncExactReadable {
|
|
|
147
154
|
}
|
|
148
155
|
}
|
|
149
156
|
|
|
150
|
-
cancel(reason?: unknown) {
|
|
151
|
-
|
|
157
|
+
async cancel(reason?: unknown) {
|
|
158
|
+
await this.reader.cancel(reason);
|
|
152
159
|
}
|
|
153
160
|
}
|
package/src/consumable.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { PromiseResolver } from "@yume-chan/async";
|
|
2
2
|
|
|
3
|
-
import type {
|
|
3
|
+
import type {
|
|
4
|
+
QueuingStrategy,
|
|
5
|
+
WritableStreamDefaultController,
|
|
6
|
+
WritableStreamDefaultWriter,
|
|
7
|
+
} from "./stream.js";
|
|
4
8
|
import { ReadableStream, TransformStream, WritableStream } from "./stream.js";
|
|
5
9
|
|
|
6
10
|
interface Task {
|
|
@@ -43,7 +47,7 @@ export class Consumable<T> {
|
|
|
43
47
|
this.#resolver.resolve();
|
|
44
48
|
}
|
|
45
49
|
|
|
46
|
-
error(error:
|
|
50
|
+
error(error: unknown) {
|
|
47
51
|
this.#resolver.reject(error);
|
|
48
52
|
}
|
|
49
53
|
|
|
@@ -51,7 +55,7 @@ export class Consumable<T> {
|
|
|
51
55
|
try {
|
|
52
56
|
// eslint-disable-next-line @typescript-eslint/await-thenable
|
|
53
57
|
const result = await this.#task.run(() => callback(this.value));
|
|
54
|
-
this.
|
|
58
|
+
this.#resolver.resolve();
|
|
55
59
|
return result;
|
|
56
60
|
} catch (e) {
|
|
57
61
|
this.#resolver.reject(e);
|
|
@@ -161,8 +165,13 @@ export class ConsumableReadableStream<T> extends ReadableStream<Consumable<T>> {
|
|
|
161
165
|
}
|
|
162
166
|
|
|
163
167
|
export interface ConsumableWritableStreamSink<T> {
|
|
164
|
-
start?(
|
|
165
|
-
|
|
168
|
+
start?(
|
|
169
|
+
controller: WritableStreamDefaultController,
|
|
170
|
+
): void | PromiseLike<void>;
|
|
171
|
+
write?(
|
|
172
|
+
chunk: T,
|
|
173
|
+
controller: WritableStreamDefaultController,
|
|
174
|
+
): void | PromiseLike<void>;
|
|
166
175
|
abort?(reason: any): void | PromiseLike<void>;
|
|
167
176
|
close?(): void | PromiseLike<void>;
|
|
168
177
|
}
|
|
@@ -196,12 +205,13 @@ export class ConsumableWritableStream<T> extends WritableStream<Consumable<T>> {
|
|
|
196
205
|
|
|
197
206
|
super(
|
|
198
207
|
{
|
|
199
|
-
start() {
|
|
200
|
-
return sink.start?.();
|
|
208
|
+
start(controller) {
|
|
209
|
+
return sink.start?.(controller);
|
|
201
210
|
},
|
|
202
|
-
async write(chunk) {
|
|
203
|
-
await chunk.tryConsume((value) =>
|
|
204
|
-
|
|
211
|
+
async write(chunk, controller) {
|
|
212
|
+
await chunk.tryConsume((value) =>
|
|
213
|
+
sink.write?.(value, controller),
|
|
214
|
+
);
|
|
205
215
|
},
|
|
206
216
|
abort(reason) {
|
|
207
217
|
return sink.abort?.(reason);
|
|
@@ -254,9 +264,8 @@ export class ConsumableTransformStream<I, O> extends TransformStream<
|
|
|
254
264
|
await transformer.start?.(wrappedController);
|
|
255
265
|
},
|
|
256
266
|
async transform(chunk) {
|
|
257
|
-
await chunk.tryConsume(
|
|
258
|
-
(value)
|
|
259
|
-
transformer.transform?.(value, wrappedController!),
|
|
267
|
+
await chunk.tryConsume((value) =>
|
|
268
|
+
transformer.transform?.(value, wrappedController!),
|
|
260
269
|
);
|
|
261
270
|
chunk.consume();
|
|
262
271
|
},
|
package/src/duplex.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { PromiseResolver } from "@yume-chan/async";
|
|
|
2
2
|
import type { ValueOrPromise } from "@yume-chan/struct";
|
|
3
3
|
|
|
4
4
|
import type {
|
|
5
|
+
QueuingStrategy,
|
|
5
6
|
ReadableStream,
|
|
6
7
|
ReadableStreamDefaultController,
|
|
7
8
|
WritableStreamDefaultWriter,
|
|
@@ -65,21 +66,27 @@ export class DuplexStreamFactory<R, W> {
|
|
|
65
66
|
this.#options = options ?? {};
|
|
66
67
|
}
|
|
67
68
|
|
|
68
|
-
wrapReadable(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
wrapReadable(
|
|
70
|
+
readable: ReadableStream<R>,
|
|
71
|
+
strategy?: QueuingStrategy<R>,
|
|
72
|
+
): WrapReadableStream<R> {
|
|
73
|
+
return new WrapReadableStream<R>(
|
|
74
|
+
{
|
|
75
|
+
start: (controller) => {
|
|
76
|
+
this.#readableControllers.push(controller);
|
|
77
|
+
return readable;
|
|
78
|
+
},
|
|
79
|
+
cancel: async () => {
|
|
80
|
+
// cancel means the local peer wants to close the connection.
|
|
81
|
+
await this.close();
|
|
82
|
+
},
|
|
83
|
+
close: async () => {
|
|
84
|
+
// stream end means the remote peer closed the connection first.
|
|
85
|
+
await this.dispose();
|
|
86
|
+
},
|
|
73
87
|
},
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
await this.close();
|
|
77
|
-
},
|
|
78
|
-
close: async () => {
|
|
79
|
-
// stream end means the remote peer closed the connection first.
|
|
80
|
-
await this.dispose();
|
|
81
|
-
},
|
|
82
|
-
});
|
|
88
|
+
strategy,
|
|
89
|
+
);
|
|
83
90
|
}
|
|
84
91
|
|
|
85
92
|
createWritable(stream: WritableStream<W>): WritableStream<W> {
|
package/src/push-readable.ts
CHANGED
|
@@ -18,6 +18,8 @@ export type PushReadableStreamSource<T> = (
|
|
|
18
18
|
) => void | Promise<void>;
|
|
19
19
|
|
|
20
20
|
export class PushReadableStream<T> extends ReadableStream<T> {
|
|
21
|
+
#zeroHighWaterMarkAllowEnqueue = false;
|
|
22
|
+
|
|
21
23
|
/**
|
|
22
24
|
* Create a new `PushReadableStream` from a source.
|
|
23
25
|
*
|
|
@@ -34,24 +36,32 @@ export class PushReadableStream<T> extends ReadableStream<T> {
|
|
|
34
36
|
|
|
35
37
|
super(
|
|
36
38
|
{
|
|
37
|
-
start: (controller) => {
|
|
39
|
+
start: async (controller) => {
|
|
40
|
+
await Promise.resolve();
|
|
41
|
+
|
|
38
42
|
const result = source({
|
|
39
43
|
abortSignal: abortController.signal,
|
|
40
|
-
async
|
|
44
|
+
enqueue: async (chunk) => {
|
|
41
45
|
if (abortController.signal.aborted) {
|
|
42
46
|
// If the stream is already cancelled,
|
|
43
47
|
// throw immediately.
|
|
44
|
-
throw
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
throw abortController.signal.reason;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (controller.desiredSize === null) {
|
|
52
|
+
// `desiredSize` being `null` means the stream is in error state,
|
|
53
|
+
// `controller.enqueue` will throw an error for us.
|
|
54
|
+
controller.enqueue(chunk);
|
|
55
|
+
return;
|
|
48
56
|
}
|
|
49
57
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
58
|
+
if (this.#zeroHighWaterMarkAllowEnqueue) {
|
|
59
|
+
this.#zeroHighWaterMarkAllowEnqueue = false;
|
|
60
|
+
controller.enqueue(chunk);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (controller.desiredSize <= 0) {
|
|
55
65
|
waterMarkLow = new PromiseResolver<void>();
|
|
56
66
|
await waterMarkLow.promise;
|
|
57
67
|
}
|
|
@@ -84,7 +94,13 @@ export class PushReadableStream<T> extends ReadableStream<T> {
|
|
|
84
94
|
}
|
|
85
95
|
},
|
|
86
96
|
pull: () => {
|
|
87
|
-
waterMarkLow
|
|
97
|
+
if (waterMarkLow) {
|
|
98
|
+
waterMarkLow.resolve();
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (strategy?.highWaterMark === 0) {
|
|
102
|
+
this.#zeroHighWaterMarkAllowEnqueue = true;
|
|
103
|
+
}
|
|
88
104
|
},
|
|
89
105
|
cancel: (reason) => {
|
|
90
106
|
abortController.abort(reason);
|
package/src/stream.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
ReadableStream as
|
|
4
|
-
TransformStream as
|
|
5
|
-
WritableStream as
|
|
6
|
-
} from "
|
|
7
|
-
|
|
1
|
+
import type {
|
|
2
|
+
AbortSignal,
|
|
3
|
+
ReadableStream as ReadableStreamType,
|
|
4
|
+
TransformStream as TransformStreamType,
|
|
5
|
+
WritableStream as WritableStreamType,
|
|
6
|
+
} from "./types.js";
|
|
7
|
+
|
|
8
|
+
export * from "./types.js";
|
|
8
9
|
|
|
9
10
|
/** A controller object that allows you to abort one or more DOM requests as and when desired. */
|
|
10
11
|
export interface AbortController {
|
|
@@ -26,26 +27,20 @@ interface AbortControllerConstructor {
|
|
|
26
27
|
|
|
27
28
|
interface GlobalExtension {
|
|
28
29
|
AbortController: AbortControllerConstructor;
|
|
29
|
-
ReadableStream: typeof
|
|
30
|
-
WritableStream: typeof
|
|
31
|
-
TransformStream: typeof
|
|
30
|
+
ReadableStream: typeof ReadableStreamType;
|
|
31
|
+
WritableStream: typeof WritableStreamType;
|
|
32
|
+
TransformStream: typeof TransformStreamType;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
export const AbortController = GLOBAL.AbortController;
|
|
35
|
+
const Global = globalThis as unknown as GlobalExtension;
|
|
37
36
|
|
|
38
|
-
export
|
|
39
|
-
export let ReadableStream = ReadableStreamPolyfill;
|
|
37
|
+
export const AbortController = Global.AbortController;
|
|
40
38
|
|
|
41
|
-
export type
|
|
42
|
-
export
|
|
39
|
+
export type ReadableStream<T = any> = ReadableStreamType<T>;
|
|
40
|
+
export const ReadableStream = Global.ReadableStream;
|
|
43
41
|
|
|
44
|
-
export type
|
|
45
|
-
export
|
|
42
|
+
export type WritableStream<T = any> = WritableStreamType<T>;
|
|
43
|
+
export const WritableStream = Global.WritableStream;
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
WritableStream = GLOBAL.WritableStream;
|
|
50
|
-
TransformStream = GLOBAL.TransformStream;
|
|
51
|
-
}
|
|
45
|
+
export type TransformStream<I = any, O = any> = TransformStreamType<I, O>;
|
|
46
|
+
export const TransformStream = Global.TransformStream;
|