@trpc/next 11.3.1 → 11.3.2-canary.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app-dir/client/package.json +1 -0
- package/app-dir/links/nextCache/package.json +1 -0
- package/app-dir/links/nextHttp/package.json +1 -0
- package/app-dir/server/package.json +1 -0
- package/dist/app-dir/client.cjs +115 -0
- package/dist/app-dir/client.d.cts +50 -0
- package/dist/app-dir/client.d.cts.map +1 -0
- package/dist/app-dir/client.d.mts +50 -0
- package/dist/app-dir/client.d.mts.map +1 -0
- package/dist/app-dir/client.mjs +109 -40
- package/dist/app-dir/client.mjs.map +1 -0
- package/dist/app-dir/links/nextCache.cjs +48 -0
- package/dist/app-dir/links/nextCache.d.cts +15 -0
- package/dist/app-dir/links/nextCache.d.cts.map +1 -0
- package/dist/app-dir/links/nextCache.d.mts +15 -0
- package/dist/app-dir/links/nextCache.d.mts.map +1 -0
- package/dist/app-dir/links/nextCache.mjs +43 -55
- package/dist/app-dir/links/nextCache.mjs.map +1 -0
- package/dist/app-dir/links/nextHttp.cjs +35 -0
- package/dist/app-dir/links/nextHttp.d.cts +18 -0
- package/dist/app-dir/links/nextHttp.d.cts.map +1 -0
- package/dist/app-dir/links/nextHttp.d.mts +18 -0
- package/dist/app-dir/links/nextHttp.d.mts.map +1 -0
- package/dist/app-dir/links/nextHttp.mjs +30 -32
- package/dist/app-dir/links/nextHttp.mjs.map +1 -0
- package/dist/app-dir/server.cjs +96 -0
- package/dist/app-dir/server.d.cts +2 -0
- package/dist/app-dir/server.d.mts +2 -0
- package/dist/app-dir/server.mjs +85 -109
- package/dist/app-dir/server.mjs.map +1 -0
- package/dist/chunk-CUT6urMc.cjs +30 -0
- package/dist/index.cjs +95 -0
- package/dist/index.d.cts +35 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +35 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +94 -2
- package/dist/index.mjs.map +1 -0
- package/dist/server.d-BXv5jwlB.d.mts +90 -0
- package/dist/server.d-BXv5jwlB.d.mts.map +1 -0
- package/dist/server.d-DLnegS7F.d.cts +90 -0
- package/dist/server.d-DLnegS7F.d.cts.map +1 -0
- package/dist/shared-C9SS-IYg.cjs +29 -0
- package/dist/shared-FEQznZ-6.mjs +18 -0
- package/dist/shared-FEQznZ-6.mjs.map +1 -0
- package/dist/ssrPrepass.cjs +104 -0
- package/dist/ssrPrepass.d.cts +9 -0
- package/dist/ssrPrepass.d.cts.map +1 -0
- package/dist/ssrPrepass.d.mts +9 -0
- package/dist/ssrPrepass.d.mts.map +1 -0
- package/dist/ssrPrepass.mjs +98 -131
- package/dist/ssrPrepass.mjs.map +1 -0
- package/dist/withTRPC.d-BY6FsDWi.d.mts +54 -0
- package/dist/withTRPC.d-BY6FsDWi.d.mts.map +1 -0
- package/dist/withTRPC.d-DctYN4Yz.d.cts +54 -0
- package/dist/withTRPC.d-DctYN4Yz.d.cts.map +1 -0
- package/package.json +63 -34
- package/ssrPrepass/package.json +1 -0
- package/app-dir/client/index.d.ts +0 -1
- package/app-dir/client/index.js +0 -1
- package/app-dir/links/nextCache/index.d.ts +0 -1
- package/app-dir/links/nextCache/index.js +0 -1
- package/app-dir/links/nextHttp/index.d.ts +0 -1
- package/app-dir/links/nextHttp/index.js +0 -1
- package/app-dir/server/index.d.ts +0 -1
- package/app-dir/server/index.js +0 -1
- package/dist/app-dir/client.d.ts +0 -6
- package/dist/app-dir/client.d.ts.map +0 -1
- package/dist/app-dir/client.js +0 -48
- package/dist/app-dir/create-action-hook.d.ts +0 -50
- package/dist/app-dir/create-action-hook.d.ts.map +0 -1
- package/dist/app-dir/create-action-hook.js +0 -108
- package/dist/app-dir/create-action-hook.mjs +0 -105
- package/dist/app-dir/links/nextCache.d.ts +0 -12
- package/dist/app-dir/links/nextCache.d.ts.map +0 -1
- package/dist/app-dir/links/nextCache.js +0 -62
- package/dist/app-dir/links/nextHttp.d.ts +0 -15
- package/dist/app-dir/links/nextHttp.d.ts.map +0 -1
- package/dist/app-dir/links/nextHttp.js +0 -39
- package/dist/app-dir/server.d.ts +0 -30
- package/dist/app-dir/server.d.ts.map +0 -1
- package/dist/app-dir/server.js +0 -122
- package/dist/app-dir/shared.d.ts +0 -55
- package/dist/app-dir/shared.d.ts.map +0 -1
- package/dist/app-dir/shared.js +0 -20
- package/dist/app-dir/shared.mjs +0 -17
- package/dist/app-dir/types.d.ts +0 -31
- package/dist/app-dir/types.d.ts.map +0 -1
- package/dist/createTRPCNext.d.ts +0 -29
- package/dist/createTRPCNext.d.ts.map +0 -1
- package/dist/createTRPCNext.js +0 -39
- package/dist/createTRPCNext.mjs +0 -37
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -9
- package/dist/ssrPrepass.d.ts +0 -3
- package/dist/ssrPrepass.d.ts.map +0 -1
- package/dist/ssrPrepass.js +0 -139
- package/dist/withTRPC.d.ts +0 -54
- package/dist/withTRPC.d.ts.map +0 -1
- package/dist/withTRPC.js +0 -84
- package/dist/withTRPC.mjs +0 -82
- package/ssrPrepass/index.d.ts +0 -1
- package/ssrPrepass/index.js +0 -1
package/dist/ssrPrepass.mjs
CHANGED
|
@@ -1,137 +1,104 @@
|
|
|
1
|
-
import { dehydrate } from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { dehydrate } from "@tanstack/react-query";
|
|
2
|
+
import { getTransformer } from "@trpc/client/unstable-internals";
|
|
3
|
+
import { getQueryClient } from "@trpc/react-query/shared";
|
|
4
|
+
import { createElement } from "react";
|
|
5
|
+
import { createTRPCUntypedClient } from "@trpc/client";
|
|
6
6
|
|
|
7
|
+
//#region src/ssrPrepass.ts
|
|
7
8
|
function transformQueryOrMutationCacheErrors(result) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
9
|
+
const error = result.state.error;
|
|
10
|
+
if (error instanceof Error && error.name === "TRPCClientError") {
|
|
11
|
+
const newError = {
|
|
12
|
+
message: error.message,
|
|
13
|
+
data: error.data,
|
|
14
|
+
shape: error.shape
|
|
15
|
+
};
|
|
16
|
+
return {
|
|
17
|
+
...result,
|
|
18
|
+
state: {
|
|
19
|
+
...result.state,
|
|
20
|
+
error: newError
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
24
25
|
}
|
|
25
|
-
const ssrPrepass = (opts)=>{
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
const dehydratedCache = dehydrate(queryClient, {
|
|
101
|
-
shouldDehydrateQuery (query) {
|
|
102
|
-
// filter out queries that are marked as trpc: { ssr: false } or are not enabled, but make sure errors are dehydrated
|
|
103
|
-
const isExcludedFromSSr = query.state.fetchStatus === 'idle' && query.state.status === 'pending';
|
|
104
|
-
return !isExcludedFromSSr;
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
// since error instances can't be serialized, let's make them into `TRPCClientErrorLike`-objects
|
|
108
|
-
const dehydratedCacheWithErrors = {
|
|
109
|
-
...dehydratedCache,
|
|
110
|
-
queries: dehydratedCache.queries.map(transformQueryOrMutationCacheErrors),
|
|
111
|
-
mutations: dehydratedCache.mutations.map(transformQueryOrMutationCacheErrors)
|
|
112
|
-
};
|
|
113
|
-
// dehydrate query client's state and add it to the props
|
|
114
|
-
pageProps['trpcState'] = transformer.input.serialize(dehydratedCacheWithErrors);
|
|
115
|
-
const appTreeProps = getAppTreeProps(pageProps);
|
|
116
|
-
const meta = parent.responseMeta?.({
|
|
117
|
-
ctx,
|
|
118
|
-
clientErrors: [
|
|
119
|
-
...dehydratedCache.queries,
|
|
120
|
-
...dehydratedCache.mutations
|
|
121
|
-
].map((v)=>v.state.error).flatMap((err)=>err instanceof Error && err.name === 'TRPCClientError' ? [
|
|
122
|
-
err
|
|
123
|
-
] : [])
|
|
124
|
-
}) ?? {};
|
|
125
|
-
for (const [key, value] of Object.entries(meta.headers ?? {})){
|
|
126
|
-
if (typeof value === 'string') {
|
|
127
|
-
ctx.res?.setHeader(key, value);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
if (meta.status && ctx.res) {
|
|
131
|
-
ctx.res.statusCode = meta.status;
|
|
132
|
-
}
|
|
133
|
-
return appTreeProps;
|
|
134
|
-
};
|
|
26
|
+
const ssrPrepass = (opts) => {
|
|
27
|
+
const { parent, WithTRPC, AppOrPage } = opts;
|
|
28
|
+
const transformer = getTransformer(parent.transformer);
|
|
29
|
+
WithTRPC.getInitialProps = async (appOrPageCtx) => {
|
|
30
|
+
const shouldSsr = async () => {
|
|
31
|
+
if (typeof window !== "undefined") return false;
|
|
32
|
+
if (typeof parent.ssr === "function") try {
|
|
33
|
+
return await parent.ssr({ ctx: appOrPageCtx.ctx });
|
|
34
|
+
} catch {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return parent.ssr;
|
|
38
|
+
};
|
|
39
|
+
const ssrEnabled = await shouldSsr();
|
|
40
|
+
const AppTree = appOrPageCtx.AppTree;
|
|
41
|
+
const isApp = !!appOrPageCtx.Component;
|
|
42
|
+
const ctx = isApp ? appOrPageCtx.ctx : appOrPageCtx;
|
|
43
|
+
let pageProps = {};
|
|
44
|
+
if (AppOrPage.getInitialProps) {
|
|
45
|
+
const originalProps = await AppOrPage.getInitialProps(appOrPageCtx);
|
|
46
|
+
const originalPageProps = isApp ? originalProps.pageProps ?? {} : originalProps;
|
|
47
|
+
pageProps = {
|
|
48
|
+
...originalPageProps,
|
|
49
|
+
...pageProps
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const getAppTreeProps = (props) => isApp ? { pageProps: props } : props;
|
|
53
|
+
if (typeof window !== "undefined" || !ssrEnabled) return getAppTreeProps(pageProps);
|
|
54
|
+
const config = parent.config({ ctx });
|
|
55
|
+
const trpcClient = createTRPCUntypedClient(config);
|
|
56
|
+
const queryClient = getQueryClient(config);
|
|
57
|
+
const trpcProp = {
|
|
58
|
+
config,
|
|
59
|
+
trpcClient,
|
|
60
|
+
queryClient,
|
|
61
|
+
ssrState: "prepass",
|
|
62
|
+
ssrContext: ctx
|
|
63
|
+
};
|
|
64
|
+
const prepassProps = {
|
|
65
|
+
pageProps,
|
|
66
|
+
trpc: trpcProp
|
|
67
|
+
};
|
|
68
|
+
const reactDomServer = await import("react-dom/server");
|
|
69
|
+
while (true) {
|
|
70
|
+
reactDomServer.renderToString(createElement(AppTree, prepassProps));
|
|
71
|
+
if (!queryClient.isFetching()) break;
|
|
72
|
+
await new Promise((resolve) => {
|
|
73
|
+
const unsub = queryClient.getQueryCache().subscribe((event) => {
|
|
74
|
+
if (event?.query.getObserversCount() === 0) {
|
|
75
|
+
resolve();
|
|
76
|
+
unsub();
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
const dehydratedCache = dehydrate(queryClient, { shouldDehydrateQuery(query) {
|
|
82
|
+
const isExcludedFromSSr = query.state.fetchStatus === "idle" && query.state.status === "pending";
|
|
83
|
+
return !isExcludedFromSSr;
|
|
84
|
+
} });
|
|
85
|
+
const dehydratedCacheWithErrors = {
|
|
86
|
+
...dehydratedCache,
|
|
87
|
+
queries: dehydratedCache.queries.map(transformQueryOrMutationCacheErrors),
|
|
88
|
+
mutations: dehydratedCache.mutations.map(transformQueryOrMutationCacheErrors)
|
|
89
|
+
};
|
|
90
|
+
pageProps["trpcState"] = transformer.input.serialize(dehydratedCacheWithErrors);
|
|
91
|
+
const appTreeProps = getAppTreeProps(pageProps);
|
|
92
|
+
const meta = parent.responseMeta?.({
|
|
93
|
+
ctx,
|
|
94
|
+
clientErrors: [...dehydratedCache.queries, ...dehydratedCache.mutations].map((v) => v.state.error).flatMap((err) => err instanceof Error && err.name === "TRPCClientError" ? [err] : [])
|
|
95
|
+
}) ?? {};
|
|
96
|
+
for (const [key, value] of Object.entries(meta.headers ?? {})) if (typeof value === "string") ctx.res?.setHeader(key, value);
|
|
97
|
+
if (meta.status && ctx.res) ctx.res.statusCode = meta.status;
|
|
98
|
+
return appTreeProps;
|
|
99
|
+
};
|
|
135
100
|
};
|
|
136
101
|
|
|
102
|
+
//#endregion
|
|
137
103
|
export { ssrPrepass };
|
|
104
|
+
//# sourceMappingURL=ssrPrepass.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssrPrepass.mjs","names":["result: TState","newError: TRPCClientErrorLike<any>","ssrPrepass: TRPCPrepassHelper","appOrPageCtx: AppContextType","ctx: NextPageContext","pageProps: Dict<unknown>","props: Record<string, unknown>","trpcProp: $PrepassProps"],"sources":["../src/ssrPrepass.ts"],"sourcesContent":["/**\n * Heavily based on urql's ssr\n * https://github.com/FormidableLabs/urql/blob/main/packages/next-urql/src/with-urql-client.ts\n */\nimport type { DehydratedState } from '@tanstack/react-query';\nimport { dehydrate } from '@tanstack/react-query';\nimport { createTRPCUntypedClient } from '@trpc/client';\nimport type { TRPCClientError, TRPCClientErrorLike } from '@trpc/client';\nimport type { CoercedTransformerParameters } from '@trpc/client/unstable-internals';\nimport { getTransformer } from '@trpc/client/unstable-internals';\nimport { getQueryClient } from '@trpc/react-query/shared';\nimport type {\n AnyRouter,\n Dict,\n Maybe,\n} from '@trpc/server/unstable-core-do-not-import';\nimport type {\n AppContextType,\n NextPageContext,\n} from 'next/dist/shared/lib/utils';\nimport { createElement } from 'react';\nimport type { TRPCPrepassHelper, TRPCPrepassProps } from './withTRPC';\n\nfunction transformQueryOrMutationCacheErrors<\n TState extends\n | DehydratedState['mutations'][0]\n | DehydratedState['queries'][0],\n>(result: TState): TState {\n const error = result.state.error as Maybe<TRPCClientError<any>>;\n if (error instanceof Error && error.name === 'TRPCClientError') {\n const newError: TRPCClientErrorLike<any> = {\n message: error.message,\n data: error.data,\n shape: error.shape,\n };\n return {\n ...result,\n state: {\n ...result.state,\n error: newError,\n },\n };\n }\n return result;\n}\n\nexport const ssrPrepass: TRPCPrepassHelper = (opts) => {\n const { parent, WithTRPC, AppOrPage } = opts;\n type $PrepassProps = TRPCPrepassProps<AnyRouter, any>;\n\n const transformer = getTransformer(\n (parent as CoercedTransformerParameters).transformer,\n );\n WithTRPC.getInitialProps = async (appOrPageCtx: AppContextType) => {\n const shouldSsr = async () => {\n if (typeof window !== 'undefined') {\n return false;\n }\n if (typeof parent.ssr === 'function') {\n try {\n return await parent.ssr({ ctx: appOrPageCtx.ctx });\n } catch {\n return false;\n }\n }\n return parent.ssr;\n };\n const ssrEnabled = await shouldSsr();\n const AppTree = appOrPageCtx.AppTree;\n\n // Determine if we are wrapping an App component or a Page component.\n const isApp = !!appOrPageCtx.Component;\n const ctx: NextPageContext = isApp\n ? appOrPageCtx.ctx\n : (appOrPageCtx as any as NextPageContext);\n\n // Run the wrapped component's getInitialProps function.\n let pageProps: Dict<unknown> = {};\n if (AppOrPage.getInitialProps) {\n const originalProps = await AppOrPage.getInitialProps(\n appOrPageCtx as any,\n );\n const originalPageProps = isApp\n ? (originalProps.pageProps ?? {})\n : originalProps;\n\n pageProps = {\n ...originalPageProps,\n ...pageProps,\n };\n }\n const getAppTreeProps = (props: Record<string, unknown>) =>\n isApp ? { pageProps: props } : props;\n\n if (typeof window !== 'undefined' || !ssrEnabled) {\n return getAppTreeProps(pageProps);\n }\n\n const config = parent.config({ ctx });\n const trpcClient = createTRPCUntypedClient(config);\n const queryClient = getQueryClient(config);\n\n const trpcProp: $PrepassProps = {\n config,\n trpcClient,\n queryClient,\n ssrState: 'prepass',\n ssrContext: ctx,\n };\n const prepassProps = {\n pageProps,\n trpc: trpcProp,\n };\n\n const reactDomServer = await import('react-dom/server');\n\n // Run the prepass step on AppTree. This will run all trpc queries on the server.\n // multiple prepass ensures that we can do batching on the server\n while (true) {\n // render full tree\n reactDomServer.renderToString(createElement(AppTree, prepassProps));\n if (!queryClient.isFetching()) {\n // the render didn't cause the queryClient to fetch anything\n break;\n }\n\n // wait until the query cache has settled it's promises\n await new Promise<void>((resolve) => {\n const unsub = queryClient.getQueryCache().subscribe((event) => {\n if (event?.query.getObserversCount() === 0) {\n resolve();\n unsub();\n }\n });\n });\n }\n const dehydratedCache = dehydrate(queryClient, {\n shouldDehydrateQuery(query) {\n // filter out queries that are marked as trpc: { ssr: false } or are not enabled, but make sure errors are dehydrated\n const isExcludedFromSSr =\n query.state.fetchStatus === 'idle' &&\n query.state.status === 'pending';\n return !isExcludedFromSSr;\n },\n });\n // since error instances can't be serialized, let's make them into `TRPCClientErrorLike`-objects\n const dehydratedCacheWithErrors = {\n ...dehydratedCache,\n queries: dehydratedCache.queries.map(transformQueryOrMutationCacheErrors),\n mutations: dehydratedCache.mutations.map(\n transformQueryOrMutationCacheErrors,\n ),\n };\n\n // dehydrate query client's state and add it to the props\n pageProps['trpcState'] = transformer.input.serialize(\n dehydratedCacheWithErrors,\n );\n\n const appTreeProps = getAppTreeProps(pageProps);\n\n const meta =\n parent.responseMeta?.({\n ctx,\n clientErrors: [...dehydratedCache.queries, ...dehydratedCache.mutations]\n .map((v) => v.state.error)\n .flatMap((err) =>\n err instanceof Error && err.name === 'TRPCClientError'\n ? [err as TRPCClientError<AnyRouter>]\n : [],\n ),\n }) ?? {};\n\n for (const [key, value] of Object.entries(meta.headers ?? {})) {\n if (typeof value === 'string') {\n ctx.res?.setHeader(key, value);\n }\n }\n if (meta.status && ctx.res) {\n ctx.res.statusCode = meta.status;\n }\n\n return appTreeProps;\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import { TransformerOptions } from "@trpc/client/unstable-internals";
|
|
3
|
+
import { CreateTRPCReactOptions, CreateTRPCReactQueryClientConfig } from "@trpc/react-query/shared";
|
|
4
|
+
import { AnyRouter, ResponseMeta, inferClientTypes } from "@trpc/server/unstable-core-do-not-import";
|
|
5
|
+
import { CreateTRPCClientOptions, TRPCClient, TRPCClientError, TRPCUntypedClient } from "@trpc/client";
|
|
6
|
+
import { NextComponentType, NextPageContext } from "next/dist/shared/lib/utils";
|
|
7
|
+
|
|
8
|
+
//#region src/withTRPC.d.ts
|
|
9
|
+
|
|
10
|
+
type WithTRPCConfig<TRouter extends AnyRouter> = CreateTRPCClientOptions<TRouter> & CreateTRPCReactQueryClientConfig & {
|
|
11
|
+
abortOnUnmount?: boolean;
|
|
12
|
+
};
|
|
13
|
+
type WithTRPCOptions<TRouter extends AnyRouter> = CreateTRPCReactOptions<TRouter> & {
|
|
14
|
+
config: (info: {
|
|
15
|
+
ctx?: NextPageContext;
|
|
16
|
+
}) => WithTRPCConfig<TRouter>;
|
|
17
|
+
} & TransformerOptions<inferClientTypes<TRouter>>;
|
|
18
|
+
type TRPCPrepassHelper = (opts: {
|
|
19
|
+
parent: WithTRPCSSROptions<AnyRouter>;
|
|
20
|
+
WithTRPC: NextComponentType<any, any, any>;
|
|
21
|
+
AppOrPage: NextComponentType<any, any, any>;
|
|
22
|
+
}) => void;
|
|
23
|
+
type WithTRPCSSROptions<TRouter extends AnyRouter> = WithTRPCOptions<TRouter> & {
|
|
24
|
+
/**
|
|
25
|
+
* If you enable this, you also need to add a `ssrPrepass`-prop
|
|
26
|
+
* @see https://trpc.io/docs/client/nextjs/ssr
|
|
27
|
+
*/
|
|
28
|
+
ssr: true | ((opts: {
|
|
29
|
+
ctx: NextPageContext;
|
|
30
|
+
}) => boolean | Promise<boolean>);
|
|
31
|
+
responseMeta?: (opts: {
|
|
32
|
+
ctx: NextPageContext;
|
|
33
|
+
clientErrors: TRPCClientError<TRouter>[];
|
|
34
|
+
}) => ResponseMeta;
|
|
35
|
+
/**
|
|
36
|
+
* use `import { ssrPrepass } from '@trpc/next/ssrPrepass'`
|
|
37
|
+
* @see https://trpc.io/docs/client/nextjs/ssr
|
|
38
|
+
*/
|
|
39
|
+
ssrPrepass: TRPCPrepassHelper;
|
|
40
|
+
};
|
|
41
|
+
type WithTRPCNoSSROptions<TRouter extends AnyRouter> = WithTRPCOptions<TRouter> & {
|
|
42
|
+
ssr?: false;
|
|
43
|
+
};
|
|
44
|
+
type TRPCPrepassProps<TRouter extends AnyRouter, TSSRContext extends NextPageContext = NextPageContext> = {
|
|
45
|
+
config: WithTRPCConfig<TRouter>;
|
|
46
|
+
queryClient: QueryClient;
|
|
47
|
+
trpcClient: TRPCUntypedClient<TRouter> | TRPCClient<TRouter>;
|
|
48
|
+
ssrState: 'prepass';
|
|
49
|
+
ssrContext: TSSRContext;
|
|
50
|
+
};
|
|
51
|
+
declare function withTRPC<TRouter extends AnyRouter, TSSRContext extends NextPageContext = NextPageContext>(opts: WithTRPCNoSSROptions<TRouter> | WithTRPCSSROptions<TRouter>): (AppOrPage: NextComponentType<any, any, any>) => NextComponentType;
|
|
52
|
+
//#endregion
|
|
53
|
+
export { TRPCPrepassHelper, TRPCPrepassProps, WithTRPCConfig, WithTRPCNoSSROptions, WithTRPCSSROptions, withTRPC };
|
|
54
|
+
//# sourceMappingURL=withTRPC.d-BY6FsDWi.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withTRPC.d-BY6FsDWi.d.mts","names":[],"sources":["../src/withTRPC.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;AAqC2C,KAA/B,cAA+B,CAAA,gBAAA,SAAA,CAAA,GACzC,uBADyC,CACjB,OADiB,CAAA,GAEvC,gCAFuC,GAAA;EAAS,cAC1B,CAAA,EAAA,OAAA;CAAO;KAK5B,eAJD,CAAA,gBAIiC,SAJjC,CAAA,GAKF,sBALE,CAKqB,OALrB,CAAA,GAAA;EAAgC,MAAA,EAAA,CAAA,IAAA,EAAA;IAI/B,GAAA,CAAA,EAEsB,eAFP;EAAA,CAAA,EAAA,GAE6B,cAF7B,CAE4C,OAF5C,CAAA;CAAA,GAGd,kBAH+B,CAGZ,gBAHY,CAGK,OAHL,CAAA,CAAA;AACZ,KAIb,iBAAA,GAJa,CAAA,IAAA,EAAA;EAAO,MAA9B,EAKQ,kBALR,CAK2B,SAL3B,CAAA;EAAsB,QACG,EAKf,iBALe,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA;EAAe,SAAsB,EAMnD,iBANmD,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA;CAAO,EAAA,GAAA,IAAtB;AACP,KAO9B,kBAP8B,CAAA,gBAOK,SAPL,CAAA,GAQxC,eARwC,CAQxB,OARwB,CAAA,GAAA;EAAO;;AAAzB;AAExB;EAA6B,GAAA,EAAA,IAAA,GAAA,CAAA,CAAA,IAAA,EAAA;IACA,GAAA,EAYN,eAZM;EAAS,CAAA,EAA5B,GAAA,OAAA,GAY6C,OAZ7C,CAAA,OAAA,CAAA,CAAA;EAAkB,YAChB,CAAA,EAAA,CAAA,IAAA,EAAA;IACC,GAAA,EAYF,eAZE;IAAiB,YAAA,EAaV,eAbU,CAaM,OAbN,CAAA,EAAA;EAElB,CAAA,EAAA,GAYF,YAZE;EAAkB;;;;EACb,UAOM,EASP,iBATO;CAAe;AAE3B,KAUC,oBAVD,CAAA,gBAUsC,SAVtC,CAAA,GAWT,eAXS,CAWO,OAXP,CAAA,GAAA;EAAe,GACU,CAAA,EAAA,KAAA;CAAO;AACjC,KAaE,gBAbF,CAAA,gBAcQ,SAdR,EAAA,oBAeY,eAfZ,GAe8B,eAf9B,CAAA,GAAA;EAAY,MAKN,EAYN,cAZM,CAYS,OAZT,CAAA;EAAiB,WAAA,EAalB,WAbkB;EAGrB,UAAA,EAWE,iBAXkB,CAWA,OAXA,CAAA,GAWW,UAXX,CAWsB,OAXtB,CAAA;EAAA,QAAA,EAAA,SAAA;EAAA,UAAiB,EAanC,WAbmC;CAAS;AACxD,iBAec,QAfd,CAAA,gBAgBgB,SAhBhB,EAAA,oBAiBoB,eAjBpB,GAiBsC,eAjBtC,CAAA,CAAA,IAAA,EAkBM,oBAlBN,CAkB2B,OAlB3B,CAAA,GAkBsC,kBAlBtC,CAkByD,OAlBzD,CAAA,CAAA,EAAA,CAAA,SAAA,EAyBmB,iBAzBnB,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,EAAA,GAyBsD,iBAzBtD"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { CreateTRPCClientOptions, TRPCClient, TRPCClientError, TRPCUntypedClient } from "@trpc/client";
|
|
2
|
+
import { AnyRouter, ResponseMeta, inferClientTypes } from "@trpc/server/unstable-core-do-not-import";
|
|
3
|
+
import { TransformerOptions } from "@trpc/client/unstable-internals";
|
|
4
|
+
import { QueryClient } from "@tanstack/react-query";
|
|
5
|
+
import { CreateTRPCReactOptions, CreateTRPCReactQueryClientConfig } from "@trpc/react-query/shared";
|
|
6
|
+
import { NextComponentType, NextPageContext } from "next/dist/shared/lib/utils";
|
|
7
|
+
|
|
8
|
+
//#region src/withTRPC.d.ts
|
|
9
|
+
|
|
10
|
+
type WithTRPCConfig<TRouter extends AnyRouter> = CreateTRPCClientOptions<TRouter> & CreateTRPCReactQueryClientConfig & {
|
|
11
|
+
abortOnUnmount?: boolean;
|
|
12
|
+
};
|
|
13
|
+
type WithTRPCOptions<TRouter extends AnyRouter> = CreateTRPCReactOptions<TRouter> & {
|
|
14
|
+
config: (info: {
|
|
15
|
+
ctx?: NextPageContext;
|
|
16
|
+
}) => WithTRPCConfig<TRouter>;
|
|
17
|
+
} & TransformerOptions<inferClientTypes<TRouter>>;
|
|
18
|
+
type TRPCPrepassHelper = (opts: {
|
|
19
|
+
parent: WithTRPCSSROptions<AnyRouter>;
|
|
20
|
+
WithTRPC: NextComponentType<any, any, any>;
|
|
21
|
+
AppOrPage: NextComponentType<any, any, any>;
|
|
22
|
+
}) => void;
|
|
23
|
+
type WithTRPCSSROptions<TRouter extends AnyRouter> = WithTRPCOptions<TRouter> & {
|
|
24
|
+
/**
|
|
25
|
+
* If you enable this, you also need to add a `ssrPrepass`-prop
|
|
26
|
+
* @see https://trpc.io/docs/client/nextjs/ssr
|
|
27
|
+
*/
|
|
28
|
+
ssr: true | ((opts: {
|
|
29
|
+
ctx: NextPageContext;
|
|
30
|
+
}) => boolean | Promise<boolean>);
|
|
31
|
+
responseMeta?: (opts: {
|
|
32
|
+
ctx: NextPageContext;
|
|
33
|
+
clientErrors: TRPCClientError<TRouter>[];
|
|
34
|
+
}) => ResponseMeta;
|
|
35
|
+
/**
|
|
36
|
+
* use `import { ssrPrepass } from '@trpc/next/ssrPrepass'`
|
|
37
|
+
* @see https://trpc.io/docs/client/nextjs/ssr
|
|
38
|
+
*/
|
|
39
|
+
ssrPrepass: TRPCPrepassHelper;
|
|
40
|
+
};
|
|
41
|
+
type WithTRPCNoSSROptions<TRouter extends AnyRouter> = WithTRPCOptions<TRouter> & {
|
|
42
|
+
ssr?: false;
|
|
43
|
+
};
|
|
44
|
+
type TRPCPrepassProps<TRouter extends AnyRouter, TSSRContext extends NextPageContext = NextPageContext> = {
|
|
45
|
+
config: WithTRPCConfig<TRouter>;
|
|
46
|
+
queryClient: QueryClient;
|
|
47
|
+
trpcClient: TRPCUntypedClient<TRouter> | TRPCClient<TRouter>;
|
|
48
|
+
ssrState: 'prepass';
|
|
49
|
+
ssrContext: TSSRContext;
|
|
50
|
+
};
|
|
51
|
+
declare function withTRPC<TRouter extends AnyRouter, TSSRContext extends NextPageContext = NextPageContext>(opts: WithTRPCNoSSROptions<TRouter> | WithTRPCSSROptions<TRouter>): (AppOrPage: NextComponentType<any, any, any>) => NextComponentType;
|
|
52
|
+
//#endregion
|
|
53
|
+
export { TRPCPrepassHelper, TRPCPrepassProps, WithTRPCConfig, WithTRPCNoSSROptions, WithTRPCSSROptions, withTRPC };
|
|
54
|
+
//# sourceMappingURL=withTRPC.d-DctYN4Yz.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withTRPC.d-DctYN4Yz.d.cts","names":[],"sources":["../src/withTRPC.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;AAqC2C,KAA/B,cAA+B,CAAA,gBAAA,SAAA,CAAA,GACzC,uBADyC,CACjB,OADiB,CAAA,GAEvC,gCAFuC,GAAA;EAAS,cAC1B,CAAA,EAAA,OAAA;CAAO;KAK5B,eAJD,CAAA,gBAIiC,SAJjC,CAAA,GAKF,sBALE,CAKqB,OALrB,CAAA,GAAA;EAAgC,MAAA,EAAA,CAAA,IAAA,EAAA;IAI/B,GAAA,CAAA,EAEsB,eAFP;EAAA,CAAA,EAAA,GAE6B,cAF7B,CAE4C,OAF5C,CAAA;CAAA,GAGd,kBAH+B,CAGZ,gBAHY,CAGK,OAHL,CAAA,CAAA;AACZ,KAIb,iBAAA,GAJa,CAAA,IAAA,EAAA;EAAO,MAA9B,EAKQ,kBALR,CAK2B,SAL3B,CAAA;EAAsB,QACG,EAKf,iBALe,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA;EAAe,SAAsB,EAMnD,iBANmD,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA;CAAO,EAAA,GAAA,IAAtB;AACP,KAO9B,kBAP8B,CAAA,gBAOK,SAPL,CAAA,GAQxC,eARwC,CAQxB,OARwB,CAAA,GAAA;EAAO;;AAAzB;AAExB;EAA6B,GAAA,EAAA,IAAA,GAAA,CAAA,CAAA,IAAA,EAAA;IACA,GAAA,EAYN,eAZM;EAAS,CAAA,EAA5B,GAAA,OAAA,GAY6C,OAZ7C,CAAA,OAAA,CAAA,CAAA;EAAkB,YAChB,CAAA,EAAA,CAAA,IAAA,EAAA;IACC,GAAA,EAYF,eAZE;IAAiB,YAAA,EAaV,eAbU,CAaM,OAbN,CAAA,EAAA;EAElB,CAAA,EAAA,GAYF,YAZE;EAAkB;;;;EACb,UAOM,EASP,iBATO;CAAe;AAE3B,KAUC,oBAVD,CAAA,gBAUsC,SAVtC,CAAA,GAWT,eAXS,CAWO,OAXP,CAAA,GAAA;EAAe,GACU,CAAA,EAAA,KAAA;CAAO;AACjC,KAaE,gBAbF,CAAA,gBAcQ,SAdR,EAAA,oBAeY,eAfZ,GAe8B,eAf9B,CAAA,GAAA;EAAY,MAKN,EAYN,cAZM,CAYS,OAZT,CAAA;EAAiB,WAAA,EAalB,WAbkB;EAGrB,UAAA,EAWE,iBAXkB,CAWA,OAXA,CAAA,GAWW,UAXX,CAWsB,OAXtB,CAAA;EAAA,QAAA,EAAA,SAAA;EAAA,UAAiB,EAanC,WAbmC;CAAS;AACxD,iBAec,QAfd,CAAA,gBAgBgB,SAhBhB,EAAA,oBAiBoB,eAjBpB,GAiBsC,eAjBtC,CAAA,CAAA,IAAA,EAkBM,oBAlBN,CAkB2B,OAlB3B,CAAA,GAkBsC,kBAlBtC,CAkByD,OAlBzD,CAAA,CAAA,EAAA,CAAA,SAAA,EAyBmB,iBAzBnB,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,EAAA,GAyBsD,iBAzBtD"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
+
"type": "module",
|
|
2
3
|
"name": "@trpc/next",
|
|
3
|
-
"version": "11.3.
|
|
4
|
+
"version": "11.3.2-canary.2+b0426132b",
|
|
4
5
|
"description": "The tRPC Next.js library",
|
|
5
6
|
"author": "KATT",
|
|
6
7
|
"license": "MIT",
|
|
7
|
-
"main": "dist/index.
|
|
8
|
-
"module": "dist/index.mjs",
|
|
9
|
-
"
|
|
8
|
+
"main": "./dist/index.cjs",
|
|
9
|
+
"module": "./dist/index.mjs",
|
|
10
|
+
"types": "./dist/index.d.cts",
|
|
10
11
|
"homepage": "https://trpc.io",
|
|
11
12
|
"repository": {
|
|
12
13
|
"type": "git",
|
|
@@ -23,43 +24,72 @@
|
|
|
23
24
|
}
|
|
24
25
|
},
|
|
25
26
|
"scripts": {
|
|
26
|
-
"build": "
|
|
27
|
-
"dev": "
|
|
28
|
-
"codegen-entrypoints": "tsx entrypoints.script.ts",
|
|
27
|
+
"build": "tsdown",
|
|
28
|
+
"dev": "tsdown --watch",
|
|
29
29
|
"ts-watch": "tsc --project tsconfig.watch.json --watch",
|
|
30
30
|
"lint": "eslint --cache src"
|
|
31
31
|
},
|
|
32
32
|
"exports": {
|
|
33
33
|
"./package.json": "./package.json",
|
|
34
34
|
".": {
|
|
35
|
-
"import":
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
"import": {
|
|
36
|
+
"default": "./dist/index.mjs",
|
|
37
|
+
"types": "./dist/index.d.mts"
|
|
38
|
+
},
|
|
39
|
+
"require": {
|
|
40
|
+
"default": "./dist/index.cjs",
|
|
41
|
+
"types": "./dist/index.d.cts"
|
|
42
|
+
}
|
|
38
43
|
},
|
|
39
44
|
"./app-dir/client": {
|
|
40
|
-
"import":
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
"import": {
|
|
46
|
+
"default": "./dist/app-dir/client.mjs",
|
|
47
|
+
"types": "./dist/app-dir/client.d.mts"
|
|
48
|
+
},
|
|
49
|
+
"require": {
|
|
50
|
+
"default": "./dist/app-dir/client.cjs",
|
|
51
|
+
"types": "./dist/app-dir/client.d.cts"
|
|
52
|
+
}
|
|
43
53
|
},
|
|
44
54
|
"./app-dir/links/nextCache": {
|
|
45
|
-
"import":
|
|
46
|
-
|
|
47
|
-
|
|
55
|
+
"import": {
|
|
56
|
+
"default": "./dist/app-dir/links/nextCache.mjs",
|
|
57
|
+
"types": "./dist/app-dir/links/nextCache.d.mts"
|
|
58
|
+
},
|
|
59
|
+
"require": {
|
|
60
|
+
"default": "./dist/app-dir/links/nextCache.cjs",
|
|
61
|
+
"types": "./dist/app-dir/links/nextCache.d.cts"
|
|
62
|
+
}
|
|
48
63
|
},
|
|
49
64
|
"./app-dir/links/nextHttp": {
|
|
50
|
-
"import":
|
|
51
|
-
|
|
52
|
-
|
|
65
|
+
"import": {
|
|
66
|
+
"default": "./dist/app-dir/links/nextHttp.mjs",
|
|
67
|
+
"types": "./dist/app-dir/links/nextHttp.d.mts"
|
|
68
|
+
},
|
|
69
|
+
"require": {
|
|
70
|
+
"default": "./dist/app-dir/links/nextHttp.cjs",
|
|
71
|
+
"types": "./dist/app-dir/links/nextHttp.d.cts"
|
|
72
|
+
}
|
|
53
73
|
},
|
|
54
74
|
"./app-dir/server": {
|
|
55
|
-
"import":
|
|
56
|
-
|
|
57
|
-
|
|
75
|
+
"import": {
|
|
76
|
+
"default": "./dist/app-dir/server.mjs",
|
|
77
|
+
"types": "./dist/app-dir/server.d.mts"
|
|
78
|
+
},
|
|
79
|
+
"require": {
|
|
80
|
+
"default": "./dist/app-dir/server.cjs",
|
|
81
|
+
"types": "./dist/app-dir/server.d.cts"
|
|
82
|
+
}
|
|
58
83
|
},
|
|
59
84
|
"./ssrPrepass": {
|
|
60
|
-
"import":
|
|
61
|
-
|
|
62
|
-
|
|
85
|
+
"import": {
|
|
86
|
+
"default": "./dist/ssrPrepass.mjs",
|
|
87
|
+
"types": "./dist/ssrPrepass.d.mts"
|
|
88
|
+
},
|
|
89
|
+
"require": {
|
|
90
|
+
"default": "./dist/ssrPrepass.cjs",
|
|
91
|
+
"types": "./dist/ssrPrepass.d.cts"
|
|
92
|
+
}
|
|
63
93
|
}
|
|
64
94
|
},
|
|
65
95
|
"files": [
|
|
@@ -74,9 +104,9 @@
|
|
|
74
104
|
],
|
|
75
105
|
"peerDependencies": {
|
|
76
106
|
"@tanstack/react-query": "^5.59.15",
|
|
77
|
-
"@trpc/client": "11.3.
|
|
78
|
-
"@trpc/react-query": "11.3.
|
|
79
|
-
"@trpc/server": "11.3.
|
|
107
|
+
"@trpc/client": "11.3.2-canary.2+b0426132b",
|
|
108
|
+
"@trpc/react-query": "11.3.2-canary.2+b0426132b",
|
|
109
|
+
"@trpc/server": "11.3.2-canary.2+b0426132b",
|
|
80
110
|
"next": "*",
|
|
81
111
|
"react": ">=16.8.0",
|
|
82
112
|
"react-dom": ">=16.8.0",
|
|
@@ -92,9 +122,9 @@
|
|
|
92
122
|
},
|
|
93
123
|
"devDependencies": {
|
|
94
124
|
"@tanstack/react-query": "^5.80.3",
|
|
95
|
-
"@trpc/client": "11.3.
|
|
96
|
-
"@trpc/react-query": "11.3.
|
|
97
|
-
"@trpc/server": "11.3.
|
|
125
|
+
"@trpc/client": "11.3.2-canary.2+b0426132b",
|
|
126
|
+
"@trpc/react-query": "11.3.2-canary.2+b0426132b",
|
|
127
|
+
"@trpc/server": "11.3.2-canary.2+b0426132b",
|
|
98
128
|
"@types/express": "^5.0.0",
|
|
99
129
|
"@types/node": "^22.13.5",
|
|
100
130
|
"@types/react": "^19.1.0",
|
|
@@ -105,8 +135,7 @@
|
|
|
105
135
|
"next": "^15.3.1",
|
|
106
136
|
"react": "^19.1.0",
|
|
107
137
|
"react-dom": "^19.1.0",
|
|
108
|
-
"
|
|
109
|
-
"tsx": "^4.19.3",
|
|
138
|
+
"tsdown": "0.12.7",
|
|
110
139
|
"typescript": "^5.8.2",
|
|
111
140
|
"zod": "^3.25.51"
|
|
112
141
|
},
|
|
@@ -116,5 +145,5 @@
|
|
|
116
145
|
"funding": [
|
|
117
146
|
"https://trpc.io/sponsor"
|
|
118
147
|
],
|
|
119
|
-
"gitHead": "
|
|
148
|
+
"gitHead": "b0426132b53af5b3a679063522429e5842f577e4"
|
|
120
149
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"main":"../dist/ssrPrepass.cjs","module":"../dist/ssrPrepass.mjs","types":"../dist/ssrPrepass.d.cts"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '../../dist/app-dir/client';
|
package/app-dir/client/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('../../dist/app-dir/client');
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '../../../dist/app-dir/links/nextCache';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('../../../dist/app-dir/links/nextCache');
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '../../../dist/app-dir/links/nextHttp';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('../../../dist/app-dir/links/nextHttp');
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '../../dist/app-dir/server';
|
package/app-dir/server/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('../../dist/app-dir/server');
|
package/dist/app-dir/client.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { TRPCClient } from '@trpc/client';
|
|
2
|
-
import type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';
|
|
3
|
-
import type { CreateTRPCNextAppRouterOptions } from './shared';
|
|
4
|
-
export { experimental_createActionHook, experimental_serverActionLink, type UseTRPCActionResult, } from './create-action-hook';
|
|
5
|
-
export declare function experimental_createTRPCNextAppDirClient<TRouter extends AnyRouter>(opts: CreateTRPCNextAppRouterOptions<TRouter>): TRPCClient<TRouter>;
|
|
6
|
-
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/app-dir/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAE/D,OAAO,EAEL,6BAA6B,EAE7B,6BAA6B,EAE7B,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAS9B,wBAAgB,uCAAuC,CACrD,OAAO,SAAS,SAAS,EACzB,IAAI,EAAE,8BAA8B,CAAC,OAAO,CAAC,uBAwC9C"}
|
package/dist/app-dir/client.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var client = require('@trpc/client');
|
|
4
|
-
var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
|
|
5
|
-
var createActionHook = require('./create-action-hook.js');
|
|
6
|
-
|
|
7
|
-
// ts-prune-ignore-next
|
|
8
|
-
function experimental_createTRPCNextAppDirClient(opts) {
|
|
9
|
-
const client$1 = client.createTRPCUntypedClient(opts.config());
|
|
10
|
-
// const useProxy = createUseProxy<TRouter>(client);
|
|
11
|
-
const cache = new Map();
|
|
12
|
-
return unstableCoreDoNotImport.createRecursiveProxy(({ path, args })=>{
|
|
13
|
-
// const pathCopy = [key, ...path];
|
|
14
|
-
const pathCopy = [
|
|
15
|
-
...path
|
|
16
|
-
];
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
18
|
-
const procedureType = client.clientCallTypeToProcedureType(pathCopy.pop());
|
|
19
|
-
if (procedureType === 'query') {
|
|
20
|
-
const queryCacheKey = JSON.stringify([
|
|
21
|
-
path,
|
|
22
|
-
args[0]
|
|
23
|
-
]);
|
|
24
|
-
const cached = cache.get(queryCacheKey);
|
|
25
|
-
if (cached?.promise) {
|
|
26
|
-
return cached.promise;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
const fullPath = pathCopy.join('.');
|
|
30
|
-
const promise = client$1[procedureType](fullPath, ...args);
|
|
31
|
-
if (procedureType !== 'query') {
|
|
32
|
-
return promise;
|
|
33
|
-
}
|
|
34
|
-
const queryCacheKey = JSON.stringify([
|
|
35
|
-
path,
|
|
36
|
-
args[0]
|
|
37
|
-
]);
|
|
38
|
-
cache.set(queryCacheKey, {
|
|
39
|
-
promise
|
|
40
|
-
});
|
|
41
|
-
return promise;
|
|
42
|
-
});
|
|
43
|
-
// });
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
exports.experimental_createActionHook = createActionHook.experimental_createActionHook;
|
|
47
|
-
exports.experimental_serverActionLink = createActionHook.experimental_serverActionLink;
|
|
48
|
-
exports.experimental_createTRPCNextAppDirClient = experimental_createTRPCNextAppDirClient;
|