Files
NapCatQQ/.pnpm-store/v3/files/a8/990272e0b77ab7a24b266159bbc51f38ade2ab122f3de9331726a4412f13ff2979ca1a82314150ec0ef46b22ac3ee2917c92a104a0cbbfb4994e9bb14449d0
TanTan e311ca3275
Build NapCat Artifacts / Windows Loader Test (push) Canceled after 0s
Build NapCat Artifacts / Type Check & Test (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Framework (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Shell (push) Canceled after 0s
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

29 lines
1.1 KiB
Plaintext

import { useEffect, useRef } from 'react';
import useUnmount from '../../../useUnmount';
import limit from '../utils/limit';
import subscribeFocus from '../utils/subscribeFocus';
var useRefreshOnWindowFocusPlugin = function (fetchInstance, _a) {
var refreshOnWindowFocus = _a.refreshOnWindowFocus, _b = _a.focusTimespan, focusTimespan = _b === void 0 ? 5000 : _b;
var unsubscribeRef = useRef(undefined);
var stopSubscribe = function () {
var _a;
(_a = unsubscribeRef.current) === null || _a === void 0 ? void 0 : _a.call(unsubscribeRef);
};
useEffect(function () {
if (refreshOnWindowFocus) {
var limitRefresh_1 = limit(fetchInstance.refresh.bind(fetchInstance), focusTimespan);
unsubscribeRef.current = subscribeFocus(function () {
limitRefresh_1();
});
}
return function () {
stopSubscribe();
};
}, [refreshOnWindowFocus, focusTimespan]);
useUnmount(function () {
stopSubscribe();
});
return {};
};
export default useRefreshOnWindowFocusPlugin;