@upbudget/belvo-js
Version:
React component for Belvo
31 lines • 855 B
JavaScript
import useSWRMutation from "swr/mutation";
import { BelvoEvents } from "../types";
function useBelvoAccessToken(getToken, analytics) {
const { trigger, data, error, isMutating, reset } = useSWRMutation(
"belvo-access-token",
async () => {
analytics?.track(BelvoEvents.TOKEN_FETCH_START);
const { access } = await getToken();
analytics?.track(BelvoEvents.TOKEN_FETCH_SUCCESS);
return access;
},
{
throwOnError: false,
onError: (err) => {
analytics?.track(BelvoEvents.TOKEN_FETCH_ERROR, { error: String(err) });
}
}
);
const status = isMutating ? "loading" : error ? "error" : data ? "success" : "idle";
return {
fetchToken: trigger,
token: data,
status,
error,
reset
};
}
export {
useBelvoAccessToken
};
//# sourceMappingURL=use-belvo-access-token.js.map