@gravity-ui/data-source
Version:
A wrapper around data fetching
33 lines (32 loc) • 1.06 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useRefetchInterval = void 0;
var _react = _interopRequireDefault(require("react"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
var useRefetchInterval = exports.useRefetchInterval = function useRefetchInterval(refetchInterval, queryFn) {
var count = _react.default.useRef(0);
var actualQueryFn = _react.default.useMemo(function () {
if (typeof queryFn === 'function') {
return function (context) {
++count.current;
return queryFn(context);
};
}
return queryFn;
}, [queryFn]);
var actualRefetchInterval = _react.default.useMemo(function () {
if (typeof refetchInterval === 'function') {
return function (query) {
return refetchInterval(query, count.current);
};
}
return refetchInterval;
}, [refetchInterval]);
return {
queryFn: actualQueryFn,
refetchInterval: actualRefetchInterval
};
};
// #sourceMappingURL=useRefetchInterval.js.map
;