react-native-deepgram
Version:
React Native SDK for Deepgram's AI-powered speech-to-text, real-time transcription, and text intelligence APIs. Supports live audio streaming, file transcription, sentiment analysis, and topic detection for iOS and Android.
42 lines (41 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useAsyncCall = useAsyncCall;
var _react = require("react");
function useAsyncCall(asyncFn) {
const [data, setData] = (0, _react.useState)(null);
const [status, setStatus] = (0, _react.useState)('idle');
const [error, setError] = (0, _react.useState)(null);
const execute = (0, _react.useCallback)(async () => {
setStatus('loading');
setError(null);
try {
const result = await asyncFn();
setData(result);
setStatus('idle');
return result;
} catch (err) {
setStatus('error');
setError(err instanceof Error ? err : new Error(String(err)));
throw err;
}
}, [asyncFn]);
const reset = (0, _react.useCallback)(() => {
setData(null);
setStatus('idle');
setError(null);
}, []);
return {
data,
status,
error,
execute,
reset,
isLoading: status === 'loading',
isError: status === 'error',
isSuccess: status === 'idle' && data !== null
};
}
//# sourceMappingURL=useAsyncCall.js.map