UNPKG

@trpc/next

Version:

The tRPC Next.js library

109 lines (108 loc) 5.22 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); //#region \0rolldown/runtime.js var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) { key = keys[i]; if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: ((k) => from[k]).bind(null, key), enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); //#endregion const require_objectSpread2 = require("./objectSpread2-C2ceYbQe.cjs"); let _tanstack_react_query = require("@tanstack/react-query"); let _trpc_client_unstable_internals = require("@trpc/client/unstable-internals"); let _trpc_react_query_shared = require("@trpc/react-query/shared"); let react = require("react"); react = __toESM(react, 1); let _trpc_server_unstable_core_do_not_import = require("@trpc/server/unstable-core-do-not-import"); //#region src/withTRPC.tsx function withTRPC(opts) { const { config: getClientConfig } = opts; const transformer = (0, _trpc_client_unstable_internals.getTransformer)(opts.transformer); return (AppOrPage) => { var _ref, _AppOrPage$displayNam; const trpc = (0, _trpc_react_query_shared.createRootHooks)(opts); const WithTRPC = (props) => { var _props$pageProps, _abortOnUnmount; const [prepassProps] = (0, react.useState)(() => { if (props.trpc) return props.trpc; const config = getClientConfig({}); const queryClient = (0, _trpc_react_query_shared.getQueryClient)(config); const trpcClient = trpc.createClient(config); return { abortOnUnmount: config.abortOnUnmount, queryClient, trpcClient, ssrState: opts.ssr ? "mounting" : false, ssrContext: null }; }); const { queryClient, trpcClient, ssrState, ssrContext } = prepassProps; const trpcState = (_props$pageProps = props.pageProps) === null || _props$pageProps === void 0 ? void 0 : _props$pageProps.trpcState; const hydratedState = react.default.useMemo(() => { if (!trpcState) return trpcState; return transformer.input.deserialize(trpcState); }, [trpcState]); return /* @__PURE__ */ react.default.createElement(trpc.Provider, { abortOnUnmount: (_abortOnUnmount = prepassProps.abortOnUnmount) !== null && _abortOnUnmount !== void 0 ? _abortOnUnmount : false, client: trpcClient, queryClient, ssrState, ssrContext }, /* @__PURE__ */ react.default.createElement(_tanstack_react_query.QueryClientProvider, { client: queryClient }, /* @__PURE__ */ react.default.createElement(_tanstack_react_query.HydrationBoundary, { state: hydratedState }, /* @__PURE__ */ react.default.createElement(AppOrPage, props)))); }; if (opts.ssr) opts.ssrPrepass({ parent: opts, AppOrPage, WithTRPC }); else if (AppOrPage.getInitialProps) WithTRPC.getInitialProps = async (appOrPageCtx) => { var _originalProps$pagePr; const isApp = !!appOrPageCtx.Component; let pageProps = {}; const originalProps = await AppOrPage.getInitialProps(appOrPageCtx); const originalPageProps = isApp ? (_originalProps$pagePr = originalProps.pageProps) !== null && _originalProps$pagePr !== void 0 ? _originalProps$pagePr : {} : originalProps; pageProps = require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, originalPageProps), pageProps); const getAppTreeProps = (props) => isApp ? { pageProps: props } : props; return getAppTreeProps(pageProps); }; WithTRPC.displayName = `withTRPC(${(_ref = (_AppOrPage$displayNam = AppOrPage.displayName) !== null && _AppOrPage$displayNam !== void 0 ? _AppOrPage$displayNam : AppOrPage.name) !== null && _ref !== void 0 ? _ref : "Component"})`; return WithTRPC; }; } //#endregion //#region src/createTRPCNext.tsx /* istanbul ignore file -- @preserve */ function createTRPCNext(opts) { const hooks = (0, _trpc_react_query_shared.createRootHooks)(opts); const _withTRPC = withTRPC(opts); const proxy = (0, _trpc_react_query_shared.createReactDecoration)(hooks); return (0, _trpc_server_unstable_core_do_not_import.createFlatProxy)((key) => { if (key === "useContext" || key === "useUtils") return () => { const context = hooks.useUtils(); return (0, react.useMemo)(() => { return (0, _trpc_react_query_shared.createReactQueryUtils)(context); }, [context]); }; if (key === "useQueries") return hooks.useQueries; if (key === "useSuspenseQueries") return hooks.useSuspenseQueries; if (key === "withTRPC") return _withTRPC; return proxy[key]; }); } //#endregion exports.createTRPCNext = createTRPCNext; exports.withTRPC = withTRPC;