@speechmatics/flow-client-react
Version:
React hooks for interacting with the Speechmatics Flow API
37 lines (34 loc) • 960 B
JavaScript
;
import { useContext, useCallback, useMemo } from 'react';
import { FlowContext } from './flow-context.js';
function useFlow() {
const context = useContext(FlowContext);
if (context === null) {
throw new Error("Flow client uninitialized in context");
}
const { client, sessionId, socketState } = context;
const startConversation = useCallback(
(jwt, {
config,
audioFormat
}) => client.startConversation(jwt, { config, audioFormat }),
[client]
);
const endConversation = useCallback(() => client.endConversation(), [client]);
const sendAudio = useCallback(
(pcm16Data) => client.sendAudio(pcm16Data),
[client]
);
return useMemo(
() => ({
startConversation,
endConversation,
sendAudio,
socketState,
sessionId
}),
[startConversation, endConversation, sendAudio, socketState, sessionId]
);
}
export { useFlow };
//# sourceMappingURL=use-flow.js.map