@outkit-dev/react 0.0.6 → 0.0.7
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/dist/index.cjs +49 -21
- package/dist/index.js +49 -21
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -270,20 +270,24 @@ function useBlockStream() {
|
|
|
270
270
|
setIsStreaming(false);
|
|
271
271
|
}, []);
|
|
272
272
|
const streamRef = (0, import_react2.useRef)(null);
|
|
273
|
-
|
|
274
|
-
streamRef.current
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
273
|
+
const getStream = (0, import_react2.useCallback)(() => {
|
|
274
|
+
if (streamRef.current === null || streamRef.current.streamState === "destroyed") {
|
|
275
|
+
streamRef.current = new import_core.OutkitStream({
|
|
276
|
+
onBlocks: (b) => batchBlocks(b),
|
|
277
|
+
onDesign: (d) => setDesignState(d),
|
|
278
|
+
onComplete: () => handleComplete()
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
return streamRef.current;
|
|
282
|
+
}, [batchBlocks, handleComplete]);
|
|
283
|
+
const stream = getStream();
|
|
281
284
|
(0, import_react2.useEffect)(() => {
|
|
285
|
+
const s = getStream();
|
|
282
286
|
return () => {
|
|
283
287
|
if (rafRef.current) cancelAnimationFrame(rafRef.current);
|
|
284
|
-
|
|
288
|
+
s.destroy();
|
|
285
289
|
};
|
|
286
|
-
}, [
|
|
290
|
+
}, [getStream]);
|
|
287
291
|
const reset = (0, import_react2.useCallback)(() => {
|
|
288
292
|
if (rafRef.current) {
|
|
289
293
|
cancelAnimationFrame(rafRef.current);
|
|
@@ -291,30 +295,54 @@ function useBlockStream() {
|
|
|
291
295
|
}
|
|
292
296
|
pendingRef.current = null;
|
|
293
297
|
streamingRef.current = false;
|
|
294
|
-
|
|
298
|
+
getStream().reset();
|
|
295
299
|
setBlocks([]);
|
|
296
300
|
setIsStreaming(false);
|
|
297
301
|
setDesignState(void 0);
|
|
298
|
-
}, [
|
|
302
|
+
}, [getStream]);
|
|
299
303
|
const push = (0, import_react2.useCallback)(
|
|
300
304
|
(newBlocks) => batchBlocks(newBlocks),
|
|
301
305
|
[batchBlocks]
|
|
302
306
|
);
|
|
303
307
|
const setDesign = (0, import_react2.useCallback)(
|
|
304
|
-
(tokens) =>
|
|
305
|
-
[
|
|
308
|
+
(tokens) => getStream().feedMeta(tokens),
|
|
309
|
+
[getStream]
|
|
310
|
+
);
|
|
311
|
+
const complete = (0, import_react2.useCallback)(() => getStream().feedDone(), [getStream]);
|
|
312
|
+
const feedResponse = (0, import_react2.useCallback)(
|
|
313
|
+
(response) => getStream().feedResponse(response),
|
|
314
|
+
[getStream]
|
|
315
|
+
);
|
|
316
|
+
const feedSSE = (0, import_react2.useCallback)(
|
|
317
|
+
(rawText) => getStream().feedSSE(rawText),
|
|
318
|
+
[getStream]
|
|
319
|
+
);
|
|
320
|
+
const feedEvent = (0, import_react2.useCallback)(
|
|
321
|
+
(data) => getStream().feedEvent(data),
|
|
322
|
+
[getStream]
|
|
323
|
+
);
|
|
324
|
+
const feedChunk = (0, import_react2.useCallback)(
|
|
325
|
+
(data) => getStream().feedChunk(data),
|
|
326
|
+
[getStream]
|
|
327
|
+
);
|
|
328
|
+
const feedMeta = (0, import_react2.useCallback)(
|
|
329
|
+
(tokens) => getStream().feedMeta(tokens),
|
|
330
|
+
[getStream]
|
|
331
|
+
);
|
|
332
|
+
const feedDone = (0, import_react2.useCallback)(
|
|
333
|
+
() => getStream().feedDone(),
|
|
334
|
+
[getStream]
|
|
306
335
|
);
|
|
307
|
-
const complete = (0, import_react2.useCallback)(() => stream.feedDone(), [stream]);
|
|
308
336
|
return {
|
|
309
337
|
blocks,
|
|
310
338
|
isStreaming,
|
|
311
339
|
design,
|
|
312
|
-
feedResponse
|
|
313
|
-
feedSSE
|
|
314
|
-
feedEvent
|
|
315
|
-
feedChunk
|
|
316
|
-
feedMeta
|
|
317
|
-
feedDone
|
|
340
|
+
feedResponse,
|
|
341
|
+
feedSSE,
|
|
342
|
+
feedEvent,
|
|
343
|
+
feedChunk,
|
|
344
|
+
feedMeta,
|
|
345
|
+
feedDone,
|
|
318
346
|
push,
|
|
319
347
|
setDesign,
|
|
320
348
|
complete,
|
package/dist/index.js
CHANGED
|
@@ -236,20 +236,24 @@ function useBlockStream() {
|
|
|
236
236
|
setIsStreaming(false);
|
|
237
237
|
}, []);
|
|
238
238
|
const streamRef = useRef2(null);
|
|
239
|
-
|
|
240
|
-
streamRef.current
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
239
|
+
const getStream = useCallback(() => {
|
|
240
|
+
if (streamRef.current === null || streamRef.current.streamState === "destroyed") {
|
|
241
|
+
streamRef.current = new OutkitStream({
|
|
242
|
+
onBlocks: (b) => batchBlocks(b),
|
|
243
|
+
onDesign: (d) => setDesignState(d),
|
|
244
|
+
onComplete: () => handleComplete()
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
return streamRef.current;
|
|
248
|
+
}, [batchBlocks, handleComplete]);
|
|
249
|
+
const stream = getStream();
|
|
247
250
|
useEffect2(() => {
|
|
251
|
+
const s = getStream();
|
|
248
252
|
return () => {
|
|
249
253
|
if (rafRef.current) cancelAnimationFrame(rafRef.current);
|
|
250
|
-
|
|
254
|
+
s.destroy();
|
|
251
255
|
};
|
|
252
|
-
}, [
|
|
256
|
+
}, [getStream]);
|
|
253
257
|
const reset = useCallback(() => {
|
|
254
258
|
if (rafRef.current) {
|
|
255
259
|
cancelAnimationFrame(rafRef.current);
|
|
@@ -257,30 +261,54 @@ function useBlockStream() {
|
|
|
257
261
|
}
|
|
258
262
|
pendingRef.current = null;
|
|
259
263
|
streamingRef.current = false;
|
|
260
|
-
|
|
264
|
+
getStream().reset();
|
|
261
265
|
setBlocks([]);
|
|
262
266
|
setIsStreaming(false);
|
|
263
267
|
setDesignState(void 0);
|
|
264
|
-
}, [
|
|
268
|
+
}, [getStream]);
|
|
265
269
|
const push = useCallback(
|
|
266
270
|
(newBlocks) => batchBlocks(newBlocks),
|
|
267
271
|
[batchBlocks]
|
|
268
272
|
);
|
|
269
273
|
const setDesign = useCallback(
|
|
270
|
-
(tokens) =>
|
|
271
|
-
[
|
|
274
|
+
(tokens) => getStream().feedMeta(tokens),
|
|
275
|
+
[getStream]
|
|
276
|
+
);
|
|
277
|
+
const complete = useCallback(() => getStream().feedDone(), [getStream]);
|
|
278
|
+
const feedResponse = useCallback(
|
|
279
|
+
(response) => getStream().feedResponse(response),
|
|
280
|
+
[getStream]
|
|
281
|
+
);
|
|
282
|
+
const feedSSE = useCallback(
|
|
283
|
+
(rawText) => getStream().feedSSE(rawText),
|
|
284
|
+
[getStream]
|
|
285
|
+
);
|
|
286
|
+
const feedEvent = useCallback(
|
|
287
|
+
(data) => getStream().feedEvent(data),
|
|
288
|
+
[getStream]
|
|
289
|
+
);
|
|
290
|
+
const feedChunk = useCallback(
|
|
291
|
+
(data) => getStream().feedChunk(data),
|
|
292
|
+
[getStream]
|
|
293
|
+
);
|
|
294
|
+
const feedMeta = useCallback(
|
|
295
|
+
(tokens) => getStream().feedMeta(tokens),
|
|
296
|
+
[getStream]
|
|
297
|
+
);
|
|
298
|
+
const feedDone = useCallback(
|
|
299
|
+
() => getStream().feedDone(),
|
|
300
|
+
[getStream]
|
|
272
301
|
);
|
|
273
|
-
const complete = useCallback(() => stream.feedDone(), [stream]);
|
|
274
302
|
return {
|
|
275
303
|
blocks,
|
|
276
304
|
isStreaming,
|
|
277
305
|
design,
|
|
278
|
-
feedResponse
|
|
279
|
-
feedSSE
|
|
280
|
-
feedEvent
|
|
281
|
-
feedChunk
|
|
282
|
-
feedMeta
|
|
283
|
-
feedDone
|
|
306
|
+
feedResponse,
|
|
307
|
+
feedSSE,
|
|
308
|
+
feedEvent,
|
|
309
|
+
feedChunk,
|
|
310
|
+
feedMeta,
|
|
311
|
+
feedDone,
|
|
284
312
|
push,
|
|
285
313
|
setDesign,
|
|
286
314
|
complete,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@outkit-dev/react",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@outkit-dev/renderer": "0.0.5",
|
|
20
|
-
"@outkit-dev/core": "0.0.
|
|
20
|
+
"@outkit-dev/core": "0.0.7"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"react": "^18.0.0 || ^19.0.0"
|