@trpc/react-query 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.
Files changed (129) hide show
  1. package/dist/getQueryKey-CP8onRYT.cjs +104 -0
  2. package/dist/getQueryKey-Dekty44G.mjs +53 -0
  3. package/dist/getQueryKey-Dekty44G.mjs.map +1 -0
  4. package/dist/getQueryKey.d-C_PnqPni.d.cts +892 -0
  5. package/dist/getQueryKey.d-C_PnqPni.d.cts.map +1 -0
  6. package/dist/getQueryKey.d-CruH3ncI.d.mts +892 -0
  7. package/dist/getQueryKey.d-CruH3ncI.d.mts.map +1 -0
  8. package/dist/index.cjs +47 -0
  9. package/dist/index.d.cts +31 -0
  10. package/dist/index.d.cts.map +1 -0
  11. package/dist/index.d.mts +31 -0
  12. package/dist/index.d.mts.map +1 -0
  13. package/dist/index.mjs +40 -4
  14. package/dist/index.mjs.map +1 -0
  15. package/dist/rsc.cjs +69 -0
  16. package/dist/rsc.d.cts +80 -0
  17. package/dist/rsc.d.cts.map +1 -0
  18. package/dist/rsc.d.mts +80 -0
  19. package/dist/rsc.d.mts.map +1 -0
  20. package/dist/rsc.mjs +65 -104
  21. package/dist/rsc.mjs.map +1 -0
  22. package/dist/server/index.cjs +132 -0
  23. package/dist/server/index.d.cts +31 -0
  24. package/dist/server/index.d.cts.map +1 -0
  25. package/dist/server/index.d.mts +31 -0
  26. package/dist/server/index.d.mts.map +1 -0
  27. package/dist/server/index.mjs +133 -1
  28. package/dist/server/index.mjs.map +1 -0
  29. package/dist/shared/index.cjs +13 -0
  30. package/dist/shared/index.d.cts +2 -0
  31. package/dist/shared/index.d.mts +2 -0
  32. package/dist/shared/index.mjs +4 -7
  33. package/dist/shared-CMPBsqju.mjs +784 -0
  34. package/dist/shared-CMPBsqju.mjs.map +1 -0
  35. package/dist/shared-Doe-Gsbv.cjs +846 -0
  36. package/package.json +45 -26
  37. package/rsc/package.json +1 -0
  38. package/server/package.json +1 -0
  39. package/shared/package.json +1 -0
  40. package/dist/createTRPCQueryUtils.d.ts +0 -4
  41. package/dist/createTRPCQueryUtils.d.ts.map +0 -1
  42. package/dist/createTRPCQueryUtils.js +0 -16
  43. package/dist/createTRPCQueryUtils.mjs +0 -14
  44. package/dist/createTRPCReact.d.ts +0 -147
  45. package/dist/createTRPCReact.d.ts.map +0 -1
  46. package/dist/createTRPCReact.js +0 -60
  47. package/dist/createTRPCReact.mjs +0 -38
  48. package/dist/index.d.ts +0 -6
  49. package/dist/index.d.ts.map +0 -1
  50. package/dist/index.js +0 -19
  51. package/dist/internals/context.d.ts +0 -157
  52. package/dist/internals/context.d.ts.map +0 -1
  53. package/dist/internals/context.js +0 -33
  54. package/dist/internals/context.mjs +0 -11
  55. package/dist/internals/getClientArgs.d.ts +0 -9
  56. package/dist/internals/getClientArgs.d.ts.map +0 -1
  57. package/dist/internals/getClientArgs.js +0 -24
  58. package/dist/internals/getClientArgs.mjs +0 -22
  59. package/dist/internals/getQueryKey.d.ts +0 -49
  60. package/dist/internals/getQueryKey.d.ts.map +0 -1
  61. package/dist/internals/getQueryKey.js +0 -75
  62. package/dist/internals/getQueryKey.mjs +0 -70
  63. package/dist/internals/trpcResult.d.ts +0 -18
  64. package/dist/internals/trpcResult.d.ts.map +0 -1
  65. package/dist/internals/trpcResult.js +0 -63
  66. package/dist/internals/trpcResult.mjs +0 -40
  67. package/dist/internals/useQueries.d.ts +0 -58
  68. package/dist/internals/useQueries.d.ts.map +0 -1
  69. package/dist/rsc.d.ts +0 -80
  70. package/dist/rsc.d.ts.map +0 -1
  71. package/dist/rsc.js +0 -130
  72. package/dist/server/index.d.ts +0 -2
  73. package/dist/server/index.d.ts.map +0 -1
  74. package/dist/server/index.js +0 -7
  75. package/dist/server/ssgProxy.d.ts +0 -31
  76. package/dist/server/ssgProxy.d.ts.map +0 -1
  77. package/dist/server/ssgProxy.js +0 -141
  78. package/dist/server/ssgProxy.mjs +0 -139
  79. package/dist/shared/hooks/createHooksInternal.d.ts +0 -31
  80. package/dist/shared/hooks/createHooksInternal.d.ts.map +0 -1
  81. package/dist/shared/hooks/createHooksInternal.js +0 -543
  82. package/dist/shared/hooks/createHooksInternal.mjs +0 -522
  83. package/dist/shared/hooks/createRootHooks.d.ts +0 -2
  84. package/dist/shared/hooks/createRootHooks.d.ts.map +0 -1
  85. package/dist/shared/hooks/types.d.ts +0 -157
  86. package/dist/shared/hooks/types.d.ts.map +0 -1
  87. package/dist/shared/index.d.ts +0 -22
  88. package/dist/shared/index.d.ts.map +0 -1
  89. package/dist/shared/index.js +0 -22
  90. package/dist/shared/polymorphism/index.d.ts +0 -5
  91. package/dist/shared/polymorphism/index.d.ts.map +0 -1
  92. package/dist/shared/polymorphism/mutationLike.d.ts +0 -17
  93. package/dist/shared/polymorphism/mutationLike.d.ts.map +0 -1
  94. package/dist/shared/polymorphism/queryLike.d.ts +0 -21
  95. package/dist/shared/polymorphism/queryLike.d.ts.map +0 -1
  96. package/dist/shared/polymorphism/routerLike.d.ts +0 -11
  97. package/dist/shared/polymorphism/routerLike.d.ts.map +0 -1
  98. package/dist/shared/polymorphism/utilsLike.d.ts +0 -7
  99. package/dist/shared/polymorphism/utilsLike.d.ts.map +0 -1
  100. package/dist/shared/proxy/decorationProxy.d.ts +0 -8
  101. package/dist/shared/proxy/decorationProxy.d.ts.map +0 -1
  102. package/dist/shared/proxy/decorationProxy.js +0 -30
  103. package/dist/shared/proxy/decorationProxy.mjs +0 -28
  104. package/dist/shared/proxy/useQueriesProxy.d.ts +0 -25
  105. package/dist/shared/proxy/useQueriesProxy.d.ts.map +0 -1
  106. package/dist/shared/proxy/useQueriesProxy.js +0 -27
  107. package/dist/shared/proxy/useQueriesProxy.mjs +0 -25
  108. package/dist/shared/proxy/utilsProxy.d.ts +0 -141
  109. package/dist/shared/proxy/utilsProxy.d.ts.map +0 -1
  110. package/dist/shared/proxy/utilsProxy.js +0 -106
  111. package/dist/shared/proxy/utilsProxy.mjs +0 -102
  112. package/dist/shared/queryClient.d.ts +0 -17
  113. package/dist/shared/queryClient.d.ts.map +0 -1
  114. package/dist/shared/queryClient.js +0 -9
  115. package/dist/shared/queryClient.mjs +0 -7
  116. package/dist/shared/types.d.ts +0 -98
  117. package/dist/shared/types.d.ts.map +0 -1
  118. package/dist/utils/createUtilityFunctions.d.ts +0 -23
  119. package/dist/utils/createUtilityFunctions.d.ts.map +0 -1
  120. package/dist/utils/createUtilityFunctions.js +0 -196
  121. package/dist/utils/createUtilityFunctions.mjs +0 -194
  122. package/dist/utils/inferReactQueryProcedure.d.ts +0 -25
  123. package/dist/utils/inferReactQueryProcedure.d.ts.map +0 -1
  124. package/rsc/index.d.ts +0 -1
  125. package/rsc/index.js +0 -1
  126. package/server/index.d.ts +0 -1
  127. package/server/index.js +0 -1
  128. package/shared/index.d.ts +0 -1
  129. package/shared/index.js +0 -1
package/dist/rsc.js DELETED
@@ -1,130 +0,0 @@
1
- 'use strict';
2
-
3
- var reactQuery = require('@tanstack/react-query');
4
- var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
5
- var React = require('react');
6
- var getQueryKey = require('./internals/getQueryKey.js');
7
-
8
- function _interopNamespaceDefault(e) {
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
20
- }
21
- n.default = e;
22
- return Object.freeze(n);
23
- }
24
-
25
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
26
-
27
- /// <reference types="react/canary" />
28
- const HELPERS = [
29
- 'prefetch',
30
- 'prefetchInfinite'
31
- ];
32
- // ts-prune-ignore-next
33
- /**
34
- * @note This requires `@tanstack/react-query@^5.49.0`
35
- * @note Make sure to have `dehydrate.serializeData` and `hydrate.deserializeData`
36
- * set to your data transformer in your `QueryClient` factory.
37
- * @example
38
- * ```ts
39
- * export const createQueryClient = () =>
40
- * new QueryClient({
41
- * defaultOptions: {
42
- * dehydrate: {
43
- * serializeData: transformer.serialize,
44
- * },
45
- * hydrate: {
46
- * deserializeData: transformer.deserialize,
47
- * },
48
- * },
49
- * });
50
- * ```
51
- */ function createHydrationHelpers(caller, getQueryClient) {
52
- const wrappedProxy = unstableCoreDoNotImport.createRecursiveProxy(async (opts)=>{
53
- const path = [
54
- ...opts.path
55
- ];
56
- const args = [
57
- ...opts.args
58
- ];
59
- const proc = path.reduce((acc, key)=>// @ts-expect-error - ??
60
- HELPERS.includes(key) ? acc : acc[key], caller);
61
- const input = args[0];
62
- const promise = proc(input);
63
- const helper = path.pop();
64
- if (helper === 'prefetch') {
65
- const args1 = args[1];
66
- return getQueryClient().prefetchQuery({
67
- ...args1,
68
- queryKey: getQueryKey.getQueryKeyInternal(path, input, 'query'),
69
- queryFn: ()=>promise
70
- });
71
- }
72
- if (helper === 'prefetchInfinite') {
73
- const args1 = args[1];
74
- return getQueryClient().prefetchInfiniteQuery({
75
- ...args1,
76
- queryKey: getQueryKey.getQueryKeyInternal(path, input, 'infinite'),
77
- queryFn: ()=>promise,
78
- initialPageParam: args1?.initialCursor ?? null
79
- });
80
- }
81
- return promise;
82
- });
83
- function HydrateClient(props) {
84
- const dehydratedState = reactQuery.dehydrate(getQueryClient());
85
- return /*#__PURE__*/ React__namespace.createElement(reactQuery.HydrationBoundary, {
86
- state: dehydratedState
87
- }, props.children);
88
- }
89
- return {
90
- /***
91
- * Wrapped caller with prefetch helpers
92
- * Can be used as a regular [server-side caller](https://trpc.io/docs/server/server-side-calls)
93
- * or using prefetch helpers to put the promise into the QueryClient cache
94
- * @example
95
- * ```ts
96
- * const data = await trpc.post.get("postId");
97
- *
98
- * // or
99
- * void trpc.post.get.prefetch("postId");
100
- * ```
101
- */ trpc: wrappedProxy,
102
- /**
103
- * HoC to hydrate the query client for a client component
104
- * to pick up the prefetched promise and skip an initial
105
- * client-side fetch.
106
- * @example
107
- * ```tsx
108
- * // MyRSC.tsx
109
- * const MyRSC = ({ params }) => {
110
- * void trpc.post.get.prefetch(params.postId);
111
- *
112
- * return (
113
- * <HydrateClient>
114
- * <MyCC postId={params.postId} />
115
- * </HydrateClient>
116
- * );
117
- * };
118
- *
119
- * // MyCC.tsx
120
- * "use client"
121
- * const MyCC = ({ postId }) => {
122
- * const { data: post } = trpc.post.get.useQuery(postId);
123
- * return <div>{post.title}</div>;
124
- * };
125
- * ```
126
- */ HydrateClient
127
- };
128
- }
129
-
130
- exports.createHydrationHelpers = createHydrationHelpers;
@@ -1,2 +0,0 @@
1
- export { createServerSideHelpers } from './ssgProxy';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- var ssgProxy = require('./ssgProxy.js');
4
-
5
-
6
-
7
- exports.createServerSideHelpers = ssgProxy.createServerSideHelpers;
@@ -1,31 +0,0 @@
1
- import type { DehydratedState, DehydrateOptions, QueryClient } from '@tanstack/react-query';
2
- import type { TRPCClient } from '@trpc/client';
3
- import { TRPCUntypedClient } from '@trpc/client';
4
- import { type TransformerOptions } from '@trpc/client/unstable-internals';
5
- import type { AnyQueryProcedure, AnyRootTypes, AnyRouter, inferClientTypes, inferRouterContext, ProtectedIntersection, RouterRecord } from '@trpc/server/unstable-core-do-not-import';
6
- import type { CreateTRPCReactQueryClientConfig, DecorateQueryProcedure } from '../shared';
7
- type CreateSSGHelpersInternal<TRouter extends AnyRouter> = {
8
- router: TRouter;
9
- ctx: inferRouterContext<TRouter>;
10
- } & TransformerOptions<inferClientTypes<TRouter>>;
11
- interface CreateSSGHelpersExternal<TRouter extends AnyRouter> {
12
- client: TRPCClient<TRouter> | TRPCUntypedClient<TRouter>;
13
- }
14
- type CreateServerSideHelpersOptions<TRouter extends AnyRouter> = CreateTRPCReactQueryClientConfig & (CreateSSGHelpersExternal<TRouter> | CreateSSGHelpersInternal<TRouter>);
15
- type SSGFns = 'queryOptions' | 'infiniteQueryOptions' | 'fetch' | 'fetchInfinite' | 'prefetch' | 'prefetchInfinite';
16
- /**
17
- * @internal
18
- */
19
- type DecoratedProcedureSSGRecord<TRoot extends AnyRootTypes, TRecord extends RouterRecord> = {
20
- [TKey in keyof TRecord]: TRecord[TKey] extends infer $Value ? $Value extends AnyQueryProcedure ? Pick<DecorateQueryProcedure<TRoot, $Value>, SSGFns> : $Value extends RouterRecord ? DecoratedProcedureSSGRecord<TRoot, $Value> : never : never;
21
- };
22
- /**
23
- * Create functions you can use for server-side rendering / static generation
24
- * @see https://trpc.io/docs/v11/client/nextjs/server-side-helpers
25
- */
26
- export declare function createServerSideHelpers<TRouter extends AnyRouter>(opts: CreateServerSideHelpersOptions<TRouter>): ProtectedIntersection<{
27
- queryClient: QueryClient;
28
- dehydrate: (opts?: DehydrateOptions) => DehydratedState;
29
- }, DecoratedProcedureSSGRecord<TRouter["_def"]["_config"]["$types"], TRouter["_def"]["record"]>>;
30
- export {};
31
- //# sourceMappingURL=ssgProxy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ssgProxy.d.ts","sourceRoot":"","sources":["../../src/server/ssgProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAoB,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAElB,qBAAqB,EACrB,YAAY,EACb,MAAM,0CAA0C,CAAC;AAQlD,OAAO,KAAK,EACV,gCAAgC,EAChC,sBAAsB,EAGvB,MAAM,WAAW,CAAC;AAGnB,KAAK,wBAAwB,CAAC,OAAO,SAAS,SAAS,IAAI;IACzD,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAElD,UAAU,wBAAwB,CAAC,OAAO,SAAS,SAAS;IAC1D,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;CAC1D;AAED,KAAK,8BAA8B,CAAC,OAAO,SAAS,SAAS,IAC3D,gCAAgC,GAC9B,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE5E,KAAK,MAAM,GACP,cAAc,GACd,sBAAsB,GACtB,OAAO,GACP,eAAe,GACf,UAAU,GACV,kBAAkB,CAAC;AAEvB;;GAEG;AACH,KAAK,2BAA2B,CAC9B,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,IAC1B;KACD,IAAI,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,MAAM,MAAM,GACvD,MAAM,SAAS,iBAAiB,GAC9B,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,GACnD,MAAM,SAAS,YAAY,GACzB,2BAA2B,CAAC,KAAK,EAAE,MAAM,CAAC,GAC1C,KAAK,GACT,KAAK;CACV,CAAC;AAIF;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,SAAS,EAC/D,IAAI,EAAE,8BAA8B,CAAC,OAAO,CAAC;iBAsE5B,WAAW;eACb,CAAC,IAAI,CAAC,EAAE,gBAAgB,KAAK,eAAe;iGAsE5D"}
@@ -1,141 +0,0 @@
1
- 'use strict';
2
-
3
- var reactQuery = require('@tanstack/react-query');
4
- var client = require('@trpc/client');
5
- var unstableInternals = require('@trpc/client/unstable-internals');
6
- var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
7
- var getQueryKey = require('../internals/getQueryKey.js');
8
- var utilsProxy = require('../shared/proxy/utilsProxy.js');
9
- require('react');
10
- require('../internals/context.js');
11
- var queryClient = require('../shared/queryClient.js');
12
-
13
- /**
14
- * Create functions you can use for server-side rendering / static generation
15
- * @see https://trpc.io/docs/v11/client/nextjs/server-side-helpers
16
- */ function createServerSideHelpers(opts) {
17
- const queryClient$1 = queryClient.getQueryClient(opts);
18
- const transformer = unstableInternals.getTransformer(opts.transformer);
19
- const resolvedOpts = (()=>{
20
- if ('router' in opts) {
21
- const { ctx, router } = opts;
22
- return {
23
- serialize: transformer.output.serialize,
24
- query: (queryOpts)=>{
25
- return unstableCoreDoNotImport.callProcedure({
26
- router,
27
- path: queryOpts.path,
28
- getRawInput: async ()=>queryOpts.input,
29
- ctx,
30
- type: 'query',
31
- signal: undefined
32
- });
33
- }
34
- };
35
- }
36
- const { client: client$1 } = opts;
37
- const untypedClient = client$1 instanceof client.TRPCUntypedClient ? client$1 : client.getUntypedClient(client$1);
38
- return {
39
- query: (queryOpts)=>untypedClient.query(queryOpts.path, queryOpts.input),
40
- serialize: (obj)=>transformer.output.serialize(obj)
41
- };
42
- })();
43
- function _dehydrate(opts = {
44
- shouldDehydrateQuery (query) {
45
- if (query.state.status === 'pending') {
46
- return false;
47
- }
48
- // makes sure to serialize errors
49
- return true;
50
- }
51
- }) {
52
- const before = unstableCoreDoNotImport.run(()=>{
53
- const dehydrated = reactQuery.dehydrate(queryClient$1, opts);
54
- return {
55
- ...dehydrated,
56
- queries: dehydrated.queries.map((query)=>{
57
- if (query.promise) {
58
- const { promise: _, ...rest } = query;
59
- return rest;
60
- }
61
- return query;
62
- })
63
- };
64
- });
65
- const after = resolvedOpts.serialize(before);
66
- return after;
67
- }
68
- const proxy = unstableCoreDoNotImport.createRecursiveProxy((opts)=>{
69
- const args = opts.args;
70
- const input = args[0];
71
- const arrayPath = [
72
- ...opts.path
73
- ];
74
- const utilName = arrayPath.pop();
75
- const queryFn = ()=>resolvedOpts.query({
76
- path: arrayPath.join('.'),
77
- input
78
- });
79
- const queryKey = getQueryKey.getQueryKeyInternal(arrayPath, input, utilsProxy.getQueryType(utilName));
80
- const helperMap = {
81
- queryOptions: ()=>{
82
- const args1 = args[1];
83
- return {
84
- ...args1,
85
- queryKey,
86
- queryFn
87
- };
88
- },
89
- infiniteQueryOptions: ()=>{
90
- const args1 = args[1];
91
- return {
92
- ...args1,
93
- queryKey,
94
- queryFn
95
- };
96
- },
97
- fetch: ()=>{
98
- const args1 = args[1];
99
- return queryClient$1.fetchQuery({
100
- ...args1,
101
- queryKey,
102
- queryFn
103
- });
104
- },
105
- fetchInfinite: ()=>{
106
- const args1 = args[1];
107
- return queryClient$1.fetchInfiniteQuery({
108
- ...args1,
109
- queryKey,
110
- queryFn,
111
- initialPageParam: args1?.initialCursor ?? null
112
- });
113
- },
114
- prefetch: ()=>{
115
- const args1 = args[1];
116
- return queryClient$1.prefetchQuery({
117
- ...args1,
118
- queryKey,
119
- queryFn
120
- });
121
- },
122
- prefetchInfinite: ()=>{
123
- const args1 = args[1];
124
- return queryClient$1.prefetchInfiniteQuery({
125
- ...args1,
126
- queryKey,
127
- queryFn,
128
- initialPageParam: args1?.initialCursor ?? null
129
- });
130
- }
131
- };
132
- return helperMap[utilName]();
133
- });
134
- return unstableCoreDoNotImport.createFlatProxy((key)=>{
135
- if (key === 'queryClient') return queryClient$1;
136
- if (key === 'dehydrate') return _dehydrate;
137
- return proxy[key];
138
- });
139
- }
140
-
141
- exports.createServerSideHelpers = createServerSideHelpers;
@@ -1,139 +0,0 @@
1
- import { dehydrate } from '@tanstack/react-query';
2
- import { TRPCUntypedClient, getUntypedClient } from '@trpc/client';
3
- import { getTransformer } from '@trpc/client/unstable-internals';
4
- import { callProcedure, createRecursiveProxy, createFlatProxy, run } from '@trpc/server/unstable-core-do-not-import';
5
- import { getQueryKeyInternal } from '../internals/getQueryKey.mjs';
6
- import { getQueryType } from '../shared/proxy/utilsProxy.mjs';
7
- import 'react';
8
- import '../internals/context.mjs';
9
- import { getQueryClient } from '../shared/queryClient.mjs';
10
-
11
- /**
12
- * Create functions you can use for server-side rendering / static generation
13
- * @see https://trpc.io/docs/v11/client/nextjs/server-side-helpers
14
- */ function createServerSideHelpers(opts) {
15
- const queryClient = getQueryClient(opts);
16
- const transformer = getTransformer(opts.transformer);
17
- const resolvedOpts = (()=>{
18
- if ('router' in opts) {
19
- const { ctx, router } = opts;
20
- return {
21
- serialize: transformer.output.serialize,
22
- query: (queryOpts)=>{
23
- return callProcedure({
24
- router,
25
- path: queryOpts.path,
26
- getRawInput: async ()=>queryOpts.input,
27
- ctx,
28
- type: 'query',
29
- signal: undefined
30
- });
31
- }
32
- };
33
- }
34
- const { client } = opts;
35
- const untypedClient = client instanceof TRPCUntypedClient ? client : getUntypedClient(client);
36
- return {
37
- query: (queryOpts)=>untypedClient.query(queryOpts.path, queryOpts.input),
38
- serialize: (obj)=>transformer.output.serialize(obj)
39
- };
40
- })();
41
- function _dehydrate(opts = {
42
- shouldDehydrateQuery (query) {
43
- if (query.state.status === 'pending') {
44
- return false;
45
- }
46
- // makes sure to serialize errors
47
- return true;
48
- }
49
- }) {
50
- const before = run(()=>{
51
- const dehydrated = dehydrate(queryClient, opts);
52
- return {
53
- ...dehydrated,
54
- queries: dehydrated.queries.map((query)=>{
55
- if (query.promise) {
56
- const { promise: _, ...rest } = query;
57
- return rest;
58
- }
59
- return query;
60
- })
61
- };
62
- });
63
- const after = resolvedOpts.serialize(before);
64
- return after;
65
- }
66
- const proxy = createRecursiveProxy((opts)=>{
67
- const args = opts.args;
68
- const input = args[0];
69
- const arrayPath = [
70
- ...opts.path
71
- ];
72
- const utilName = arrayPath.pop();
73
- const queryFn = ()=>resolvedOpts.query({
74
- path: arrayPath.join('.'),
75
- input
76
- });
77
- const queryKey = getQueryKeyInternal(arrayPath, input, getQueryType(utilName));
78
- const helperMap = {
79
- queryOptions: ()=>{
80
- const args1 = args[1];
81
- return {
82
- ...args1,
83
- queryKey,
84
- queryFn
85
- };
86
- },
87
- infiniteQueryOptions: ()=>{
88
- const args1 = args[1];
89
- return {
90
- ...args1,
91
- queryKey,
92
- queryFn
93
- };
94
- },
95
- fetch: ()=>{
96
- const args1 = args[1];
97
- return queryClient.fetchQuery({
98
- ...args1,
99
- queryKey,
100
- queryFn
101
- });
102
- },
103
- fetchInfinite: ()=>{
104
- const args1 = args[1];
105
- return queryClient.fetchInfiniteQuery({
106
- ...args1,
107
- queryKey,
108
- queryFn,
109
- initialPageParam: args1?.initialCursor ?? null
110
- });
111
- },
112
- prefetch: ()=>{
113
- const args1 = args[1];
114
- return queryClient.prefetchQuery({
115
- ...args1,
116
- queryKey,
117
- queryFn
118
- });
119
- },
120
- prefetchInfinite: ()=>{
121
- const args1 = args[1];
122
- return queryClient.prefetchInfiniteQuery({
123
- ...args1,
124
- queryKey,
125
- queryFn,
126
- initialPageParam: args1?.initialCursor ?? null
127
- });
128
- }
129
- };
130
- return helperMap[utilName]();
131
- });
132
- return createFlatProxy((key)=>{
133
- if (key === 'queryClient') return queryClient;
134
- if (key === 'dehydrate') return _dehydrate;
135
- return proxy[key];
136
- });
137
- }
138
-
139
- export { createServerSideHelpers };
@@ -1,31 +0,0 @@
1
- import type { TRPCClientErrorLike } from '@trpc/client';
2
- import type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';
3
- import type { TRPCContextState } from '../../internals/context';
4
- import type { TRPCUseQueries, TRPCUseSuspenseQueries } from '../../internals/useQueries';
5
- import type { CreateTRPCReactOptions } from '../types';
6
- import type { TRPCProvider, TRPCSubscriptionResult, UseTRPCInfiniteQueryOptions, UseTRPCInfiniteQueryResult, UseTRPCMutationOptions, UseTRPCMutationResult, UseTRPCPrefetchInfiniteQueryOptions, UseTRPCPrefetchQueryOptions, UseTRPCQueryOptions, UseTRPCQueryResult, UseTRPCSubscriptionOptions, UseTRPCSuspenseInfiniteQueryOptions, UseTRPCSuspenseInfiniteQueryResult, UseTRPCSuspenseQueryOptions, UseTRPCSuspenseQueryResult } from './types';
7
- /**
8
- * @internal
9
- */
10
- export declare function createRootHooks<TRouter extends AnyRouter, TSSRContext = unknown>(config?: CreateTRPCReactOptions<TRouter>): {
11
- Provider: TRPCProvider<TRouter, TSSRContext>;
12
- createClient: (opts: import("@trpc/client").CreateTRPCClientOptions<TRouter>) => import("@trpc/client").TRPCClient<TRouter>;
13
- useContext: () => TRPCContextState<TRouter, TSSRContext>;
14
- useUtils: () => TRPCContextState<TRouter, TSSRContext>;
15
- useQuery: (path: readonly string[], input: unknown, opts?: UseTRPCQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => UseTRPCQueryResult<unknown, TRPCClientErrorLike<TRouter>>;
16
- usePrefetchQuery: (path: string[], input: unknown, opts?: UseTRPCPrefetchQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => void;
17
- useSuspenseQuery: (path: readonly string[], input: unknown, opts?: UseTRPCSuspenseQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => UseTRPCSuspenseQueryResult<unknown, TRPCClientErrorLike<TRouter>>;
18
- useQueries: TRPCUseQueries<TRouter>;
19
- useSuspenseQueries: TRPCUseSuspenseQueries<TRouter>;
20
- useMutation: (path: readonly string[], opts?: UseTRPCMutationOptions<unknown, TRPCClientErrorLike<TRouter>, unknown, unknown>) => UseTRPCMutationResult<unknown, TRPCClientErrorLike<TRouter>, unknown, unknown>;
21
- useSubscription: (path: readonly string[], input: unknown, opts: UseTRPCSubscriptionOptions<unknown, TRPCClientErrorLike<TRouter>>) => TRPCSubscriptionResult<unknown, TRPCClientErrorLike<TRouter>>;
22
- useInfiniteQuery: (path: readonly string[], input: unknown, opts: UseTRPCInfiniteQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => UseTRPCInfiniteQueryResult<unknown, TRPCClientErrorLike<TRouter>, unknown>;
23
- usePrefetchInfiniteQuery: (path: string[], input: unknown, opts: UseTRPCPrefetchInfiniteQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => void;
24
- useSuspenseInfiniteQuery: (path: readonly string[], input: unknown, opts: UseTRPCSuspenseInfiniteQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => UseTRPCSuspenseInfiniteQueryResult<unknown, TRPCClientErrorLike<TRouter>, unknown>;
25
- };
26
- /**
27
- * Infer the type of a `createReactQueryHooks` function
28
- * @internal
29
- */
30
- export type CreateReactQueryHooks<TRouter extends AnyRouter, TSSRContext = unknown> = ReturnType<typeof createRootHooks<TRouter, TSSRContext>>;
31
- //# sourceMappingURL=createHooksInternal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createHooksInternal.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/createHooksInternal.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAOxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAG1E,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAY1E,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,UAAU,CAAC;AAC5E,OAAO,KAAK,EACV,YAAY,EAIZ,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,mCAAmC,EACnC,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,mCAAmC,EACnC,kCAAkC,EAClC,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAgBjB;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,SAAS,SAAS,EACzB,WAAW,GAAG,OAAO,EACrB,MAAM,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC;;;;;qBAsFhC,SAAS,MAAM,EAAE,SAChB,OAAO,SACP,mBAAmB,CAAC,OAAO,EAAE,OAAO,+BAAS,KACnD,kBAAkB,CAAC,OAAO,+BAAS;6BAsE9B,MAAM,EAAE,SACP,OAAO,SACP,2BAA2B,CAAC,OAAO,EAAE,OAAO,+BAAS,KAC3D,IAAI;6BAgCC,SAAS,MAAM,EAAE,SAChB,OAAO,SACP,2BAA2B,CAAC,OAAO,EAAE,OAAO,+BAAS,KAC3D,0BAA0B,CAAC,OAAO,+BAAS;;;wBAsCtC,SAAS,MAAM,EAAE,SAChB,sBAAsB,CAAC,OAAO,gCAAU,OAAO,EAAE,OAAO,CAAC,KAC/D,qBAAqB,CAAC,OAAO,gCAAU,OAAO,EAAE,OAAO,CAAC;4BAqDnD,SAAS,MAAM,EAAE,SAChB,OAAO,QACR,0BAA0B,CAAC,OAAO,+BAAS;6BAmJ3C,SAAS,MAAM,EAAE,SAChB,OAAO,QACR,2BAA2B,CAAC,OAAO,EAAE,OAAO,+BAAS,KAC1D,0BAA0B,CAAC,OAAO,gCAAU,OAAO,CAAC;qCAuE/C,MAAM,EAAE,SACP,OAAO,QACR,mCAAmC,CAAC,OAAO,EAAE,OAAO,+BAAS,KAClE,IAAI;qCA6CC,SAAS,MAAM,EAAE,SAChB,OAAO,QACR,mCAAmC,CAAC,OAAO,EAAE,OAAO,+BAAS,KAClE,kCAAkC,CAAC,OAAO,gCAAU,OAAO,CAAC;EAwHhE;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,CAC/B,OAAO,SAAS,SAAS,EACzB,WAAW,GAAG,OAAO,IACnB,UAAU,CAAC,OAAO,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC"}