@yume-chan/stream-extra 2.0.1 → 2.5.3

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.
Files changed (69) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/esm/consumable/index.d.ts +5 -0
  3. package/esm/consumable/index.d.ts.map +1 -0
  4. package/esm/consumable/index.js +5 -0
  5. package/esm/consumable/index.js.map +1 -0
  6. package/esm/consumable/readable.d.ts +20 -0
  7. package/esm/consumable/readable.d.ts.map +1 -0
  8. package/esm/consumable/readable.js +47 -0
  9. package/esm/consumable/readable.js.map +1 -0
  10. package/esm/consumable/wrap-byte-readable.d.ts +6 -0
  11. package/esm/consumable/wrap-byte-readable.d.ts.map +1 -0
  12. package/esm/consumable/wrap-byte-readable.js +23 -0
  13. package/esm/consumable/wrap-byte-readable.js.map +1 -0
  14. package/esm/consumable/wrap-writable.d.ts +6 -0
  15. package/esm/consumable/wrap-writable.d.ts.map +1 -0
  16. package/esm/consumable/wrap-writable.js +18 -0
  17. package/esm/consumable/wrap-writable.js.map +1 -0
  18. package/esm/consumable/writable.d.ts +14 -0
  19. package/esm/consumable/writable.d.ts.map +1 -0
  20. package/esm/{maybe-consumable-ns.js → consumable/writable.js} +10 -16
  21. package/esm/consumable/writable.js.map +1 -0
  22. package/esm/consumable.d.ts +13 -33
  23. package/esm/consumable.d.ts.map +1 -1
  24. package/esm/consumable.js +5 -83
  25. package/esm/consumable.js.map +1 -1
  26. package/esm/maybe-consumable/index.d.ts +5 -0
  27. package/esm/maybe-consumable/index.d.ts.map +1 -0
  28. package/esm/maybe-consumable/index.js +4 -0
  29. package/esm/maybe-consumable/index.js.map +1 -0
  30. package/esm/maybe-consumable/utils.d.ts +5 -0
  31. package/esm/maybe-consumable/utils.d.ts.map +1 -0
  32. package/esm/maybe-consumable/utils.js +13 -0
  33. package/esm/maybe-consumable/utils.js.map +1 -0
  34. package/esm/maybe-consumable/wrap-writable.d.ts +6 -0
  35. package/esm/maybe-consumable/wrap-writable.d.ts.map +1 -0
  36. package/esm/maybe-consumable/wrap-writable.js +19 -0
  37. package/esm/maybe-consumable/wrap-writable.js.map +1 -0
  38. package/esm/maybe-consumable/writable.d.ts +13 -0
  39. package/esm/maybe-consumable/writable.d.ts.map +1 -0
  40. package/esm/maybe-consumable/writable.js +34 -0
  41. package/esm/maybe-consumable/writable.js.map +1 -0
  42. package/esm/maybe-consumable.d.ts +1 -1
  43. package/esm/maybe-consumable.d.ts.map +1 -1
  44. package/esm/maybe-consumable.js +1 -1
  45. package/esm/maybe-consumable.js.map +1 -1
  46. package/esm/try-close.d.ts +7 -5
  47. package/esm/try-close.d.ts.map +1 -1
  48. package/esm/try-close.js +6 -2
  49. package/esm/try-close.js.map +1 -1
  50. package/esm/types.d.ts +1 -1
  51. package/esm/types.d.ts.map +1 -1
  52. package/package.json +7 -7
  53. package/src/consumable/index.ts +4 -0
  54. package/src/consumable/readable.ts +80 -0
  55. package/src/consumable/wrap-byte-readable.ts +33 -0
  56. package/src/consumable/wrap-writable.ts +21 -0
  57. package/src/consumable/writable.ts +72 -0
  58. package/src/consumable.ts +23 -150
  59. package/src/maybe-consumable/index.ts +4 -0
  60. package/src/maybe-consumable/utils.ts +17 -0
  61. package/src/maybe-consumable/wrap-writable.ts +23 -0
  62. package/src/{maybe-consumable-ns.ts → maybe-consumable/writable.ts} +13 -23
  63. package/src/maybe-consumable.ts +1 -1
  64. package/src/try-close.ts +16 -16
  65. package/src/types.ts +1 -1
  66. package/tsconfig.build.tsbuildinfo +1 -1
  67. package/esm/maybe-consumable-ns.d.ts +0 -16
  68. package/esm/maybe-consumable-ns.d.ts.map +0 -1
  69. package/esm/maybe-consumable-ns.js.map +0 -1
@@ -1,9 +1,11 @@
1
1
  import type { BufferedReadableStream } from "./buffered.js";
2
- import type { PushReadableStreamController } from "./push-readable.js";
3
- import type { ReadableStream, ReadableStreamDefaultController, ReadableStreamDefaultReader, WritableStreamDefaultWriter } from "./stream.js";
4
- export declare function tryClose(controller: PushReadableStreamController<unknown>): boolean;
5
- export declare function tryClose(controller: ReadableStreamDefaultController<unknown>): boolean;
6
- export declare function tryClose(writer: WritableStreamDefaultWriter<never>): boolean;
2
+ import type { ReadableStream, ReadableStreamDefaultReader } from "./stream.js";
3
+ export declare function tryClose(value: {
4
+ close(): PromiseLike<void>;
5
+ }): Promise<boolean>;
6
+ export declare function tryClose(value: {
7
+ close(): void;
8
+ }): boolean;
7
9
  export declare function tryCancel(stream: ReadableStream<unknown>): Promise<boolean>;
8
10
  export declare function tryCancel(stream: BufferedReadableStream): Promise<boolean>;
9
11
  export declare function tryCancel(reader: ReadableStreamDefaultReader<unknown>): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"try-close.d.ts","sourceRoot":"","sources":["../src/try-close.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EACR,cAAc,EACd,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC9B,MAAM,aAAa,CAAC;AAErB,wBAAgB,QAAQ,CACpB,UAAU,EAAE,4BAA4B,CAAC,OAAO,CAAC,GAClD,OAAO,CAAC;AACX,wBAAgB,QAAQ,CACpB,UAAU,EAAE,+BAA+B,CAAC,OAAO,CAAC,GACrD,OAAO,CAAC;AACX,wBAAgB,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;AAU9E,wBAAsB,SAAS,CAC3B,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC,CAAC;AACpB,wBAAsB,SAAS,CAC3B,MAAM,EAAE,sBAAsB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAAC;AACpB,wBAAsB,SAAS,CAC3B,MAAM,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAC7C,OAAO,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"try-close.d.ts","sourceRoot":"","sources":["../src/try-close.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE/E,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAC5B,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;CAC9B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACrB,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,KAAK,IAAI,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC;AAgB5D,wBAAsB,SAAS,CAC3B,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC,CAAC;AACpB,wBAAsB,SAAS,CAC3B,MAAM,EAAE,sBAAsB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAAC;AACpB,wBAAsB,SAAS,CAC3B,MAAM,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAC7C,OAAO,CAAC,OAAO,CAAC,CAAC"}
package/esm/try-close.js CHANGED
@@ -1,6 +1,10 @@
1
- export function tryClose(controller) {
1
+ import { isPromiseLike } from "@yume-chan/async";
2
+ export function tryClose(value) {
2
3
  try {
3
- controller.close();
4
+ const result = value.close();
5
+ if (isPromiseLike(result)) {
6
+ return result.then(() => true, () => false);
7
+ }
4
8
  return true;
5
9
  }
6
10
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"try-close.js","sourceRoot":"","sources":["../src/try-close.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,QAAQ,CAAC,UAA6B;IAClD,IAAI,CAAC;QACD,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAE/B;IACG,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"try-close.js","sourceRoot":"","sources":["../src/try-close.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AASjD,MAAM,UAAU,QAAQ,CAAC,KAA0C;IAC/D,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC,IAAI,CACd,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACd,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAE/B;IACG,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
package/esm/types.d.ts CHANGED
@@ -268,7 +268,7 @@ export declare class ReadableStreamBYOBReader {
268
268
  * @public
269
269
  */
270
270
  export declare interface ReadableStreamBYOBReaderReadOptions {
271
- min?: number;
271
+ min?: number | undefined;
272
272
  }
273
273
  /**
274
274
  * A result returned by {@link ReadableStreamBYOBReader.read}.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yume-chan/stream-extra",
3
- "version": "2.0.1",
3
+ "version": "2.5.3",
4
4
  "description": "Extensions to Web Streams API",
5
5
  "keywords": [
6
6
  "stream",
@@ -26,15 +26,15 @@
26
26
  "types": "esm/index.d.ts",
27
27
  "sideEffects": false,
28
28
  "dependencies": {
29
- "@yume-chan/async": "^4.0.2",
30
- "@yume-chan/struct": "^2.0.1"
29
+ "@yume-chan/async": "^4.1.3",
30
+ "@yume-chan/struct": "^2.3.2"
31
31
  },
32
32
  "devDependencies": {
33
- "@types/node": "^22.13.10",
34
- "prettier": "^3.5.3",
35
- "typescript": "^5.8.2",
36
- "@yume-chan/test-runner": "^1.0.0",
33
+ "@types/node": "^24.3.1",
34
+ "prettier": "^3.6.2",
35
+ "typescript": "^5.9.2",
37
36
  "@yume-chan/eslint-config": "^1.0.0",
37
+ "@yume-chan/test-runner": "^1.0.0",
38
38
  "@yume-chan/tsconfig": "^1.0.0"
39
39
  },
40
40
  "scripts": {
@@ -0,0 +1,4 @@
1
+ export * from "./readable.js";
2
+ export * from "./wrap-byte-readable.js";
3
+ export * from "./wrap-writable.js";
4
+ export * from "./writable.js";
@@ -0,0 +1,80 @@
1
+ import { Consumable } from "../consumable.js";
2
+ import type { QueuingStrategy } from "../stream.js";
3
+ import { ReadableStream } from "../stream.js";
4
+
5
+ export interface ConsumableReadableStreamController<T> {
6
+ enqueue(chunk: T): Promise<void>;
7
+ close(): void;
8
+ error(reason: unknown): void;
9
+ }
10
+
11
+ export interface ConsumableReadableStreamSource<T> {
12
+ start?(
13
+ controller: ConsumableReadableStreamController<T>,
14
+ ): void | PromiseLike<void>;
15
+ pull?(
16
+ controller: ConsumableReadableStreamController<T>,
17
+ ): void | PromiseLike<void>;
18
+ cancel?(reason: unknown): void | PromiseLike<void>;
19
+ }
20
+
21
+ export class ConsumableReadableStream<T> extends ReadableStream<Consumable<T>> {
22
+ static async enqueue<T>(
23
+ controller: { enqueue: (chunk: Consumable<T>) => void },
24
+ chunk: T,
25
+ ) {
26
+ const output = new Consumable(chunk);
27
+ controller.enqueue(output);
28
+ await output.consumed;
29
+ }
30
+
31
+ constructor(
32
+ source: ConsumableReadableStreamSource<T>,
33
+ strategy?: QueuingStrategy<T>,
34
+ ) {
35
+ let wrappedController!: ConsumableReadableStreamController<T>;
36
+
37
+ let wrappedStrategy: QueuingStrategy<Consumable<T>> | undefined;
38
+ if (strategy) {
39
+ wrappedStrategy = {};
40
+ if ("highWaterMark" in strategy) {
41
+ wrappedStrategy.highWaterMark = strategy.highWaterMark;
42
+ }
43
+ if ("size" in strategy) {
44
+ wrappedStrategy.size = (chunk) => {
45
+ return strategy.size!(chunk.value);
46
+ };
47
+ }
48
+ }
49
+
50
+ super(
51
+ {
52
+ start(controller) {
53
+ wrappedController = {
54
+ enqueue(chunk) {
55
+ return ConsumableReadableStream.enqueue(
56
+ controller,
57
+ chunk,
58
+ );
59
+ },
60
+ close() {
61
+ controller.close();
62
+ },
63
+ error(reason) {
64
+ controller.error(reason);
65
+ },
66
+ };
67
+
68
+ return source.start?.(wrappedController);
69
+ },
70
+ pull() {
71
+ return source.pull?.(wrappedController);
72
+ },
73
+ cancel(reason) {
74
+ return source.cancel?.(reason);
75
+ },
76
+ },
77
+ wrappedStrategy,
78
+ );
79
+ }
80
+ }
@@ -0,0 +1,33 @@
1
+ import type { Consumable } from "../consumable.js";
2
+ import { ReadableStream } from "../stream.js";
3
+
4
+ import { ConsumableReadableStream } from "./readable.js";
5
+
6
+ export class ConsumableWrapByteReadableStream extends ReadableStream<
7
+ Consumable<Uint8Array>
8
+ > {
9
+ constructor(
10
+ stream: ReadableStream<Uint8Array>,
11
+ chunkSize: number,
12
+ min?: number,
13
+ ) {
14
+ const reader = stream.getReader({ mode: "byob" });
15
+ let array = new Uint8Array(chunkSize);
16
+ super({
17
+ async pull(controller) {
18
+ const { done, value } = await reader.read(array, { min });
19
+ if (done) {
20
+ controller.close();
21
+ return;
22
+ }
23
+
24
+ await ConsumableReadableStream.enqueue(controller, value);
25
+
26
+ array = new Uint8Array(value.buffer);
27
+ },
28
+ cancel(reason) {
29
+ return reader.cancel(reason);
30
+ },
31
+ });
32
+ }
33
+ }
@@ -0,0 +1,21 @@
1
+ import type { Consumable } from "../consumable.js";
2
+ import { WritableStream } from "../stream.js";
3
+
4
+ export class ConsumableWrapWritableStream<in T> extends WritableStream<
5
+ Consumable<T>
6
+ > {
7
+ constructor(stream: WritableStream<T>) {
8
+ const writer = stream.getWriter();
9
+ super({
10
+ write(chunk) {
11
+ return chunk.tryConsume((chunk) => writer.write(chunk));
12
+ },
13
+ abort(reason) {
14
+ return writer.abort(reason);
15
+ },
16
+ close() {
17
+ return writer.close();
18
+ },
19
+ });
20
+ }
21
+ }
@@ -0,0 +1,72 @@
1
+ import { Consumable } from "../consumable.js";
2
+ import type {
3
+ QueuingStrategy,
4
+ WritableStreamDefaultController,
5
+ WritableStreamDefaultWriter,
6
+ } from "../stream.js";
7
+ import { WritableStream } from "../stream.js";
8
+
9
+ export interface ConsumableWritableStreamSink<in T> {
10
+ start?(
11
+ controller: WritableStreamDefaultController,
12
+ ): void | PromiseLike<void>;
13
+ write?(
14
+ chunk: T,
15
+ controller: WritableStreamDefaultController,
16
+ ): void | PromiseLike<void>;
17
+ abort?(reason: unknown): void | PromiseLike<void>;
18
+ close?(): void | PromiseLike<void>;
19
+ }
20
+
21
+ export class ConsumableWritableStream<in T> extends WritableStream<
22
+ Consumable<T>
23
+ > {
24
+ static async write<T>(
25
+ writer: WritableStreamDefaultWriter<Consumable<T>>,
26
+ value: T,
27
+ ) {
28
+ const consumable = new Consumable(value);
29
+ await writer.write(consumable);
30
+ await consumable.consumed;
31
+ }
32
+
33
+ constructor(
34
+ sink: ConsumableWritableStreamSink<T>,
35
+ strategy?: QueuingStrategy<T>,
36
+ ) {
37
+ let wrappedStrategy: QueuingStrategy<Consumable<T>> | undefined;
38
+ if (strategy) {
39
+ wrappedStrategy = {};
40
+ if ("highWaterMark" in strategy) {
41
+ wrappedStrategy.highWaterMark = strategy.highWaterMark;
42
+ }
43
+ if ("size" in strategy) {
44
+ wrappedStrategy.size = (chunk) => {
45
+ return strategy.size!(
46
+ chunk instanceof Consumable ? chunk.value : chunk,
47
+ );
48
+ };
49
+ }
50
+ }
51
+
52
+ super(
53
+ {
54
+ start(controller) {
55
+ return sink.start?.(controller);
56
+ },
57
+ write(chunk, controller) {
58
+ return chunk.tryConsume((chunk) =>
59
+ sink.write?.(chunk, controller),
60
+ );
61
+ },
62
+ abort(reason) {
63
+ return sink.abort?.(reason);
64
+ },
65
+ close() {
66
+ return sink.close?.();
67
+ },
68
+ },
69
+ wrappedStrategy,
70
+ );
71
+ }
72
+ }
package/src/consumable.ts CHANGED
@@ -1,133 +1,24 @@
1
1
  import { PromiseResolver, isPromiseLike } from "@yume-chan/async";
2
2
 
3
3
  import type {
4
- QueuingStrategy,
5
- WritableStreamDefaultController,
6
- WritableStreamDefaultWriter,
7
- } from "./stream.js";
4
+ ConsumableReadableStreamController,
5
+ ConsumableReadableStreamSource,
6
+ ConsumableWritableStreamSink,
7
+ } from "./consumable/index.js";
8
8
  import {
9
- ReadableStream as NativeReadableStream,
10
- WritableStream as NativeWritableStream,
11
- } from "./stream.js";
9
+ ConsumableReadableStream,
10
+ ConsumableWrapByteReadableStream,
11
+ ConsumableWrapWritableStream,
12
+ ConsumableWritableStream,
13
+ } from "./consumable/index.js";
12
14
  import type { Task } from "./task.js";
13
15
  import { createTask } from "./task.js";
14
16
 
15
- // Workaround https://github.com/evanw/esbuild/issues/3923
16
- class WritableStream<in T> extends NativeWritableStream<Consumable<T>> {
17
- static async write<T>(
18
- writer: WritableStreamDefaultWriter<Consumable<T>>,
19
- value: T,
20
- ) {
21
- const consumable = new Consumable(value);
22
- await writer.write(consumable);
23
- await consumable.consumed;
24
- }
25
-
26
- constructor(
27
- sink: Consumable.WritableStreamSink<T>,
28
- strategy?: QueuingStrategy<T>,
29
- ) {
30
- let wrappedStrategy: QueuingStrategy<Consumable<T>> | undefined;
31
- if (strategy) {
32
- wrappedStrategy = {};
33
- if ("highWaterMark" in strategy) {
34
- wrappedStrategy.highWaterMark = strategy.highWaterMark;
35
- }
36
- if ("size" in strategy) {
37
- wrappedStrategy.size = (chunk) => {
38
- return strategy.size!(
39
- chunk instanceof Consumable ? chunk.value : chunk,
40
- );
41
- };
42
- }
43
- }
44
-
45
- super(
46
- {
47
- start(controller) {
48
- return sink.start?.(controller);
49
- },
50
- async write(chunk, controller) {
51
- await chunk.tryConsume((chunk) =>
52
- sink.write?.(chunk, controller),
53
- );
54
- },
55
- abort(reason) {
56
- return sink.abort?.(reason);
57
- },
58
- close() {
59
- return sink.close?.();
60
- },
61
- },
62
- wrappedStrategy,
63
- );
64
- }
65
- }
66
-
67
- class ReadableStream<T> extends NativeReadableStream<Consumable<T>> {
68
- static async enqueue<T>(
69
- controller: { enqueue: (chunk: Consumable<T>) => void },
70
- chunk: T,
71
- ) {
72
- const output = new Consumable(chunk);
73
- controller.enqueue(output);
74
- await output.consumed;
75
- }
76
-
77
- constructor(
78
- source: Consumable.ReadableStreamSource<T>,
79
- strategy?: QueuingStrategy<T>,
80
- ) {
81
- let wrappedController:
82
- | Consumable.ReadableStreamController<T>
83
- | undefined;
84
-
85
- let wrappedStrategy: QueuingStrategy<Consumable<T>> | undefined;
86
- if (strategy) {
87
- wrappedStrategy = {};
88
- if ("highWaterMark" in strategy) {
89
- wrappedStrategy.highWaterMark = strategy.highWaterMark;
90
- }
91
- if ("size" in strategy) {
92
- wrappedStrategy.size = (chunk) => {
93
- return strategy.size!(chunk.value);
94
- };
95
- }
96
- }
97
-
98
- super(
99
- {
100
- async start(controller) {
101
- wrappedController = {
102
- async enqueue(chunk) {
103
- await ReadableStream.enqueue(controller, chunk);
104
- },
105
- close() {
106
- controller.close();
107
- },
108
- error(reason) {
109
- controller.error(reason);
110
- },
111
- };
112
-
113
- await source.start?.(wrappedController);
114
- },
115
- async pull() {
116
- await source.pull?.(wrappedController!);
117
- },
118
- async cancel(reason) {
119
- await source.cancel?.(reason);
120
- },
121
- },
122
- wrappedStrategy,
123
- );
124
- }
125
- }
126
-
127
17
  export class Consumable<T> {
128
- static readonly WritableStream = WritableStream;
129
-
130
- static readonly ReadableStream = ReadableStream;
18
+ static readonly WritableStream = ConsumableWritableStream;
19
+ static readonly WrapWritableStream = ConsumableWrapWritableStream;
20
+ static readonly ReadableStream = ConsumableReadableStream;
21
+ static readonly WrapByteReadableStream = ConsumableWrapByteReadableStream;
131
22
 
132
23
  readonly #task: Task;
133
24
  readonly #resolver: PromiseResolver<void>;
@@ -176,35 +67,17 @@ export class Consumable<T> {
176
67
  }
177
68
 
178
69
  export namespace Consumable {
179
- export interface WritableStreamSink<in T> {
180
- start?(
181
- controller: WritableStreamDefaultController,
182
- ): void | PromiseLike<void>;
183
- write?(
184
- chunk: T,
185
- controller: WritableStreamDefaultController,
186
- ): void | PromiseLike<void>;
187
- abort?(reason: unknown): void | PromiseLike<void>;
188
- close?(): void | PromiseLike<void>;
189
- }
70
+ export type WritableStreamSink<T> = ConsumableWritableStreamSink<T>;
71
+ export type WritableStream<in T> = typeof ConsumableWritableStream<T>;
190
72
 
191
- export type WritableStream<in T> = typeof Consumable.WritableStream<T>;
73
+ export type WrapWritableStream<in T> =
74
+ typeof ConsumableWrapWritableStream<T>;
192
75
 
193
- export interface ReadableStreamController<T> {
194
- enqueue(chunk: T): Promise<void>;
195
- close(): void;
196
- error(reason: unknown): void;
197
- }
198
-
199
- export interface ReadableStreamSource<T> {
200
- start?(
201
- controller: ReadableStreamController<T>,
202
- ): void | PromiseLike<void>;
203
- pull?(
204
- controller: ReadableStreamController<T>,
205
- ): void | PromiseLike<void>;
206
- cancel?(reason: unknown): void | PromiseLike<void>;
207
- }
76
+ export type ReadableStreamController<T> =
77
+ ConsumableReadableStreamController<T>;
78
+ export type ReadableStreamSource<T> = ConsumableReadableStreamSource<T>;
79
+ export type ReadableStream<T> = typeof ConsumableReadableStream<T>;
208
80
 
209
- export type ReadableStream<T> = typeof Consumable.ReadableStream<T>;
81
+ export type WrapByteReadableStream =
82
+ typeof ConsumableWrapByteReadableStream;
210
83
  }
@@ -0,0 +1,4 @@
1
+ export * from "./utils.js";
2
+ export { MaybeConsumableWrapWritableStream as WrapWritableStream } from "./wrap-writable.js";
3
+ export { MaybeConsumableWritableStream as WritableStream } from "./writable.js";
4
+ export type { MaybeConsumableWritableStreamSink as WritableStreamSink } from "./writable.js";
@@ -0,0 +1,17 @@
1
+ import { Consumable } from "../consumable.js";
2
+ import type { MaybeConsumable } from "../maybe-consumable.js";
3
+
4
+ export function getValue<T>(value: MaybeConsumable<T>): T {
5
+ return value instanceof Consumable ? value.value : value;
6
+ }
7
+
8
+ export function tryConsume<T, R>(
9
+ value: T,
10
+ callback: (value: T extends Consumable<infer U> ? U : T) => R,
11
+ ): R {
12
+ if (value instanceof Consumable) {
13
+ return value.tryConsume(callback);
14
+ } else {
15
+ return callback(value as never);
16
+ }
17
+ }
@@ -0,0 +1,23 @@
1
+ import type { MaybeConsumable } from "../maybe-consumable.js";
2
+ import { WritableStream } from "../stream.js";
3
+
4
+ import { tryConsume } from "./utils.js";
5
+
6
+ export class MaybeConsumableWrapWritableStream<T> extends WritableStream<
7
+ MaybeConsumable<T>
8
+ > {
9
+ constructor(stream: WritableStream<T>) {
10
+ const writer = stream.getWriter();
11
+ super({
12
+ write(chunk) {
13
+ return tryConsume(chunk, (chunk) => writer.write(chunk as T));
14
+ },
15
+ abort(reason) {
16
+ return writer.abort(reason);
17
+ },
18
+ close() {
19
+ return writer.close();
20
+ },
21
+ });
22
+ }
23
+ }
@@ -1,27 +1,14 @@
1
- import { Consumable } from "./consumable.js";
2
- import type { MaybeConsumable } from "./maybe-consumable.js";
1
+ import { Consumable } from "../consumable.js";
2
+ import type { MaybeConsumable } from "../maybe-consumable.js";
3
3
  import type {
4
4
  QueuingStrategy,
5
5
  WritableStreamDefaultController,
6
- } from "./stream.js";
7
- import { WritableStream as NativeWritableStream } from "./stream.js";
6
+ } from "../stream.js";
7
+ import { WritableStream } from "../stream.js";
8
8
 
9
- export function getValue<T>(value: MaybeConsumable<T>): T {
10
- return value instanceof Consumable ? value.value : value;
11
- }
12
-
13
- export function tryConsume<T, R>(
14
- value: T,
15
- callback: (value: T extends Consumable<infer U> ? U : T) => R,
16
- ): R {
17
- if (value instanceof Consumable) {
18
- return value.tryConsume(callback);
19
- } else {
20
- return callback(value as never);
21
- }
22
- }
9
+ import { tryConsume } from "./utils.js";
23
10
 
24
- export interface WritableStreamSink<in T> {
11
+ export interface MaybeConsumableWritableStreamSink<in T> {
25
12
  start?(
26
13
  controller: WritableStreamDefaultController,
27
14
  ): void | PromiseLike<void>;
@@ -33,10 +20,13 @@ export interface WritableStreamSink<in T> {
33
20
  close?(): void | PromiseLike<void>;
34
21
  }
35
22
 
36
- export class WritableStream<in T> extends NativeWritableStream<
23
+ export class MaybeConsumableWritableStream<in T> extends WritableStream<
37
24
  MaybeConsumable<T>
38
25
  > {
39
- constructor(sink: WritableStreamSink<T>, strategy?: QueuingStrategy<T>) {
26
+ constructor(
27
+ sink: MaybeConsumableWritableStreamSink<T>,
28
+ strategy?: QueuingStrategy<T>,
29
+ ) {
40
30
  let wrappedStrategy: QueuingStrategy<MaybeConsumable<T>> | undefined;
41
31
  if (strategy) {
42
32
  wrappedStrategy = {};
@@ -57,8 +47,8 @@ export class WritableStream<in T> extends NativeWritableStream<
57
47
  start(controller) {
58
48
  return sink.start?.(controller);
59
49
  },
60
- async write(chunk, controller) {
61
- await tryConsume(chunk, (chunk) =>
50
+ write(chunk, controller) {
51
+ return tryConsume(chunk, (chunk) =>
62
52
  sink.write?.(chunk as T, controller),
63
53
  );
64
54
  },
@@ -2,4 +2,4 @@ import type { Consumable } from "./consumable.js";
2
2
 
3
3
  export type MaybeConsumable<T> = T | Consumable<T>;
4
4
 
5
- export * as MaybeConsumable from "./maybe-consumable-ns.js";
5
+ export * as MaybeConsumable from "./maybe-consumable/index.js";