🚀🚀
Size: a a a
🚀🚀
🚀🚀
DS
sample({
source: restore(checkTokenFx.doneData, null),
clock: $expiresAt,
fn: (intervalId, expiresAt) => ({ intervalId, expiresAt }),
target: checkTokenFx,
});
P
DS
P
const checkTokenFx = session
.createEffect<
{
intervalId: any;
expiresAt: number | null;
},
any
>()
.use(({ intervalId, expiresAt }) => {
clearInterval(intervalId);
if (!expiresAt) {
return null;
}
return setInterval(() => {
if (checkTokenNearExpiration(expiresAt, Date.now())) {
refreshTokenFx();
}
}, REFRESH_TOKEN_INTERVAL);
});
P
P
DS
P
P
P
DS
P
P
P
P
P
DS
c