ai.matey.react.stream 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,17 @@
1
+ # ai.matey.react.stream
2
+
3
+ ## 0.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - f227db2: Lint hardening: previously-unlinted packages (cli, react-\*) now pass the strict ESLint config;
8
+ fixed floating/misused promises in React hooks and CLI, case-block declarations, and unused
9
+ variables. require-await and no-redundant-type-constituents re-enabled repo-wide.
10
+ - Updated dependencies [dae4d01]
11
+ - Updated dependencies [e7df1d0]
12
+ - Updated dependencies [f227db2]
13
+ - Updated dependencies [2912b7d]
14
+ - Updated dependencies [78731bb]
15
+ - Updated dependencies [b7e2312]
16
+ - ai.matey.types@0.3.0
17
+ - ai.matey.react.core@0.2.1
@@ -93,8 +93,9 @@ function StreamProvider({ children, maxStreams = 100 }) {
93
93
  const updateStream = (0, react_1.useCallback)((id, text) => {
94
94
  setStreams((prev) => {
95
95
  const state = prev.get(id);
96
- if (!state)
96
+ if (!state) {
97
97
  return prev;
98
+ }
98
99
  const newMap = new Map(prev);
99
100
  newMap.set(id, { ...state, text });
100
101
  return newMap;
@@ -106,8 +107,9 @@ function StreamProvider({ children, maxStreams = 100 }) {
106
107
  const appendToStream = (0, react_1.useCallback)((id, chunk) => {
107
108
  setStreams((prev) => {
108
109
  const state = prev.get(id);
109
- if (!state)
110
+ if (!state) {
110
111
  return prev;
112
+ }
111
113
  const newMap = new Map(prev);
112
114
  newMap.set(id, { ...state, text: state.text + chunk });
113
115
  return newMap;
@@ -119,8 +121,9 @@ function StreamProvider({ children, maxStreams = 100 }) {
119
121
  const completeStream = (0, react_1.useCallback)((id) => {
120
122
  setStreams((prev) => {
121
123
  const state = prev.get(id);
122
- if (!state)
124
+ if (!state) {
123
125
  return prev;
126
+ }
124
127
  const newMap = new Map(prev);
125
128
  newMap.set(id, { ...state, isStreaming: false });
126
129
  return newMap;
@@ -132,8 +135,9 @@ function StreamProvider({ children, maxStreams = 100 }) {
132
135
  const setStreamError = (0, react_1.useCallback)((id, error) => {
133
136
  setStreams((prev) => {
134
137
  const state = prev.get(id);
135
- if (!state)
138
+ if (!state) {
136
139
  return prev;
140
+ }
137
141
  const newMap = new Map(prev);
138
142
  newMap.set(id, { ...state, isStreaming: false, error });
139
143
  return newMap;
@@ -1 +1 @@
1
- {"version":3,"file":"stream-context.js","sourceRoot":"","sources":["../../src/stream-context.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-context.js","sourceRoot":"","sources":["../../src/stream-context.tsx"],"names":[],"mappings":";;AAmGA,wCA8IC;AAOD,4CAQC;AAQD,wCAGC;;AA3QD;;;;;;GAMG;AAEH,iCAAiG;AA0CjG;;GAEG;AACH,MAAM,aAAa,GAAG,IAAA,qBAAa,EAA4B,IAAI,CAAC,CAAC;AAYrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,SAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,GAAG,EAAuB;IAChF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAA2B,IAAI,GAAG,EAAE,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,IAAA,cAAM,EAA2B,OAAO,CAAC,CAAC;IAE7D,mBAAmB;IACnB,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B;;OAEG;IACH,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,EAAU,EAA2B,EAAE;QACpE,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,CAAC,EAAU,EAAE,QAAkC,EAAE,EAAE;QACjD,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAE7B,4BAA4B;YAC5B,IAAI,MAAM,CAAC,IAAI,IAAI,UAAU,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjD,iCAAiC;gBACjC,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;wBACvB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACxB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;gBACb,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,SAAS;gBAChB,QAAQ;aACT,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF;;OAEG;IACH,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;QAC5D,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,CAAC,EAAU,EAAE,KAAa,EAAE,EAAE;QAC/D,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;YACvD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,CAAC,EAAU,EAAE,EAAE;QAChD,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,CAAC,EAAU,EAAE,KAAY,EAAE,EAAE;QAC9D,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,CAAC,EAAU,EAAE,EAAE;QAC9C,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACvC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAuB;QAChC,OAAO;QACP,SAAS;QACT,WAAW;QACX,YAAY;QACZ,cAAc;QACd,cAAc;QACd,cAAc;QACd,YAAY;QACZ,eAAe;KAChB,CAAC;IAEF,OAAO,uBAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA0B,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB;IAC9B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,aAAa,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,EAAU;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC"}
@@ -78,8 +78,9 @@ function TypeWriter({ text, speed = 30, delay = 0, onComplete, className, showCu
78
78
  (0, react_1.useEffect)(() => {
79
79
  setDisplayedText('');
80
80
  setIsTyping(false);
81
- if (!text)
81
+ if (!text) {
82
82
  return;
83
+ }
83
84
  // Start delay
84
85
  const delayTimeout = setTimeout(() => {
85
86
  setIsTyping(true);
@@ -1 +1 @@
1
- {"version":3,"file":"stream-text.js","sourceRoot":"","sources":["../../src/stream-text.tsx"],"names":[],"mappings":";;AAkDA,gCA+CC;AA0CD,gCAiDC;;AA5LD;;;;;;GAMG;AAEH,iCAAqE;AAwBrE;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,WAAW,GAAG,KAAK,EACnB,UAAU,GAAG,IAAI,EACjB,MAAM,GAAG,GAAG,EACZ,mBAAmB,GAAG,GAAG,EACzB,SAAS,EACT,UAAU,EACV,QAAQ,GACQ;IAChB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAEzD,+BAA+B;IAC/B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAExB,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEnD,sBAAsB;IACtB,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC/B,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvB,OAAO,CACL,kCAAM,SAAS,EAAE,SAAS,aACvB,WAAW,EACX,WAAW,IAAI,UAAU,IAAI,aAAa,IAAI,CAC7C,iCAAM,SAAS,EAAC,kBAAkB,iBAAa,MAAM,YAClD,MAAM,GACF,CACR,EACA,QAAQ,IACJ,CACR,CAAC;AACJ,CAAC;AAsBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,GAAG,EAAE,EACV,KAAK,GAAG,CAAC,EACT,UAAU,EACV,SAAS,EACT,UAAU,GAAG,IAAI,EACjB,MAAM,GAAG,GAAG,GACI;IAChB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEhD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACrB,WAAW,CAAC,KAAK,CAAC,CAAC;QAEnB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,cAAc;QACd,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;gBACpC,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC/B,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClD,YAAY,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,YAAY,CAAC,CAAC;oBAC5B,WAAW,CAAC,KAAK,CAAC,CAAC;oBACnB,UAAU,EAAE,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAErC,OAAO,CACL,uBAAC,UAAU,IACT,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,QAAQ,EACrB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"stream-text.js","sourceRoot":"","sources":["../../src/stream-text.tsx"],"names":[],"mappings":"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"}
@@ -14,11 +14,28 @@ exports.mergeStreams = mergeStreams;
14
14
  exports.fromAsyncIterable = fromAsyncIterable;
15
15
  exports.toAsyncIterable = toAsyncIterable;
16
16
  /**
17
- * Create a controlled text stream from a fetch response.
17
+ * Create a controlled text stream from a fetch response with streaming body.
18
18
  *
19
- * @param response - Fetch response with streaming body
20
- * @param options - Stream options
21
- * @returns Promise resolving to full text
19
+ * This function reads a streaming response body chunk by chunk, decodes the
20
+ * bytes as UTF-8 text, and provides callbacks for processing each chunk as it
21
+ * arrives. It accumulates the full text and returns it when the stream completes.
22
+ * Supports abort signals for cancellation and error handling.
23
+ *
24
+ * @param response - Fetch Response object with a streaming body
25
+ * @param options - Configuration including chunk/complete/error callbacks and abort signal
26
+ * @returns Promise resolving to the complete accumulated text
27
+ * @throws {Error} If response body is null or if stream reading fails
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const response = await fetch('/api/stream');
32
+ * const fullText = await createTextStream(response, {
33
+ * onChunk: (chunk) => console.log('Received:', chunk),
34
+ * onComplete: (text) => console.log('Done:', text),
35
+ * onError: (err) => console.error('Error:', err),
36
+ * signal: abortController.signal
37
+ * });
38
+ * ```
22
39
  */
23
40
  async function createTextStream(response, options = {}) {
24
41
  const { onChunk, onComplete, onError, signal } = options;
@@ -31,7 +48,7 @@ async function createTextStream(response, options = {}) {
31
48
  let fullText = '';
32
49
  while (true) {
33
50
  if (signal?.aborted) {
34
- reader.cancel();
51
+ void reader.cancel();
35
52
  break;
36
53
  }
37
54
  const { done, value } = await reader.read();
@@ -52,11 +69,30 @@ async function createTextStream(response, options = {}) {
52
69
  }
53
70
  }
54
71
  /**
55
- * Parse Server-Sent Events (SSE) stream.
72
+ * Parse Server-Sent Events (SSE) stream from a fetch response.
73
+ *
74
+ * This async generator reads a streaming response body conforming to the
75
+ * Server-Sent Events specification and yields parsed event objects. It handles
76
+ * SSE event delimiters (double newlines), parses event fields (event, data, id,
77
+ * retry), and buffers incomplete events. Supports cancellation via abort signal.
78
+ *
79
+ * @param response - Fetch Response object with SSE formatted body
80
+ * @param options - Configuration including optional abort signal
81
+ * @yields Parsed SSE events with event type, data, id, and retry fields
82
+ * @throws {Error} If response body is null
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * const response = await fetch('/api/chat');
87
+ * const abortController = new AbortController();
56
88
  *
57
- * @param response - Fetch response with SSE body
58
- * @param options - Stream options
59
- * @returns Async generator yielding parsed events
89
+ * for await (const event of parseSSEStream(response, {
90
+ * signal: abortController.signal
91
+ * })) {
92
+ * console.log('Event:', event.event, 'Data:', event.data);
93
+ * if (event.data === '[DONE]') break;
94
+ * }
95
+ * ```
60
96
  */
61
97
  async function* parseSSEStream(response, options = {}) {
62
98
  const { signal } = options;
@@ -69,7 +105,7 @@ async function* parseSSEStream(response, options = {}) {
69
105
  try {
70
106
  while (true) {
71
107
  if (signal?.aborted) {
72
- reader.cancel();
108
+ void reader.cancel();
73
109
  break;
74
110
  }
75
111
  const { done, value } = await reader.read();
@@ -100,7 +136,20 @@ async function* parseSSEStream(response, options = {}) {
100
136
  }
101
137
  }
102
138
  /**
103
- * Parse a single SSE event.
139
+ * Parse a single Server-Sent Event from text.
140
+ *
141
+ * This internal function parses the text of a single SSE event, extracting
142
+ * the event type, data (supporting multi-line data), id, and retry fields
143
+ * according to the SSE specification. Returns null if no data is present.
144
+ *
145
+ * @param text - Raw SSE event text
146
+ * @returns Parsed SSE event object or null if invalid
147
+ *
148
+ * @example
149
+ * ```typescript
150
+ * const event = parseSSEEvent('event: message\ndata: hello\nid: 123\n');
151
+ * // Returns: { event: 'message', data: 'hello', id: '123' }
152
+ * ```
104
153
  */
105
154
  function parseSSEEvent(text) {
106
155
  const lines = text.split('\n');
@@ -130,11 +179,25 @@ function parseSSEEvent(text) {
130
179
  return event;
131
180
  }
132
181
  /**
133
- * Transform a ReadableStream with a function.
182
+ * Transform a ReadableStream by applying a function to each chunk.
183
+ *
184
+ * This utility creates a new ReadableStream that applies a transformation
185
+ * function to each chunk from the source stream. The transform function can
186
+ * be synchronous or asynchronous, allowing for complex processing pipelines.
187
+ * Useful for modifying stream data types or content on-the-fly.
134
188
  *
135
- * @param stream - Source stream
136
- * @param transform - Transform function
137
- * @returns Transformed stream
189
+ * @param stream - Source ReadableStream to transform
190
+ * @param transform - Function to apply to each chunk (sync or async)
191
+ * @returns New ReadableStream emitting transformed chunks
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * const textStream = fetchStream(); // ReadableStream<Uint8Array>
196
+ * const uppercaseStream = transformStream(textStream, (chunk) => {
197
+ * const text = new TextDecoder().decode(chunk);
198
+ * return new TextEncoder().encode(text.toUpperCase());
199
+ * });
200
+ * ```
138
201
  */
139
202
  function transformStream(stream, transform) {
140
203
  const reader = stream.getReader();
@@ -149,15 +212,31 @@ function transformStream(stream, transform) {
149
212
  controller.enqueue(transformed);
150
213
  },
151
214
  cancel() {
152
- reader.cancel();
215
+ void reader.cancel();
153
216
  },
154
217
  });
155
218
  }
156
219
  /**
157
- * Merge multiple streams into one.
220
+ * Merge multiple ReadableStreams into a single stream.
221
+ *
222
+ * This utility combines multiple source streams into one output stream,
223
+ * reading from all sources concurrently and emitting chunks as they arrive
224
+ * from any source. The merged stream closes when all source streams complete.
225
+ * Useful for combining multiple AI model responses or parallel data sources.
226
+ *
227
+ * @param streams - Variable number of ReadableStreams to merge
228
+ * @returns Single ReadableStream emitting chunks from all sources
158
229
  *
159
- * @param streams - Streams to merge
160
- * @returns Merged stream
230
+ * @example
231
+ * ```typescript
232
+ * const stream1 = fetch('/api/model1').then(r => r.body!);
233
+ * const stream2 = fetch('/api/model2').then(r => r.body!);
234
+ * const combined = mergeStreams(stream1, stream2);
235
+ *
236
+ * for await (const chunk of toAsyncIterable(combined)) {
237
+ * console.log('Chunk from either stream:', chunk);
238
+ * }
239
+ * ```
161
240
  */
162
241
  function mergeStreams(...streams) {
163
242
  const readers = streams.map((s) => s.getReader());
@@ -186,15 +265,32 @@ function mergeStreams(...streams) {
186
265
  }
187
266
  },
188
267
  cancel() {
189
- readers.forEach((reader) => reader.cancel());
268
+ readers.forEach((reader) => void reader.cancel());
190
269
  },
191
270
  });
192
271
  }
193
272
  /**
194
- * Create a stream from an async iterable.
273
+ * Create a ReadableStream from an async iterable source.
274
+ *
275
+ * This utility converts any async iterable (like async generators) into a
276
+ * ReadableStream, making it compatible with browser streaming APIs and
277
+ * React streaming hooks. Useful for bridging between Node.js-style async
278
+ * iterators and Web Streams API.
195
279
  *
196
- * @param iterable - Async iterable source
197
- * @returns ReadableStream
280
+ * @param iterable - Any async iterable source (async generator, etc.)
281
+ * @returns ReadableStream emitting values from the iterable
282
+ *
283
+ * @example
284
+ * ```typescript
285
+ * async function* generateData() {
286
+ * yield 'chunk 1';
287
+ * yield 'chunk 2';
288
+ * yield 'chunk 3';
289
+ * }
290
+ *
291
+ * const stream = fromAsyncIterable(generateData());
292
+ * const response = new Response(stream);
293
+ * ```
198
294
  */
199
295
  function fromAsyncIterable(iterable) {
200
296
  const iterator = iterable[Symbol.asyncIterator]();
@@ -208,15 +304,28 @@ function fromAsyncIterable(iterable) {
208
304
  controller.enqueue(value);
209
305
  },
210
306
  cancel() {
211
- iterator.return?.();
307
+ void iterator.return?.();
212
308
  },
213
309
  });
214
310
  }
215
311
  /**
216
- * Convert a ReadableStream to an async iterable.
312
+ * Convert a ReadableStream to an async iterable for use in for-await loops.
313
+ *
314
+ * This async generator wraps a ReadableStream and yields each chunk,
315
+ * allowing you to consume Web Streams using async iteration syntax.
316
+ * Properly handles reader lifecycle and ensures the lock is released.
317
+ * Useful for consuming fetch responses in a more ergonomic way.
318
+ *
319
+ * @param stream - ReadableStream to convert
320
+ * @yields Each chunk from the stream
217
321
  *
218
- * @param stream - ReadableStream source
219
- * @returns Async iterable
322
+ * @example
323
+ * ```typescript
324
+ * const response = await fetch('/api/stream');
325
+ * for await (const chunk of toAsyncIterable(response.body!)) {
326
+ * console.log('Received chunk:', chunk);
327
+ * }
328
+ * ```
220
329
  */
221
330
  async function* toAsyncIterable(stream) {
222
331
  const reader = stream.getReader();
@@ -1 +1 @@
1
- {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../src/stream-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../src/stream-utils.ts"],"names":[],"mappings":"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"}
@@ -88,8 +88,9 @@ export function StreamProvider({ children, maxStreams = 100 }) {
88
88
  const updateStream = useCallback((id, text) => {
89
89
  setStreams((prev) => {
90
90
  const state = prev.get(id);
91
- if (!state)
91
+ if (!state) {
92
92
  return prev;
93
+ }
93
94
  const newMap = new Map(prev);
94
95
  newMap.set(id, { ...state, text });
95
96
  return newMap;
@@ -101,8 +102,9 @@ export function StreamProvider({ children, maxStreams = 100 }) {
101
102
  const appendToStream = useCallback((id, chunk) => {
102
103
  setStreams((prev) => {
103
104
  const state = prev.get(id);
104
- if (!state)
105
+ if (!state) {
105
106
  return prev;
107
+ }
106
108
  const newMap = new Map(prev);
107
109
  newMap.set(id, { ...state, text: state.text + chunk });
108
110
  return newMap;
@@ -114,8 +116,9 @@ export function StreamProvider({ children, maxStreams = 100 }) {
114
116
  const completeStream = useCallback((id) => {
115
117
  setStreams((prev) => {
116
118
  const state = prev.get(id);
117
- if (!state)
119
+ if (!state) {
118
120
  return prev;
121
+ }
119
122
  const newMap = new Map(prev);
120
123
  newMap.set(id, { ...state, isStreaming: false });
121
124
  return newMap;
@@ -127,8 +130,9 @@ export function StreamProvider({ children, maxStreams = 100 }) {
127
130
  const setStreamError = useCallback((id, error) => {
128
131
  setStreams((prev) => {
129
132
  const state = prev.get(id);
130
- if (!state)
133
+ if (!state) {
131
134
  return prev;
135
+ }
132
136
  const newMap = new Map(prev);
133
137
  newMap.set(id, { ...state, isStreaming: false, error });
134
138
  return newMap;
@@ -1 +1 @@
1
- {"version":3,"file":"stream-context.js","sourceRoot":"","sources":["../../src/stream-context.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-context.js","sourceRoot":"","sources":["../../src/stream-context.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AA0CjG;;GAEG;AACH,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAC;AAYrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,GAAG,EAAuB;IAChF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA2B,IAAI,GAAG,EAAE,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,MAAM,CAA2B,OAAO,CAAC,CAAC;IAE7D,mBAAmB;IACnB,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B;;OAEG;IACH,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,EAAU,EAA2B,EAAE;QACpE,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,EAAU,EAAE,QAAkC,EAAE,EAAE;QACjD,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAE7B,4BAA4B;YAC5B,IAAI,MAAM,CAAC,IAAI,IAAI,UAAU,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjD,iCAAiC;gBACjC,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;wBACvB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACxB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;gBACb,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,SAAS;gBAChB,QAAQ;aACT,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF;;OAEG;IACH,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;QAC5D,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,KAAa,EAAE,EAAE;QAC/D,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;YACvD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,EAAE;QAChD,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,KAAY,EAAE,EAAE;QAC9D,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,EAAE;QAC9C,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAuB;QAChC,OAAO;QACP,SAAS;QACT,WAAW;QACX,YAAY;QACZ,cAAc;QACd,cAAc;QACd,cAAc;QACd,YAAY;QACZ,eAAe;KAChB,CAAC;IAEF,OAAO,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA0B,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC"}
@@ -74,8 +74,9 @@ export function TypeWriter({ text, speed = 30, delay = 0, onComplete, className,
74
74
  useEffect(() => {
75
75
  setDisplayedText('');
76
76
  setIsTyping(false);
77
- if (!text)
77
+ if (!text) {
78
78
  return;
79
+ }
79
80
  // Start delay
80
81
  const delayTimeout = setTimeout(() => {
81
82
  setIsTyping(true);
@@ -1 +1 @@
1
- {"version":3,"file":"stream-text.js","sourceRoot":"","sources":["../../src/stream-text.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AAwBrE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,WAAW,GAAG,KAAK,EACnB,UAAU,GAAG,IAAI,EACjB,MAAM,GAAG,GAAG,EACZ,mBAAmB,GAAG,GAAG,EACzB,SAAS,EACT,UAAU,EACV,QAAQ,GACQ;IAChB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEzD,+BAA+B;IAC/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAExB,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEnD,sBAAsB;IACtB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvB,OAAO,CACL,gBAAM,SAAS,EAAE,SAAS,aACvB,WAAW,EACX,WAAW,IAAI,UAAU,IAAI,aAAa,IAAI,CAC7C,eAAM,SAAS,EAAC,kBAAkB,iBAAa,MAAM,YAClD,MAAM,GACF,CACR,EACA,QAAQ,IACJ,CACR,CAAC;AACJ,CAAC;AAsBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,GAAG,EAAE,EACV,KAAK,GAAG,CAAC,EACT,UAAU,EACV,SAAS,EACT,UAAU,GAAG,IAAI,EACjB,MAAM,GAAG,GAAG,GACI;IAChB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACrB,WAAW,CAAC,KAAK,CAAC,CAAC;QAEnB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,cAAc;QACd,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;gBACpC,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC/B,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClD,YAAY,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,YAAY,CAAC,CAAC;oBAC5B,WAAW,CAAC,KAAK,CAAC,CAAC;oBACnB,UAAU,EAAE,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAErC,OAAO,CACL,KAAC,UAAU,IACT,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,QAAQ,EACrB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"stream-text.js","sourceRoot":"","sources":["../../src/stream-text.tsx"],"names":[],"mappings":"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"}
@@ -6,11 +6,28 @@
6
6
  * @module
7
7
  */
8
8
  /**
9
- * Create a controlled text stream from a fetch response.
9
+ * Create a controlled text stream from a fetch response with streaming body.
10
10
  *
11
- * @param response - Fetch response with streaming body
12
- * @param options - Stream options
13
- * @returns Promise resolving to full text
11
+ * This function reads a streaming response body chunk by chunk, decodes the
12
+ * bytes as UTF-8 text, and provides callbacks for processing each chunk as it
13
+ * arrives. It accumulates the full text and returns it when the stream completes.
14
+ * Supports abort signals for cancellation and error handling.
15
+ *
16
+ * @param response - Fetch Response object with a streaming body
17
+ * @param options - Configuration including chunk/complete/error callbacks and abort signal
18
+ * @returns Promise resolving to the complete accumulated text
19
+ * @throws {Error} If response body is null or if stream reading fails
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const response = await fetch('/api/stream');
24
+ * const fullText = await createTextStream(response, {
25
+ * onChunk: (chunk) => console.log('Received:', chunk),
26
+ * onComplete: (text) => console.log('Done:', text),
27
+ * onError: (err) => console.error('Error:', err),
28
+ * signal: abortController.signal
29
+ * });
30
+ * ```
14
31
  */
15
32
  export async function createTextStream(response, options = {}) {
16
33
  const { onChunk, onComplete, onError, signal } = options;
@@ -23,7 +40,7 @@ export async function createTextStream(response, options = {}) {
23
40
  let fullText = '';
24
41
  while (true) {
25
42
  if (signal?.aborted) {
26
- reader.cancel();
43
+ void reader.cancel();
27
44
  break;
28
45
  }
29
46
  const { done, value } = await reader.read();
@@ -44,11 +61,30 @@ export async function createTextStream(response, options = {}) {
44
61
  }
45
62
  }
46
63
  /**
47
- * Parse Server-Sent Events (SSE) stream.
64
+ * Parse Server-Sent Events (SSE) stream from a fetch response.
65
+ *
66
+ * This async generator reads a streaming response body conforming to the
67
+ * Server-Sent Events specification and yields parsed event objects. It handles
68
+ * SSE event delimiters (double newlines), parses event fields (event, data, id,
69
+ * retry), and buffers incomplete events. Supports cancellation via abort signal.
70
+ *
71
+ * @param response - Fetch Response object with SSE formatted body
72
+ * @param options - Configuration including optional abort signal
73
+ * @yields Parsed SSE events with event type, data, id, and retry fields
74
+ * @throws {Error} If response body is null
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * const response = await fetch('/api/chat');
79
+ * const abortController = new AbortController();
48
80
  *
49
- * @param response - Fetch response with SSE body
50
- * @param options - Stream options
51
- * @returns Async generator yielding parsed events
81
+ * for await (const event of parseSSEStream(response, {
82
+ * signal: abortController.signal
83
+ * })) {
84
+ * console.log('Event:', event.event, 'Data:', event.data);
85
+ * if (event.data === '[DONE]') break;
86
+ * }
87
+ * ```
52
88
  */
53
89
  export async function* parseSSEStream(response, options = {}) {
54
90
  const { signal } = options;
@@ -61,7 +97,7 @@ export async function* parseSSEStream(response, options = {}) {
61
97
  try {
62
98
  while (true) {
63
99
  if (signal?.aborted) {
64
- reader.cancel();
100
+ void reader.cancel();
65
101
  break;
66
102
  }
67
103
  const { done, value } = await reader.read();
@@ -92,7 +128,20 @@ export async function* parseSSEStream(response, options = {}) {
92
128
  }
93
129
  }
94
130
  /**
95
- * Parse a single SSE event.
131
+ * Parse a single Server-Sent Event from text.
132
+ *
133
+ * This internal function parses the text of a single SSE event, extracting
134
+ * the event type, data (supporting multi-line data), id, and retry fields
135
+ * according to the SSE specification. Returns null if no data is present.
136
+ *
137
+ * @param text - Raw SSE event text
138
+ * @returns Parsed SSE event object or null if invalid
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * const event = parseSSEEvent('event: message\ndata: hello\nid: 123\n');
143
+ * // Returns: { event: 'message', data: 'hello', id: '123' }
144
+ * ```
96
145
  */
97
146
  function parseSSEEvent(text) {
98
147
  const lines = text.split('\n');
@@ -122,11 +171,25 @@ function parseSSEEvent(text) {
122
171
  return event;
123
172
  }
124
173
  /**
125
- * Transform a ReadableStream with a function.
174
+ * Transform a ReadableStream by applying a function to each chunk.
175
+ *
176
+ * This utility creates a new ReadableStream that applies a transformation
177
+ * function to each chunk from the source stream. The transform function can
178
+ * be synchronous or asynchronous, allowing for complex processing pipelines.
179
+ * Useful for modifying stream data types or content on-the-fly.
126
180
  *
127
- * @param stream - Source stream
128
- * @param transform - Transform function
129
- * @returns Transformed stream
181
+ * @param stream - Source ReadableStream to transform
182
+ * @param transform - Function to apply to each chunk (sync or async)
183
+ * @returns New ReadableStream emitting transformed chunks
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * const textStream = fetchStream(); // ReadableStream<Uint8Array>
188
+ * const uppercaseStream = transformStream(textStream, (chunk) => {
189
+ * const text = new TextDecoder().decode(chunk);
190
+ * return new TextEncoder().encode(text.toUpperCase());
191
+ * });
192
+ * ```
130
193
  */
131
194
  export function transformStream(stream, transform) {
132
195
  const reader = stream.getReader();
@@ -141,15 +204,31 @@ export function transformStream(stream, transform) {
141
204
  controller.enqueue(transformed);
142
205
  },
143
206
  cancel() {
144
- reader.cancel();
207
+ void reader.cancel();
145
208
  },
146
209
  });
147
210
  }
148
211
  /**
149
- * Merge multiple streams into one.
212
+ * Merge multiple ReadableStreams into a single stream.
213
+ *
214
+ * This utility combines multiple source streams into one output stream,
215
+ * reading from all sources concurrently and emitting chunks as they arrive
216
+ * from any source. The merged stream closes when all source streams complete.
217
+ * Useful for combining multiple AI model responses or parallel data sources.
218
+ *
219
+ * @param streams - Variable number of ReadableStreams to merge
220
+ * @returns Single ReadableStream emitting chunks from all sources
150
221
  *
151
- * @param streams - Streams to merge
152
- * @returns Merged stream
222
+ * @example
223
+ * ```typescript
224
+ * const stream1 = fetch('/api/model1').then(r => r.body!);
225
+ * const stream2 = fetch('/api/model2').then(r => r.body!);
226
+ * const combined = mergeStreams(stream1, stream2);
227
+ *
228
+ * for await (const chunk of toAsyncIterable(combined)) {
229
+ * console.log('Chunk from either stream:', chunk);
230
+ * }
231
+ * ```
153
232
  */
154
233
  export function mergeStreams(...streams) {
155
234
  const readers = streams.map((s) => s.getReader());
@@ -178,15 +257,32 @@ export function mergeStreams(...streams) {
178
257
  }
179
258
  },
180
259
  cancel() {
181
- readers.forEach((reader) => reader.cancel());
260
+ readers.forEach((reader) => void reader.cancel());
182
261
  },
183
262
  });
184
263
  }
185
264
  /**
186
- * Create a stream from an async iterable.
265
+ * Create a ReadableStream from an async iterable source.
266
+ *
267
+ * This utility converts any async iterable (like async generators) into a
268
+ * ReadableStream, making it compatible with browser streaming APIs and
269
+ * React streaming hooks. Useful for bridging between Node.js-style async
270
+ * iterators and Web Streams API.
187
271
  *
188
- * @param iterable - Async iterable source
189
- * @returns ReadableStream
272
+ * @param iterable - Any async iterable source (async generator, etc.)
273
+ * @returns ReadableStream emitting values from the iterable
274
+ *
275
+ * @example
276
+ * ```typescript
277
+ * async function* generateData() {
278
+ * yield 'chunk 1';
279
+ * yield 'chunk 2';
280
+ * yield 'chunk 3';
281
+ * }
282
+ *
283
+ * const stream = fromAsyncIterable(generateData());
284
+ * const response = new Response(stream);
285
+ * ```
190
286
  */
191
287
  export function fromAsyncIterable(iterable) {
192
288
  const iterator = iterable[Symbol.asyncIterator]();
@@ -200,15 +296,28 @@ export function fromAsyncIterable(iterable) {
200
296
  controller.enqueue(value);
201
297
  },
202
298
  cancel() {
203
- iterator.return?.();
299
+ void iterator.return?.();
204
300
  },
205
301
  });
206
302
  }
207
303
  /**
208
- * Convert a ReadableStream to an async iterable.
304
+ * Convert a ReadableStream to an async iterable for use in for-await loops.
305
+ *
306
+ * This async generator wraps a ReadableStream and yields each chunk,
307
+ * allowing you to consume Web Streams using async iteration syntax.
308
+ * Properly handles reader lifecycle and ensures the lock is released.
309
+ * Useful for consuming fetch responses in a more ergonomic way.
310
+ *
311
+ * @param stream - ReadableStream to convert
312
+ * @yields Each chunk from the stream
209
313
  *
210
- * @param stream - ReadableStream source
211
- * @returns Async iterable
314
+ * @example
315
+ * ```typescript
316
+ * const response = await fetch('/api/stream');
317
+ * for await (const chunk of toAsyncIterable(response.body!)) {
318
+ * console.log('Received chunk:', chunk);
319
+ * }
320
+ * ```
212
321
  */
213
322
  export async function* toAsyncIterable(stream) {
214
323
  const reader = stream.getReader();
@@ -1 +1 @@
1
- {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../src/stream-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../src/stream-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stream-context.d.ts","sourceRoot":"","sources":["../../src/stream-context.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA4D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,4BAA4B;IAC5B,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IACnD,yBAAyB;IACzB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACtE,yBAAyB;IACzB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,4BAA4B;IAC5B,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,wBAAwB;IACxB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,uBAAuB;IACvB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACnD,sBAAsB;IACtB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,wBAAwB;IACxB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAOD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yBAAyB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAgB,EAAE,EAAE,mBAAmB,2CAsIjF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAQrD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGlE"}
1
+ {"version":3,"file":"stream-context.d.ts","sourceRoot":"","sources":["../../src/stream-context.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA4D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,4BAA4B;IAC5B,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IACnD,yBAAyB;IACzB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACtE,yBAAyB;IACzB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,4BAA4B;IAC5B,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,wBAAwB;IACxB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,uBAAuB;IACvB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACnD,sBAAsB;IACtB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,wBAAwB;IACxB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAOD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yBAAyB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAgB,EAAE,EAAE,mBAAmB,2CA8IjF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAQrD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"stream-text.d.ts","sourceRoot":"","sources":["../../src/stream-text.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;IACzC,oCAAoC;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,WAAmB,EACnB,UAAiB,EACjB,MAAY,EACZ,mBAAyB,EACzB,SAAS,EACT,UAAU,EACV,QAAQ,GACT,EAAE,eAAe,2CAsCjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAU,EACV,KAAS,EACT,UAAU,EACV,SAAS,EACT,UAAiB,EACjB,MAAY,GACb,EAAE,eAAe,2CAyCjB"}
1
+ {"version":3,"file":"stream-text.d.ts","sourceRoot":"","sources":["../../src/stream-text.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;IACzC,oCAAoC;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,WAAmB,EACnB,UAAiB,EACjB,MAAY,EACZ,mBAAyB,EACzB,SAAS,EACT,UAAU,EACV,QAAQ,GACT,EAAE,eAAe,2CAsCjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAU,EACV,KAAS,EACT,UAAU,EACV,SAAS,EACT,UAAiB,EACjB,MAAY,GACb,EAAE,eAAe,2CA2CjB"}
@@ -19,19 +19,55 @@ export interface CreateTextStreamOptions {
19
19
  signal?: AbortSignal;
20
20
  }
21
21
  /**
22
- * Create a controlled text stream from a fetch response.
22
+ * Create a controlled text stream from a fetch response with streaming body.
23
23
  *
24
- * @param response - Fetch response with streaming body
25
- * @param options - Stream options
26
- * @returns Promise resolving to full text
24
+ * This function reads a streaming response body chunk by chunk, decodes the
25
+ * bytes as UTF-8 text, and provides callbacks for processing each chunk as it
26
+ * arrives. It accumulates the full text and returns it when the stream completes.
27
+ * Supports abort signals for cancellation and error handling.
28
+ *
29
+ * @param response - Fetch Response object with a streaming body
30
+ * @param options - Configuration including chunk/complete/error callbacks and abort signal
31
+ * @returns Promise resolving to the complete accumulated text
32
+ * @throws {Error} If response body is null or if stream reading fails
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * const response = await fetch('/api/stream');
37
+ * const fullText = await createTextStream(response, {
38
+ * onChunk: (chunk) => console.log('Received:', chunk),
39
+ * onComplete: (text) => console.log('Done:', text),
40
+ * onError: (err) => console.error('Error:', err),
41
+ * signal: abortController.signal
42
+ * });
43
+ * ```
27
44
  */
28
45
  export declare function createTextStream(response: Response, options?: CreateTextStreamOptions): Promise<string>;
29
46
  /**
30
- * Parse Server-Sent Events (SSE) stream.
47
+ * Parse Server-Sent Events (SSE) stream from a fetch response.
48
+ *
49
+ * This async generator reads a streaming response body conforming to the
50
+ * Server-Sent Events specification and yields parsed event objects. It handles
51
+ * SSE event delimiters (double newlines), parses event fields (event, data, id,
52
+ * retry), and buffers incomplete events. Supports cancellation via abort signal.
53
+ *
54
+ * @param response - Fetch Response object with SSE formatted body
55
+ * @param options - Configuration including optional abort signal
56
+ * @yields Parsed SSE events with event type, data, id, and retry fields
57
+ * @throws {Error} If response body is null
31
58
  *
32
- * @param response - Fetch response with SSE body
33
- * @param options - Stream options
34
- * @returns Async generator yielding parsed events
59
+ * @example
60
+ * ```typescript
61
+ * const response = await fetch('/api/chat');
62
+ * const abortController = new AbortController();
63
+ *
64
+ * for await (const event of parseSSEStream(response, {
65
+ * signal: abortController.signal
66
+ * })) {
67
+ * console.log('Event:', event.event, 'Data:', event.data);
68
+ * if (event.data === '[DONE]') break;
69
+ * }
70
+ * ```
35
71
  */
36
72
  export declare function parseSSEStream(response: Response, options?: {
37
73
  signal?: AbortSignal;
@@ -50,32 +86,92 @@ export interface SSEEvent {
50
86
  retry?: number;
51
87
  }
52
88
  /**
53
- * Transform a ReadableStream with a function.
89
+ * Transform a ReadableStream by applying a function to each chunk.
90
+ *
91
+ * This utility creates a new ReadableStream that applies a transformation
92
+ * function to each chunk from the source stream. The transform function can
93
+ * be synchronous or asynchronous, allowing for complex processing pipelines.
94
+ * Useful for modifying stream data types or content on-the-fly.
54
95
  *
55
- * @param stream - Source stream
56
- * @param transform - Transform function
57
- * @returns Transformed stream
96
+ * @param stream - Source ReadableStream to transform
97
+ * @param transform - Function to apply to each chunk (sync or async)
98
+ * @returns New ReadableStream emitting transformed chunks
99
+ *
100
+ * @example
101
+ * ```typescript
102
+ * const textStream = fetchStream(); // ReadableStream<Uint8Array>
103
+ * const uppercaseStream = transformStream(textStream, (chunk) => {
104
+ * const text = new TextDecoder().decode(chunk);
105
+ * return new TextEncoder().encode(text.toUpperCase());
106
+ * });
107
+ * ```
58
108
  */
59
109
  export declare function transformStream<T, U>(stream: ReadableStream<T>, transform: (chunk: T) => U | Promise<U>): ReadableStream<U>;
60
110
  /**
61
- * Merge multiple streams into one.
111
+ * Merge multiple ReadableStreams into a single stream.
112
+ *
113
+ * This utility combines multiple source streams into one output stream,
114
+ * reading from all sources concurrently and emitting chunks as they arrive
115
+ * from any source. The merged stream closes when all source streams complete.
116
+ * Useful for combining multiple AI model responses or parallel data sources.
62
117
  *
63
- * @param streams - Streams to merge
64
- * @returns Merged stream
118
+ * @param streams - Variable number of ReadableStreams to merge
119
+ * @returns Single ReadableStream emitting chunks from all sources
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * const stream1 = fetch('/api/model1').then(r => r.body!);
124
+ * const stream2 = fetch('/api/model2').then(r => r.body!);
125
+ * const combined = mergeStreams(stream1, stream2);
126
+ *
127
+ * for await (const chunk of toAsyncIterable(combined)) {
128
+ * console.log('Chunk from either stream:', chunk);
129
+ * }
130
+ * ```
65
131
  */
66
132
  export declare function mergeStreams<T>(...streams: ReadableStream<T>[]): ReadableStream<T>;
67
133
  /**
68
- * Create a stream from an async iterable.
134
+ * Create a ReadableStream from an async iterable source.
135
+ *
136
+ * This utility converts any async iterable (like async generators) into a
137
+ * ReadableStream, making it compatible with browser streaming APIs and
138
+ * React streaming hooks. Useful for bridging between Node.js-style async
139
+ * iterators and Web Streams API.
140
+ *
141
+ * @param iterable - Any async iterable source (async generator, etc.)
142
+ * @returns ReadableStream emitting values from the iterable
69
143
  *
70
- * @param iterable - Async iterable source
71
- * @returns ReadableStream
144
+ * @example
145
+ * ```typescript
146
+ * async function* generateData() {
147
+ * yield 'chunk 1';
148
+ * yield 'chunk 2';
149
+ * yield 'chunk 3';
150
+ * }
151
+ *
152
+ * const stream = fromAsyncIterable(generateData());
153
+ * const response = new Response(stream);
154
+ * ```
72
155
  */
73
156
  export declare function fromAsyncIterable<T>(iterable: AsyncIterable<T>): ReadableStream<T>;
74
157
  /**
75
- * Convert a ReadableStream to an async iterable.
158
+ * Convert a ReadableStream to an async iterable for use in for-await loops.
159
+ *
160
+ * This async generator wraps a ReadableStream and yields each chunk,
161
+ * allowing you to consume Web Streams using async iteration syntax.
162
+ * Properly handles reader lifecycle and ensures the lock is released.
163
+ * Useful for consuming fetch responses in a more ergonomic way.
164
+ *
165
+ * @param stream - ReadableStream to convert
166
+ * @yields Each chunk from the stream
76
167
  *
77
- * @param stream - ReadableStream source
78
- * @returns Async iterable
168
+ * @example
169
+ * ```typescript
170
+ * const response = await fetch('/api/stream');
171
+ * for await (const chunk of toAsyncIterable(response.body!)) {
172
+ * console.log('Received chunk:', chunk);
173
+ * }
174
+ * ```
79
175
  */
80
176
  export declare function toAsyncIterable<T>(stream: ReadableStream<T>): AsyncGenerator<T, void, unknown>;
81
177
  //# sourceMappingURL=stream-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream-utils.d.ts","sourceRoot":"","sources":["../../src/stream-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mCAAmC;IACnC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,sBAAsB;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,mBAAmB;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAoCjB;AAED;;;;;;GAMG;AACH,wBAAuB,cAAc,CACnC,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACrC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAgDzC;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiCD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAClC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACtC,cAAc,CAAC,CAAC,CAAC,CAmBnB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAiClF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAkBlF;AAED;;;;;GAKG;AACH,wBAAuB,eAAe,CAAC,CAAC,EACtC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAgBlC"}
1
+ {"version":3,"file":"stream-utils.d.ts","sourceRoot":"","sources":["../../src/stream-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mCAAmC;IACnC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,sBAAsB;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,mBAAmB;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAoCjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAuB,cAAc,CACnC,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACrC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAgDzC;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA8CD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAClC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACtC,cAAc,CAAC,CAAC,CAAC,CAmBnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAiClF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAkBlF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAuB,eAAe,CAAC,CAAC,EACtC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAgBlC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai.matey.react.stream",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "React streaming utilities for AI Matey - StreamProvider, StreamContext",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -31,7 +31,9 @@
31
31
  "build:types": "tsc -p tsconfig.types.json",
32
32
  "clean": "rm -rf dist",
33
33
  "typecheck": "tsc --noEmit",
34
- "test": "vitest run"
34
+ "test": "vitest run",
35
+ "lint": "eslint src --ext .ts,.tsx",
36
+ "lint:fix": "eslint src --ext .ts,.tsx --fix"
35
37
  },
36
38
  "dependencies": {
37
39
  "ai.matey.types": "*",