UNPKG

@gravity-ui/data-source

Version:
36 lines 1.92 kB
import _objectSpread from "@babel/runtime/helpers/objectSpread2"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; var _excluded = ["queryFn", "refetchInterval"]; import { useMemo } from 'react'; import { useInfiniteQuery } from '@tanstack/react-query'; import { useRefetchInterval } from '../../hooks/useRefetchInterval'; import { normalizeStatus } from '../../utils/normalizeStatus'; import { composeOptions } from './utils'; var useInfiniteQueryDataOptions = function useInfiniteQueryDataOptions(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 useInfiniteQueryData = function useInfiniteQueryData(context, dataSource, params, options) { var extendedOptions = composeOptions(context, dataSource, params, options); var composedOptions = useInfiniteQueryDataOptions(extendedOptions); var state = useInfiniteQuery(composedOptions); var transformedData = useMemo(function () { var _state$data$pages$fla, _state$data; return (_state$data$pages$fla = (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.pages.flat(1)) !== null && _state$data$pages$fla !== void 0 ? _state$data$pages$fla : []; }, [state.data]); return _objectSpread(_objectSpread({}, state), {}, { status: normalizeStatus(state.status, state.fetchStatus), data: transformedData, originalStatus: state.status, originalData: state.data }); }; // #sourceMappingURL=hooks.js.map