UNPKG

@gravity-ui/data-source

Version:
54 lines (53 loc) 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.composeOptions = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _reactQuery = require("@tanstack/react-query"); var _core = require("../../../core"); var _formatNullableValue = require("../../utils/formatNullableValue"); var _parseNullableValue = require("../../utils/parseNullableValue"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } var composeOptions = exports.composeOptions = function composeOptions(context, dataSource, params, options) { var transformParams = dataSource.transformParams, transformResponse = dataSource.transformResponse; var queryFn = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(fetchContext) { var response; return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return dataSource.fetch(context, fetchContext, transformParams ? transformParams(params) : params); case 2: response = _context.sent; return _context.abrupt("return", (0, _formatNullableValue.formatNullableValue)(response)); case 4: case "end": return _context.stop(); } }, _callee); })); return function queryFn(_x) { return _ref.apply(this, arguments); }; }(); var select = function select(response) { var actualResponse = (0, _parseNullableValue.parseNullableValue)(response); return transformResponse ? transformResponse(actualResponse) : actualResponse; }; var meta = { invalidate: options === null || options === void 0 ? void 0 : options.invalidate, optimistic: options === null || options === void 0 ? void 0 : options.optimistic }; return (0, _objectSpread2.default)((0, _objectSpread2.default)({ queryKey: (0, _core.composeFullKey)(dataSource, params), queryFn: params === _core.idle ? _reactQuery.skipToken : queryFn, select: select, meta: meta }, dataSource.options), options); }; // #sourceMappingURL=utils.js.map