@gravity-ui/data-source
Version:
A wrapper around data fetching
29 lines • 1.48 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
var _excluded = ["queryFn", "refetchInterval"];
import { useQuery } from '@tanstack/react-query';
import { useRefetchInterval } from '../../hooks/useRefetchInterval';
import { normalizeStatus } from '../../utils/normalizeStatus';
import { composeOptions } from './utils';
var usePlainQueryDataOptions = function usePlainQueryDataOptions(composedOptions) {
var queryFnOption = composedOptions.queryFn,
refetchIntervalOption = composedOptions.refetchInterval,
restOptions = _objectWithoutProperties(composedOptions, _excluded);
var _useRefetchInterval = useRefetchInterval(refetchIntervalOption, queryFnOption),
queryFn = _useRefetchInterval.queryFn,
refetchInterval = _useRefetchInterval.refetchInterval;
return _objectSpread(_objectSpread({}, restOptions), {}, {
queryFn: queryFn,
refetchInterval: refetchInterval
});
};
export var usePlainQueryData = function usePlainQueryData(context, dataSource, params, options) {
var extendedOptions = composeOptions(context, dataSource, params, options);
var composedOptions = usePlainQueryDataOptions(extendedOptions);
var state = useQuery(composedOptions);
return _objectSpread(_objectSpread({}, state), {}, {
status: normalizeStatus(state.status, state.fetchStatus),
originalStatus: state.status
});
};
// #sourceMappingURL=hooks.js.map