@yume-chan/stream-extra 0.0.22 → 0.0.24

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.json +36 -0
  2. package/CHANGELOG.md +19 -1
  3. package/LICENSE +1 -1
  4. package/esm/concat.d.ts +4 -3
  5. package/esm/concat.d.ts.map +1 -1
  6. package/esm/concat.js +6 -4
  7. package/esm/concat.js.map +1 -1
  8. package/esm/consumable.d.ts +31 -43
  9. package/esm/consumable.d.ts.map +1 -1
  10. package/esm/consumable.js +96 -144
  11. package/esm/consumable.js.map +1 -1
  12. package/esm/distribution.d.ts +3 -2
  13. package/esm/distribution.d.ts.map +1 -1
  14. package/esm/distribution.js +22 -18
  15. package/esm/distribution.js.map +1 -1
  16. package/esm/encoding.d.ts +21 -0
  17. package/esm/encoding.d.ts.map +1 -0
  18. package/esm/encoding.js +4 -0
  19. package/esm/encoding.js.map +1 -0
  20. package/esm/index.d.ts +3 -1
  21. package/esm/index.d.ts.map +1 -1
  22. package/esm/index.js +3 -1
  23. package/esm/index.js.map +1 -1
  24. package/esm/maybe-consumable.d.ts +21 -0
  25. package/esm/maybe-consumable.d.ts.map +1 -0
  26. package/esm/maybe-consumable.js +62 -0
  27. package/esm/maybe-consumable.js.map +1 -0
  28. package/esm/pipe-from.d.ts +1 -1
  29. package/esm/pipe-from.d.ts.map +1 -1
  30. package/esm/stream.d.ts +9 -10
  31. package/esm/stream.d.ts.map +1 -1
  32. package/esm/stream.js +6 -12
  33. package/esm/stream.js.map +1 -1
  34. package/esm/struct-deserialize.d.ts +1 -1
  35. package/esm/struct-deserialize.d.ts.map +1 -1
  36. package/esm/struct-deserialize.js.map +1 -1
  37. package/esm/struct-serialize.d.ts +1 -1
  38. package/esm/struct-serialize.d.ts.map +1 -1
  39. package/esm/task.d.ts +5 -0
  40. package/esm/task.d.ts.map +1 -0
  41. package/esm/task.js +9 -0
  42. package/esm/task.js.map +1 -0
  43. package/esm/types.d.ts +778 -0
  44. package/esm/types.d.ts.map +1 -0
  45. package/esm/types.js +3 -0
  46. package/esm/types.js.map +1 -0
  47. package/esm/wrap-writable.d.ts +1 -1
  48. package/esm/wrap-writable.d.ts.map +1 -1
  49. package/esm/wrap-writable.js +12 -12
  50. package/esm/wrap-writable.js.map +1 -1
  51. package/package.json +9 -12
  52. package/src/concat.ts +6 -4
  53. package/src/consumable.ts +145 -233
  54. package/src/distribution.ts +30 -20
  55. package/src/encoding.ts +39 -0
  56. package/src/index.ts +3 -1
  57. package/src/maybe-consumable.ts +101 -0
  58. package/src/stream.ts +20 -25
  59. package/src/struct-deserialize.ts +2 -2
  60. package/src/struct-serialize.ts +1 -1
  61. package/src/task.ts +21 -0
  62. package/src/types.ts +881 -0
  63. package/src/wrap-writable.ts +12 -12
  64. package/tsconfig.build.tsbuildinfo +1 -1
  65. package/esm/decode-utf8.d.ts +0 -5
  66. package/esm/decode-utf8.d.ts.map +0 -1
  67. package/esm/decode-utf8.js +0 -12
  68. package/esm/decode-utf8.js.map +0 -1
  69. package/src/decode-utf8.ts +0 -13
package/CHANGELOG.json CHANGED
@@ -1,6 +1,42 @@
1
1
  {
2
2
  "name": "@yume-chan/stream-extra",
3
3
  "entries": [
4
+ {
5
+ "version": "0.0.24",
6
+ "tag": "@yume-chan/stream-extra_v0.0.24",
7
+ "date": "Tue, 18 Jun 2024 02:49:43 GMT",
8
+ "comments": {
9
+ "none": [
10
+ {
11
+ "comment": "Add `MaybeConsumable` type. It's also a namespace containing related types."
12
+ },
13
+ {
14
+ "comment": "Re-export global `TextDecoderStream` to replace `DecodeUtf8Stream` which doesn't work correctly in stream mode"
15
+ },
16
+ {
17
+ "comment": "Move `Consumable` related types to the `Consumable` namespace. In future, more types will be moved to namespaces."
18
+ }
19
+ ]
20
+ }
21
+ },
22
+ {
23
+ "version": "0.0.23",
24
+ "tag": "@yume-chan/stream-extra_v0.0.23",
25
+ "date": "Thu, 21 Mar 2024 03:15:10 GMT",
26
+ "comments": {
27
+ "none": [
28
+ {
29
+ "comment": "Fix `ConsumableWritableStream.write` calls `chunk.consume` twice. (doesn't cause any issue)"
30
+ },
31
+ {
32
+ "comment": "Fix `WrapWritableStream` might close the inner stream twice. (and throw an error)"
33
+ },
34
+ {
35
+ "comment": "Remove web-streams-polyfill dependency. The runtime must have global stream implementations (or you can add a polyfill yourself)."
36
+ }
37
+ ]
38
+ }
39
+ },
4
40
  {
5
41
  "version": "0.0.22",
6
42
  "tag": "@yume-chan/stream-extra_v0.0.22",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,24 @@
1
1
  # Change Log - @yume-chan/stream-extra
2
2
 
3
- This log was last generated on Wed, 13 Dec 2023 05:57:27 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 18 Jun 2024 02:49:43 GMT and should not be manually modified.
4
+
5
+ ## 0.0.24
6
+ Tue, 18 Jun 2024 02:49:43 GMT
7
+
8
+ ### Updates
9
+
10
+ - Add `MaybeConsumable` type. It's also a namespace containing related types.
11
+ - Re-export global `TextDecoderStream` to replace `DecodeUtf8Stream` which doesn't work correctly in stream mode
12
+ - Move `Consumable` related types to the `Consumable` namespace. In future, more types will be moved to namespaces.
13
+
14
+ ## 0.0.23
15
+ Thu, 21 Mar 2024 03:15:10 GMT
16
+
17
+ ### Updates
18
+
19
+ - Fix `ConsumableWritableStream.write` calls `chunk.consume` twice. (doesn't cause any issue)
20
+ - Fix `WrapWritableStream` might close the inner stream twice. (and throw an error)
21
+ - Remove web-streams-polyfill dependency. The runtime must have global stream implementations (or you can add a polyfill yourself).
4
22
 
5
23
  ## 0.0.22
6
24
  Wed, 13 Dec 2023 05:57:27 GMT
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020-2023 Simon Chan
3
+ Copyright (c) 2020-2024 Simon Chan
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/esm/concat.d.ts CHANGED
@@ -22,9 +22,10 @@ export interface ConcatBufferReadableStream extends ReadableStream<Uint8Array>,
22
22
  * A `TransformStream` that concatenates `Uint8Array`s.
23
23
  *
24
24
  * If you want to decode the result as string,
25
- * prefer `.pipeThrough(new DecodeUtf8Stream()).pipeThrough(new ConcatStringStream())`,
26
- * than `.pipeThough(new ConcatBufferStream()).pipeThrough(new DecodeUtf8Stream())`,
27
- * because concatenating strings is faster than concatenating `Uint8Array`s.
25
+ * prefer `.pipeThrough(new TextDecoderStream()).pipeThrough(new ConcatStringStream())`,
26
+ * than `.pipeThough(new ConcatBufferStream()).pipeThrough(new TextDecoderStream())`,
27
+ * because of JavaScript engine optimizations,
28
+ * concatenating strings is faster than concatenating `Uint8Array`s.
28
29
  */
29
30
  export declare class ConcatBufferStream {
30
31
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"concat.d.ts","sourceRoot":"","sources":["../src/concat.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,MAAM,WAAW,0BACb,SAAQ,cAAc,CAAC,MAAM,CAAC,EAC1B,OAAO,CAAC,MAAM,CAAC;CAAG;AAO1B;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;;IAoB3B,IAAI,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,CAErC;IAQD,IAAI,QAAQ,IAAI,0BAA0B,CAEzC;;CAkBJ;AAED,MAAM,WAAW,0BACb,SAAQ,cAAc,CAAC,UAAU,CAAC,EAC9B,OAAO,CAAC,UAAU,CAAC;CAAG;AAE9B;;;;;;;GAOG;AACH,qBAAa,kBAAkB;;IA0C3B,IAAI,QAAQ,IAAI,cAAc,CAAC,UAAU,CAAC,CAEzC;IAQD,IAAI,QAAQ,IAAI,0BAA0B,CAEzC;;CAkBJ"}
1
+ {"version":3,"file":"concat.d.ts","sourceRoot":"","sources":["../src/concat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,MAAM,WAAW,0BACb,SAAQ,cAAc,CAAC,MAAM,CAAC,EAC1B,OAAO,CAAC,MAAM,CAAC;CAAG;AAO1B;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;;IAoB3B,IAAI,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,CAErC;IAQD,IAAI,QAAQ,IAAI,0BAA0B,CAEzC;;CAkBJ;AAED,MAAM,WAAW,0BACb,SAAQ,cAAc,CAAC,UAAU,CAAC,EAC9B,OAAO,CAAC,UAAU,CAAC;CAAG;AAE9B;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;;IA0C3B,IAAI,QAAQ,IAAI,cAAc,CAAC,UAAU,CAAC,CAEzC;IAQD,IAAI,QAAQ,IAAI,0BAA0B,CAEzC;;CAkBJ"}
package/esm/concat.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { PromiseResolver } from "@yume-chan/async";
2
+ import { EMPTY_UINT8_ARRAY } from "@yume-chan/struct";
2
3
  import { ReadableStream, WritableStream } from "./stream.js";
3
4
  // `TransformStream` only calls its `source.flush` method when its `readable` is being read.
4
5
  // If the user want to use the `Promise` interface, the `flush` method will never be called,
@@ -61,9 +62,10 @@ export class ConcatStringStream {
61
62
  * A `TransformStream` that concatenates `Uint8Array`s.
62
63
  *
63
64
  * If you want to decode the result as string,
64
- * prefer `.pipeThrough(new DecodeUtf8Stream()).pipeThrough(new ConcatStringStream())`,
65
- * than `.pipeThough(new ConcatBufferStream()).pipeThrough(new DecodeUtf8Stream())`,
66
- * because concatenating strings is faster than concatenating `Uint8Array`s.
65
+ * prefer `.pipeThrough(new TextDecoderStream()).pipeThrough(new ConcatStringStream())`,
66
+ * than `.pipeThough(new ConcatBufferStream()).pipeThrough(new TextDecoderStream())`,
67
+ * because of JavaScript engine optimizations,
68
+ * concatenating strings is faster than concatenating `Uint8Array`s.
67
69
  */
68
70
  export class ConcatBufferStream {
69
71
  #segments = [];
@@ -77,7 +79,7 @@ export class ConcatBufferStream {
77
79
  let offset = 0;
78
80
  switch (this.#segments.length) {
79
81
  case 0:
80
- result = new Uint8Array(0);
82
+ result = EMPTY_UINT8_ARRAY;
81
83
  break;
82
84
  case 1:
83
85
  result = this.#segments[0];
package/esm/concat.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"concat.js","sourceRoot":"","sources":["../src/concat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"concat.js","sourceRoot":"","sources":["../src/concat.ts"],"names":[],"mappings":"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"}
@@ -1,52 +1,40 @@
1
1
  import type { QueuingStrategy, WritableStreamDefaultController, WritableStreamDefaultWriter } from "./stream.js";
2
- import { ReadableStream, TransformStream, WritableStream } from "./stream.js";
2
+ import { ReadableStream as NativeReadableStream, WritableStream as NativeWritableStream } from "./stream.js";
3
3
  export declare class Consumable<T> {
4
4
  #private;
5
5
  readonly value: T;
6
6
  readonly consumed: Promise<void>;
7
7
  constructor(value: T);
8
8
  consume(): void;
9
- error(error: any): void;
10
- tryConsume<U>(callback: (value: T) => U): Promise<U>;
11
- }
12
- export declare class WrapConsumableStream<T> extends TransformStream<T, Consumable<T>> {
13
- constructor();
14
- }
15
- export declare class UnwrapConsumableStream<T> extends TransformStream<Consumable<T>, T> {
16
- constructor();
17
- }
18
- export interface ConsumableReadableStreamController<T> {
19
- enqueue(chunk: T): Promise<void>;
20
- close(): void;
21
- error(reason: any): void;
22
- }
23
- export interface ConsumableReadableStreamSource<T> {
24
- start?(controller: ConsumableReadableStreamController<T>): void | PromiseLike<void>;
25
- pull?(controller: ConsumableReadableStreamController<T>): void | PromiseLike<void>;
26
- cancel?(reason: any): void | PromiseLike<void>;
27
- }
28
- export declare class ConsumableReadableStream<T> extends ReadableStream<Consumable<T>> {
29
- constructor(source: ConsumableReadableStreamSource<T>, strategy?: QueuingStrategy<T>);
30
- }
31
- export interface ConsumableWritableStreamSink<T> {
32
- start?(controller: WritableStreamDefaultController): void | PromiseLike<void>;
33
- write?(chunk: T, controller: WritableStreamDefaultController): void | PromiseLike<void>;
34
- abort?(reason: any): void | PromiseLike<void>;
35
- close?(): void | PromiseLike<void>;
36
- }
37
- export declare class ConsumableWritableStream<T> extends WritableStream<Consumable<T>> {
38
- static write<T>(writer: WritableStreamDefaultWriter<Consumable<T>>, value: T): Promise<void>;
39
- constructor(sink: ConsumableWritableStreamSink<T>, strategy?: QueuingStrategy<T>);
40
- }
41
- export interface ConsumableTransformer<I, O> {
42
- start?(controller: ConsumableReadableStreamController<O>): void | PromiseLike<void>;
43
- transform?(chunk: I, controller: ConsumableReadableStreamController<O>): void | PromiseLike<void>;
44
- flush?(controller: ConsumableReadableStreamController<O>): void | PromiseLike<void>;
45
- }
46
- export declare class ConsumableTransformStream<I, O> extends TransformStream<Consumable<I>, Consumable<O>> {
47
- constructor(transformer: ConsumableTransformer<I, O>);
48
- }
49
- export declare class ConsumableInspectStream<T> extends TransformStream<Consumable<T>, Consumable<T>> {
50
- constructor(callback: (value: T) => void);
9
+ error(error: unknown): void;
10
+ tryConsume<U>(callback: (value: T) => U): U;
11
+ }
12
+ export declare namespace Consumable {
13
+ interface WritableStreamSink<in T> {
14
+ start?(controller: WritableStreamDefaultController): void | PromiseLike<void>;
15
+ write?(chunk: T, controller: WritableStreamDefaultController): void | PromiseLike<void>;
16
+ abort?(reason: unknown): void | PromiseLike<void>;
17
+ close?(): void | PromiseLike<void>;
18
+ }
19
+ class WritableStream<in T> extends NativeWritableStream<Consumable<T>> {
20
+ static write<T>(writer: WritableStreamDefaultWriter<Consumable<T>>, value: T): Promise<void>;
21
+ constructor(sink: WritableStreamSink<T>, strategy?: QueuingStrategy<T>);
22
+ }
23
+ interface ReadableStreamController<T> {
24
+ enqueue(chunk: T): Promise<void>;
25
+ close(): void;
26
+ error(reason: unknown): void;
27
+ }
28
+ interface ReadableStreamSource<T> {
29
+ start?(controller: ReadableStreamController<T>): void | PromiseLike<void>;
30
+ pull?(controller: ReadableStreamController<T>): void | PromiseLike<void>;
31
+ cancel?(reason: unknown): void | PromiseLike<void>;
32
+ }
33
+ class ReadableStream<T> extends NativeReadableStream<Consumable<T>> {
34
+ static enqueue<T>(controller: {
35
+ enqueue: (chunk: Consumable<T>) => void;
36
+ }, chunk: T): Promise<void>;
37
+ constructor(source: ReadableStreamSource<T>, strategy?: QueuingStrategy<T>);
38
+ }
51
39
  }
52
40
  //# sourceMappingURL=consumable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consumable.d.ts","sourceRoot":"","sources":["../src/consumable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumable.d.ts","sourceRoot":"","sources":["../src/consumable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,eAAe,EACf,+BAA+B,EAC/B,2BAA2B,EAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,cAAc,IAAI,oBAAoB,EACtC,cAAc,IAAI,oBAAoB,EACzC,MAAM,aAAa,CAAC;AAQrB,qBAAa,UAAU,CAAC,CAAC;;IAIrB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAErB,KAAK,EAAE,CAAC;IAOpB,OAAO;IAIP,KAAK,CAAC,KAAK,EAAE,OAAO;IAIpB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC;CAuB1C;AAED,yBAAiB,UAAU,CAAC;IACxB,UAAiB,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,CACF,UAAU,EAAE,+BAA+B,GAC5C,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,CAAC,CACF,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,+BAA+B,GAC5C,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;KACtC;IAED,MAAa,cAAc,CAAC,EAAE,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAC1D,UAAU,CAAC,CAAC,CAAC,CAChB;eACgB,KAAK,CAAC,CAAC,EAChB,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAClD,KAAK,EAAE,CAAC;oBAQR,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC3B,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;KAqCpC;IAED,UAAiB,wBAAwB,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,IAAI,IAAI,CAAC;QACd,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;KAChC;IAED,UAAiB,oBAAoB,CAAC,CAAC;QACnC,KAAK,CAAC,CACF,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACxC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,CACD,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACxC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;KACtD;IAED,MAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;eACzD,OAAO,CAAC,CAAC,EAClB,UAAU,EAAE;YAAE,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;SAAE,EACvD,KAAK,EAAE,CAAC;oBAQR,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC/B,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;KA4CpC;CACJ"}
package/esm/consumable.js CHANGED
@@ -1,13 +1,9 @@
1
1
  import { PromiseResolver } from "@yume-chan/async";
2
- import { ReadableStream, TransformStream, WritableStream } from "./stream.js";
3
- // `createTask` allows browser DevTools to track the call stack across async boundaries.
4
- const { console } = globalThis;
5
- const createTask = console.createTask?.bind(console) ??
6
- (() => ({
7
- run(callback) {
8
- return callback();
9
- },
10
- }));
2
+ import { ReadableStream as NativeReadableStream, WritableStream as NativeWritableStream, } from "./stream.js";
3
+ import { createTask } from "./task.js";
4
+ function isPromiseLike(value) {
5
+ return typeof value === "object" && value !== null && "then" in value;
6
+ }
11
7
  export class Consumable {
12
8
  #task;
13
9
  #resolver;
@@ -25,11 +21,21 @@ export class Consumable {
25
21
  error(error) {
26
22
  this.#resolver.reject(error);
27
23
  }
28
- async tryConsume(callback) {
24
+ tryConsume(callback) {
29
25
  try {
30
- // eslint-disable-next-line @typescript-eslint/await-thenable
31
- const result = await this.#task.run(() => callback(this.value));
32
- this.consume();
26
+ let result = this.#task.run(() => callback(this.value));
27
+ if (isPromiseLike(result)) {
28
+ result = result.then((value) => {
29
+ this.#resolver.resolve();
30
+ return value;
31
+ }, (e) => {
32
+ this.#resolver.reject(e);
33
+ throw e;
34
+ });
35
+ }
36
+ else {
37
+ this.#resolver.resolve();
38
+ }
33
39
  return result;
34
40
  }
35
41
  catch (e) {
@@ -38,141 +44,87 @@ export class Consumable {
38
44
  }
39
45
  }
40
46
  }
41
- async function enqueue(controller, chunk) {
42
- const output = new Consumable(chunk);
43
- controller.enqueue(output);
44
- await output.consumed;
45
- }
46
- export class WrapConsumableStream extends TransformStream {
47
- constructor() {
48
- super({
49
- async transform(chunk, controller) {
50
- await enqueue(controller, chunk);
51
- },
52
- });
53
- }
54
- }
55
- export class UnwrapConsumableStream extends TransformStream {
56
- constructor() {
57
- super({
58
- transform(chunk, controller) {
59
- controller.enqueue(chunk.value);
60
- chunk.consume();
61
- },
62
- });
63
- }
64
- }
65
- export class ConsumableReadableStream extends ReadableStream {
66
- constructor(source, strategy) {
67
- let wrappedController;
68
- let wrappedStrategy;
69
- if (strategy) {
70
- wrappedStrategy = {};
71
- if ("highWaterMark" in strategy) {
72
- wrappedStrategy.highWaterMark = strategy.highWaterMark;
73
- }
74
- if ("size" in strategy) {
75
- wrappedStrategy.size = (chunk) => {
76
- return strategy.size(chunk.value);
77
- };
47
+ (function (Consumable) {
48
+ class WritableStream extends NativeWritableStream {
49
+ static async write(writer, value) {
50
+ const consumable = new Consumable(value);
51
+ await writer.write(consumable);
52
+ await consumable.consumed;
53
+ }
54
+ constructor(sink, strategy) {
55
+ let wrappedStrategy;
56
+ if (strategy) {
57
+ wrappedStrategy = {};
58
+ if ("highWaterMark" in strategy) {
59
+ wrappedStrategy.highWaterMark = strategy.highWaterMark;
60
+ }
61
+ if ("size" in strategy) {
62
+ wrappedStrategy.size = (chunk) => {
63
+ return strategy.size(chunk instanceof Consumable ? chunk.value : chunk);
64
+ };
65
+ }
78
66
  }
67
+ super({
68
+ start(controller) {
69
+ return sink.start?.(controller);
70
+ },
71
+ async write(chunk, controller) {
72
+ await chunk.tryConsume((chunk) => sink.write?.(chunk, controller));
73
+ },
74
+ abort(reason) {
75
+ return sink.abort?.(reason);
76
+ },
77
+ close() {
78
+ return sink.close?.();
79
+ },
80
+ }, wrappedStrategy);
79
81
  }
80
- super({
81
- async start(controller) {
82
- wrappedController = {
83
- async enqueue(chunk) {
84
- await enqueue(controller, chunk);
85
- },
86
- close() {
87
- controller.close();
88
- },
89
- error(reason) {
90
- controller.error(reason);
91
- },
92
- };
93
- await source.start?.(wrappedController);
94
- },
95
- async pull() {
96
- await source.pull?.(wrappedController);
97
- },
98
- async cancel(reason) {
99
- await source.cancel?.(reason);
100
- },
101
- }, wrappedStrategy);
102
82
  }
103
- }
104
- export class ConsumableWritableStream extends WritableStream {
105
- static async write(writer, value) {
106
- const consumable = new Consumable(value);
107
- await writer.write(consumable);
108
- await consumable.consumed;
109
- }
110
- constructor(sink, strategy) {
111
- let wrappedStrategy;
112
- if (strategy) {
113
- wrappedStrategy = {};
114
- if ("highWaterMark" in strategy) {
115
- wrappedStrategy.highWaterMark = strategy.highWaterMark;
116
- }
117
- if ("size" in strategy) {
118
- wrappedStrategy.size = (chunk) => {
119
- return strategy.size(chunk.value);
120
- };
83
+ Consumable.WritableStream = WritableStream;
84
+ class ReadableStream extends NativeReadableStream {
85
+ static async enqueue(controller, chunk) {
86
+ const output = new Consumable(chunk);
87
+ controller.enqueue(output);
88
+ await output.consumed;
89
+ }
90
+ constructor(source, strategy) {
91
+ let wrappedController;
92
+ let wrappedStrategy;
93
+ if (strategy) {
94
+ wrappedStrategy = {};
95
+ if ("highWaterMark" in strategy) {
96
+ wrappedStrategy.highWaterMark = strategy.highWaterMark;
97
+ }
98
+ if ("size" in strategy) {
99
+ wrappedStrategy.size = (chunk) => {
100
+ return strategy.size(chunk.value);
101
+ };
102
+ }
121
103
  }
104
+ super({
105
+ async start(controller) {
106
+ wrappedController = {
107
+ async enqueue(chunk) {
108
+ await ReadableStream.enqueue(controller, chunk);
109
+ },
110
+ close() {
111
+ controller.close();
112
+ },
113
+ error(reason) {
114
+ controller.error(reason);
115
+ },
116
+ };
117
+ await source.start?.(wrappedController);
118
+ },
119
+ async pull() {
120
+ await source.pull?.(wrappedController);
121
+ },
122
+ async cancel(reason) {
123
+ await source.cancel?.(reason);
124
+ },
125
+ }, wrappedStrategy);
122
126
  }
123
- super({
124
- start(controller) {
125
- return sink.start?.(controller);
126
- },
127
- async write(chunk, controller) {
128
- await chunk.tryConsume((value) => sink.write?.(value, controller));
129
- chunk.consume();
130
- },
131
- abort(reason) {
132
- return sink.abort?.(reason);
133
- },
134
- close() {
135
- return sink.close?.();
136
- },
137
- }, wrappedStrategy);
138
127
  }
139
- }
140
- export class ConsumableTransformStream extends TransformStream {
141
- constructor(transformer) {
142
- let wrappedController;
143
- super({
144
- async start(controller) {
145
- wrappedController = {
146
- async enqueue(chunk) {
147
- await enqueue(controller, chunk);
148
- },
149
- close() {
150
- controller.terminate();
151
- },
152
- error(reason) {
153
- controller.error(reason);
154
- },
155
- };
156
- await transformer.start?.(wrappedController);
157
- },
158
- async transform(chunk) {
159
- await chunk.tryConsume((value) => transformer.transform?.(value, wrappedController));
160
- chunk.consume();
161
- },
162
- async flush() {
163
- await transformer.flush?.(wrappedController);
164
- },
165
- });
166
- }
167
- }
168
- export class ConsumableInspectStream extends TransformStream {
169
- constructor(callback) {
170
- super({
171
- transform(chunk, controller) {
172
- callback(chunk.value);
173
- controller.enqueue(chunk);
174
- },
175
- });
176
- }
177
- }
128
+ Consumable.ReadableStream = ReadableStream;
129
+ })(Consumable || (Consumable = {}));
178
130
  //# sourceMappingURL=consumable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consumable.js","sourceRoot":"","sources":["../src/consumable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAOnD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAc9E,wFAAwF;AACxF,MAAM,EAAE,OAAO,EAAE,GAAG,UAAwC,CAAC;AAC7D,MAAM,UAAU,GACZ,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC;IACjC,CAAC,GAAG,EAAE,CAAC,CAAC;QACJ,GAAG,CAAC,QAAQ;YACR,OAAO,QAAQ,EAAE,CAAC;QACtB,CAAC;KACJ,CAAC,CAAC,CAAC;AAER,MAAM,OAAO,UAAU;IACV,KAAK,CAAO;IACZ,SAAS,CAAwB;IAEjC,KAAK,CAAI;IACT,QAAQ,CAAgB;IAEjC,YAAY,KAAQ;QAChB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,EAAQ,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAC3C,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAU;QACZ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAI,QAAyB;QACzC,IAAI,CAAC;YACD,6DAA6D;YAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;CACJ;AAED,KAAK,UAAU,OAAO,CAClB,UAAuD,EACvD,KAAQ;IAER,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,MAAM,CAAC,QAAQ,CAAC;AAC1B,CAAC;AAED,MAAM,OAAO,oBAAwB,SAAQ,eAAiC;IAC1E;QACI,KAAK,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU;gBAC7B,MAAM,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ;AAED,MAAM,OAAO,sBAA0B,SAAQ,eAG9C;IACG;QACI,KAAK,CAAC;YACF,SAAS,CAAC,KAAK,EAAE,UAAU;gBACvB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ;AAkBD,MAAM,OAAO,wBAA4B,SAAQ,cAA6B;IAC1E,YACI,MAAyC,EACzC,QAA6B;QAE7B,IAAI,iBAEW,CAAC;QAEhB,IAAI,eAA2D,CAAC;QAChE,IAAI,QAAQ,EAAE,CAAC;YACX,eAAe,GAAG,EAAE,CAAC;YACrB,IAAI,eAAe,IAAI,QAAQ,EAAE,CAAC;gBAC9B,eAAe,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;YAC3D,CAAC;YACD,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACrB,eAAe,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE;oBAC7B,OAAO,QAAQ,CAAC,IAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC,CAAC;YACN,CAAC;QACL,CAAC;QAED,KAAK,CACD;YACI,KAAK,CAAC,KAAK,CAAC,UAAU;gBAClB,iBAAiB,GAAG;oBAChB,KAAK,CAAC,OAAO,CAAC,KAAK;wBACf,MAAM,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACrC,CAAC;oBACD,KAAK;wBACD,UAAU,CAAC,KAAK,EAAE,CAAC;oBACvB,CAAC;oBACD,KAAK,CAAC,MAAM;wBACR,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC7B,CAAC;iBACJ,CAAC;gBAEF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,iBAAiB,CAAC,CAAC;YAC5C,CAAC;YACD,KAAK,CAAC,IAAI;gBACN,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,iBAAkB,CAAC,CAAC;YAC5C,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,MAAM;gBACf,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;SACJ,EACD,eAAe,CAClB,CAAC;IACN,CAAC;CACJ;AAcD,MAAM,OAAO,wBAA4B,SAAQ,cAA6B;IAC1E,MAAM,CAAC,KAAK,CAAC,KAAK,CACd,MAAkD,EAClD,KAAQ;QAER,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,MAAM,UAAU,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,YACI,IAAqC,EACrC,QAA6B;QAE7B,IAAI,eAA2D,CAAC;QAChE,IAAI,QAAQ,EAAE,CAAC;YACX,eAAe,GAAG,EAAE,CAAC;YACrB,IAAI,eAAe,IAAI,QAAQ,EAAE,CAAC;gBAC9B,eAAe,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;YAC3D,CAAC;YACD,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACrB,eAAe,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE;oBAC7B,OAAO,QAAQ,CAAC,IAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC,CAAC;YACN,CAAC;QACL,CAAC;QAED,KAAK,CACD;YACI,KAAK,CAAC,UAAU;gBACZ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;YACD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU;gBACzB,MAAM,KAAK,CAAC,UAAU,CAClB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAC7C,CAAC;gBACF,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;YACD,KAAK,CAAC,MAAM;gBACR,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YACD,KAAK;gBACD,OAAO,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAC1B,CAAC;SACJ,EACD,eAAe,CAClB,CAAC;IACN,CAAC;CACJ;AAeD,MAAM,OAAO,yBAAgC,SAAQ,eAGpD;IACG,YAAY,WAAwC;QAChD,IAAI,iBAEW,CAAC;QAEhB,KAAK,CAAC;YACF,KAAK,CAAC,KAAK,CAAC,UAAU;gBAClB,iBAAiB,GAAG;oBAChB,KAAK,CAAC,OAAO,CAAC,KAAK;wBACf,MAAM,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACrC,CAAC;oBACD,KAAK;wBACD,UAAU,CAAC,SAAS,EAAE,CAAC;oBAC3B,CAAC;oBACD,KAAK,CAAC,MAAM;wBACR,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC7B,CAAC;iBACJ,CAAC;gBAEF,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,iBAAiB,CAAC,CAAC;YACjD,CAAC;YACD,KAAK,CAAC,SAAS,CAAC,KAAK;gBACjB,MAAM,KAAK,CAAC,UAAU,CAClB,CAAC,KAAK,EAAE,EAAE,CACN,WAAW,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,iBAAkB,CAAC,CACzD,CAAC;gBACF,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;YACD,KAAK,CAAC,KAAK;gBACP,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,iBAAkB,CAAC,CAAC;YAClD,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ;AAED,MAAM,OAAO,uBAA2B,SAAQ,eAG/C;IACG,YAAY,QAA4B;QACpC,KAAK,CAAC;YACF,SAAS,CAAC,KAAK,EAAE,UAAU;gBACvB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"consumable.js","sourceRoot":"","sources":["../src/consumable.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { ConsumableTransformStream } from "./consumable.js";
1
+ import { MaybeConsumable } from "./maybe-consumable.js";
2
+ import { TransformStream } from "./stream.js";
2
3
  /**
3
4
  * Splits or combines buffers to specified size.
4
5
  */
@@ -15,7 +16,7 @@ export declare class BufferCombiner {
15
16
  push(data: Uint8Array): Generator<Uint8Array, void, void>;
16
17
  flush(): Uint8Array | undefined;
17
18
  }
18
- export declare class DistributionStream extends ConsumableTransformStream<Uint8Array, Uint8Array> {
19
+ export declare class DistributionStream extends TransformStream<MaybeConsumable<Uint8Array>, MaybeConsumable<Uint8Array>> {
19
20
  constructor(size: number, combine?: boolean);
20
21
  }
21
22
  //# sourceMappingURL=distribution.d.ts.map
@@ -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;;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"}
1
+ {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;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,eAAe,CACnD,eAAe,CAAC,UAAU,CAAC,EAC3B,eAAe,CAAC,UAAU,CAAC,CAC9B;gBACe,IAAI,EAAE,MAAM,EAAE,OAAO,UAAQ;CAqC5C"}