UNPKG

@composableai/react

Version:

React helpers for Composable AI

24 lines 838 B
import { useMemo, useState } from "react"; export function useInteractionStreaming(interaction) { const [isRunning, setRunning] = useState(false); const [text, setText] = useState(''); const execute = useMemo(() => (payload) => { if (isRunning) { return Promise.reject(new Error('Trying to run the interaction while it is already running.')); } setRunning(true); let chunks = []; return interaction.execute(payload, (chunk) => { chunks.push(chunk); setText(chunks.join('')); }).then(run => { setText(''); setRunning(false); return run; }).finally(() => { chunks = []; }); }, []); return { text, isRunning, execute }; } //# sourceMappingURL=useInteractionStreaming.js.map