UNPKG

@gravity-ui/data-source

Version:
43 lines (42 loc) 2.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useInfiniteQueryData = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = require("react"); var _reactQuery = require("@tanstack/react-query"); var _useRefetchInterval2 = require("../../hooks/useRefetchInterval"); var _normalizeStatus = require("../../utils/normalizeStatus"); var _utils = require("./utils"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } var _excluded = ["queryFn", "refetchInterval"]; var useInfiniteQueryDataOptions = function useInfiniteQueryDataOptions(composedOptions) { var queryFnOption = composedOptions.queryFn, refetchIntervalOption = composedOptions.refetchInterval, restOptions = (0, _objectWithoutProperties2.default)(composedOptions, _excluded); var _useRefetchInterval = (0, _useRefetchInterval2.useRefetchInterval)(refetchIntervalOption, queryFnOption), queryFn = _useRefetchInterval.queryFn, refetchInterval = _useRefetchInterval.refetchInterval; return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, restOptions), {}, { queryFn: queryFn, refetchInterval: refetchInterval }); }; var useInfiniteQueryData = exports.useInfiniteQueryData = function useInfiniteQueryData(context, dataSource, params, options) { var extendedOptions = (0, _utils.composeOptions)(context, dataSource, params, options); var composedOptions = useInfiniteQueryDataOptions(extendedOptions); var state = (0, _reactQuery.useInfiniteQuery)(composedOptions); var transformedData = (0, _react.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 (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, { status: (0, _normalizeStatus.normalizeStatus)(state.status, state.fetchStatus), data: transformedData, originalStatus: state.status, originalData: state.data }); }; // #sourceMappingURL=hooks.js.map