UNPKG

@trpc/tanstack-react-query

Version:

TanStack React Query Integration for tRPC

295 lines (294 loc) • 9.28 kB
let _tanstack_react_query = require("@tanstack/react-query"); let _trpc_server_unstable_core_do_not_import = require("@trpc/server/unstable-core-do-not-import"); //#region \0@oxc-project+runtime@0.149.0/helpers/esm/typeof.js function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) { return typeof o; } : function(o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } //#endregion //#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPrimitive.js function toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } //#endregion //#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPropertyKey.js function toPropertyKey(t) { var i = toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } //#endregion //#region \0@oxc-project+runtime@0.149.0/helpers/esm/defineProperty.js function _defineProperty(e, r, t) { return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } //#endregion //#region \0@oxc-project+runtime@0.149.0/helpers/esm/objectSpread2.js function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function(r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function(r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } //#endregion //#region \0@oxc-project+runtime@0.149.0/helpers/esm/asyncIterator.js function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); } function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(/* @__PURE__ */ new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function(r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(r) { var n = this.s["return"]; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, "throw": function _throw(r) { var n = this.s["return"]; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); } //#endregion //#region \0@oxc-project+runtime@0.149.0/helpers/esm/objectWithoutPropertiesLoose.js function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; } //#endregion //#region \0@oxc-project+runtime@0.149.0/helpers/esm/objectWithoutProperties.js function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } //#endregion //#region src/internals/utils.ts const _excluded = ["cursor", "direction"]; /** * @internal */ function createTRPCOptionsResult(value) { return { path: value.path.join(".") }; } function isPrefixedQueryKey(queryKey) { return queryKey.length >= 3; } function readQueryKey(queryKey) { if (isPrefixedQueryKey(queryKey)) return { type: "prefixed", prefix: queryKey[0], path: queryKey[1], args: queryKey[2] }; else return { type: "unprefixed", prefix: void 0, path: queryKey[0], args: queryKey[1] }; } /** * @internal */ function getClientArgs(queryKey, opts, infiniteParams) { var _queryKeyData$args; const queryKeyData = readQueryKey(queryKey); let input = (_queryKeyData$args = queryKeyData.args) === null || _queryKeyData$args === void 0 ? void 0 : _queryKeyData$args.input; if (infiniteParams) { var _queryKeyData$args$in, _queryKeyData$args2; input = _objectSpread2(_objectSpread2(_objectSpread2({}, (_queryKeyData$args$in = (_queryKeyData$args2 = queryKeyData.args) === null || _queryKeyData$args2 === void 0 ? void 0 : _queryKeyData$args2.input) !== null && _queryKeyData$args$in !== void 0 ? _queryKeyData$args$in : {}), infiniteParams.pageParam !== void 0 ? { cursor: infiniteParams.pageParam } : {}), {}, { direction: infiniteParams.direction }); } return [ queryKeyData.path.join("."), input, opts === null || opts === void 0 ? void 0 : opts.trpc ]; } /** * @internal */ async function buildQueryFromAsyncIterable(asyncIterable, queryClient, queryKey) { const query = queryClient.getQueryCache().build(queryClient, { queryKey }); query.setState({ data: [], status: "success" }); const aggregate = []; var _iteratorAbruptCompletion = false; var _didIteratorError = false; var _iteratorError; try { for (var _iterator = _asyncIterator(asyncIterable), _step; _iteratorAbruptCompletion = !(_step = await _iterator.next()).done; _iteratorAbruptCompletion = false) { const value = _step.value; aggregate.push(value); query.setState({ data: [...aggregate] }); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (_iteratorAbruptCompletion && _iterator.return != null) await _iterator.return(); } finally { if (_didIteratorError) throw _iteratorError; } } return aggregate; } /** * To allow easy interactions with groups of related queries, such as * invalidating all queries of a router, we use an array as the path when * storing in tanstack query. * * @internal */ function getQueryKeyInternal(opts) { const key = (0, _trpc_server_unstable_core_do_not_import.run)(() => { const { input, type } = opts; const splitPath = opts.path.flatMap((part) => part.split(".")); if (typeof input === "undefined" && type === "any") return splitPath.length ? [splitPath] : []; if (type === "infinite" && (0, _trpc_server_unstable_core_do_not_import.isObject)(input) && ("direction" in input || "cursor" in input)) { const { cursor: _, direction: __ } = input; return [splitPath, { input: _objectWithoutProperties(input, _excluded), type: "infinite" }]; } return [splitPath, _objectSpread2(_objectSpread2({}, typeof input !== "undefined" && input !== _tanstack_react_query.skipToken && { input }), type && type !== "any" && { type })]; }); if (opts.prefix) key.unshift([opts.prefix]); return key; } /** * @internal */ function getMutationKeyInternal(opts) { const key = [opts.path.flatMap((part) => part.split("."))]; if (opts.prefix) key.unshift([opts.prefix]); return key; } /** * @internal */ function unwrapLazyArg(valueOrLazy) { return (0, _trpc_server_unstable_core_do_not_import.isFunction)(valueOrLazy) ? valueOrLazy() : valueOrLazy; } //#endregion Object.defineProperty(exports, "_defineProperty", { enumerable: true, get: function() { return _defineProperty; } }); Object.defineProperty(exports, "_objectSpread2", { enumerable: true, get: function() { return _objectSpread2; } }); Object.defineProperty(exports, "buildQueryFromAsyncIterable", { enumerable: true, get: function() { return buildQueryFromAsyncIterable; } }); Object.defineProperty(exports, "createTRPCOptionsResult", { enumerable: true, get: function() { return createTRPCOptionsResult; } }); Object.defineProperty(exports, "getClientArgs", { enumerable: true, get: function() { return getClientArgs; } }); Object.defineProperty(exports, "getMutationKeyInternal", { enumerable: true, get: function() { return getMutationKeyInternal; } }); Object.defineProperty(exports, "getQueryKeyInternal", { enumerable: true, get: function() { return getQueryKeyInternal; } }); Object.defineProperty(exports, "readQueryKey", { enumerable: true, get: function() { return readQueryKey; } }); Object.defineProperty(exports, "unwrapLazyArg", { enumerable: true, get: function() { return unwrapLazyArg; } });