@gravity-ui/data-source
Version:
A wrapper around data fetching
26 lines • 778 B
JavaScript
import React from 'react';
export var useRefetchInterval = function useRefetchInterval(refetchInterval, queryFn) {
var count = React.useRef(0);
var actualQueryFn = React.useMemo(function () {
if (typeof queryFn === 'function') {
return function (context) {
++count.current;
return queryFn(context);
};
}
return queryFn;
}, [queryFn]);
var actualRefetchInterval = React.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