@trpc/tanstack-react-query
Version:
TanStack React Query Integration for tRPC
295 lines (294 loc) • 9.28 kB
JavaScript
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;
}
});