@trpc/tanstack-react-query
Version:
TanStack React Query Integration for tRPC
360 lines (359 loc) • 11.4 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");
// \0@oxc-project+runtime@0.157.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);
}
// \0@oxc-project+runtime@0.157.0/helpers/esm/toPrimitive.js
function toPrimitive(t, e) {
if ("object" != _typeof(t) || !t) return t;
var r;
if ("undefined" != typeof Symbol && void 0 !== (r = t[Symbol.toPrimitive])) {
var i = r.call(t, e || "default");
if ("object" != _typeof(i)) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === e ? String : Number)(t);
}
// \0@oxc-project+runtime@0.157.0/helpers/esm/toPropertyKey.js
function toPropertyKey(t) {
var i = toPrimitive(t, "string");
return "symbol" == _typeof(i) ? i : i + "";
}
// \0@oxc-project+runtime@0.157.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;
}
// \0@oxc-project+runtime@0.157.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;
}
// \0@oxc-project+runtime@0.157.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["throw"];
return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));
}
}, new AsyncFromSyncIterator(r);
}
// \0@oxc-project+runtime@0.157.0/helpers/esm/OverloadYield.js
function _OverloadYield(e, d) {
this.v = e, this.k = d;
}
// \0@oxc-project+runtime@0.157.0/helpers/esm/asyncGeneratorDelegate.js
function _asyncGeneratorDelegate(t) {
var e = {}, n = !1;
function pump(e, r) {
return n = !0, r = new Promise(function(n) {
n(t[e](r));
}), {
done: !1,
value: new _OverloadYield(r, 1)
};
}
return e["undefined" != typeof Symbol && Symbol.iterator || "@@iterator"] = function() {
return this;
}, e.next = function(t) {
return n ? (n = !1, t) : pump("next", t);
}, "function" == typeof t["throw"] && (e["throw"] = function(t) {
if (n) throw n = !1, t;
return pump("throw", t);
}), "function" == typeof t["return"] && (e["return"] = function(t) {
return n ? (n = !1, t) : pump("return", t);
}), e;
}
// \0@oxc-project+runtime@0.157.0/helpers/esm/wrapAsyncGenerator.js
function _wrapAsyncGenerator(e) {
return function() {
return new AsyncGenerator(e.apply(this, arguments));
};
}
function AsyncGenerator(e) {
var t, n;
function resume(t, n) {
try {
var r = e[t](n), o = r.value, u = o instanceof _OverloadYield;
Promise.resolve(u ? o.v : o).then(function(n) {
if (u) {
var i = "return" === t && o.k ? t : "next";
if (!o.k || n.done) return resume(i, n);
n = e[i](n).value;
}
settle(!!r.done, n);
}, function(e) {
resume("throw", e);
});
} catch (e) {
settle(2, e);
}
}
function settle(e, r) {
2 === e ? t.reject(r) : t.resolve({
value: r,
done: e
}), (t = t.next) ? resume(t.key, t.arg) : n = null;
}
this._invoke = function(e, r) {
return new Promise(function(o, u) {
var i = {
key: e,
arg: r,
resolve: o,
reject: u,
next: null
};
n ? n = n.next = i : (t = n = i, resume(e, r));
});
}, "function" != typeof e["return"] && (this["return"] = void 0);
}
AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function() {
return this;
}, AsyncGenerator.prototype.next = function(e) {
return this._invoke("next", e);
}, AsyncGenerator.prototype["throw"] = function(e) {
return this._invoke("throw", e);
}, AsyncGenerator.prototype["return"] = function(e) {
return this._invoke("return", e);
};
// \0@oxc-project+runtime@0.157.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 (-1 !== e.indexOf(n)) continue;
t[n] = r[n];
}
return t;
}
// \0@oxc-project+runtime@0.157.0/helpers/esm/objectWithoutProperties.js
function _objectWithoutProperties(e, t) {
if (null == e) return {};
var o, r, i = _objectWithoutPropertiesLoose(e, t);
if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(e);
for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
}
return i;
}
// 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
];
}
/**
* Streams a procedure's async iterable into the query with TanStack Query's
* `streamedQuery`, which stops writing to the cache once the fetch is
* cancelled or replaced by a refetch.
* @internal
*/
async function streamIntoQuery(opts) {
const context = opts.context.client ? opts.context : _objectSpread2(_objectSpread2({}, opts.context), {}, { client: opts.queryClient });
let finished = false;
const { iterable } = opts;
function readToEnd() {
return _readToEnd.apply(this, arguments);
}
function _readToEnd() {
_readToEnd = _wrapAsyncGenerator(function* () {
yield* _asyncGeneratorDelegate(_asyncIterator(iterable));
finished = true;
});
return _readToEnd.apply(this, arguments);
}
try {
return await (0, _tanstack_react_query.experimental_streamedQuery)({ streamFn: readToEnd })(context);
} finally {
if (!finished) opts.abortController.abort();
}
}
/**
* 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;
}
Object.defineProperty(exports, "_defineProperty", {
enumerable: true,
get: function() {
return _defineProperty;
}
});
Object.defineProperty(exports, "_objectSpread2", {
enumerable: true,
get: function() {
return _objectSpread2;
}
});
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, "streamIntoQuery", {
enumerable: true,
get: function() {
return streamIntoQuery;
}
});
Object.defineProperty(exports, "unwrapLazyArg", {
enumerable: true,
get: function() {
return unwrapLazyArg;
}
});