@trpc/react-query 11.0.0-rc.482 → 11.0.0-rc.487

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.
@@ -1,12 +1,12 @@
1
1
  {
2
- "bundleSize": 34573,
3
- "bundleOrigSize": 72829,
4
- "bundleReduction": 52.53,
2
+ "bundleSize": 36931,
3
+ "bundleOrigSize": 75935,
4
+ "bundleReduction": 51.36,
5
5
  "modules": [
6
6
  {
7
7
  "id": "/src/shared/hooks/createHooksInternal.tsx",
8
- "size": 13979,
9
- "origSize": 15929,
8
+ "size": 16337,
9
+ "origSize": 18424,
10
10
  "renderedExports": [
11
11
  "createRootHooks"
12
12
  ],
@@ -14,8 +14,8 @@
14
14
  "dependents": [
15
15
  "/src/createTRPCReact.tsx"
16
16
  ],
17
- "percent": 40.43,
18
- "reduction": 12.24
17
+ "percent": 44.24,
18
+ "reduction": 11.33
19
19
  },
20
20
  {
21
21
  "id": "/src/utils/createUtilityFunctions.ts",
@@ -29,7 +29,7 @@
29
29
  "/src/createTRPCQueryUtils.tsx",
30
30
  "/src/shared/hooks/createHooksInternal.tsx"
31
31
  ],
32
- "percent": 13.34,
32
+ "percent": 12.49,
33
33
  "reduction": 2.31
34
34
  },
35
35
  {
@@ -43,7 +43,7 @@
43
43
  "dependents": [
44
44
  "/src/server/index.ts"
45
45
  ],
46
- "percent": 10.08,
46
+ "percent": 9.44,
47
47
  "reduction": 52.58
48
48
  },
49
49
  {
@@ -59,7 +59,7 @@
59
59
  "dependents": [
60
60
  "/src/shared/index.ts"
61
61
  ],
62
- "percent": 9.81,
62
+ "percent": 9.18,
63
63
  "reduction": 72.89
64
64
  },
65
65
  {
@@ -71,7 +71,7 @@
71
71
  ],
72
72
  "removedExports": [],
73
73
  "dependents": [],
74
- "percent": 9.35,
74
+ "percent": 8.75,
75
75
  "reduction": 39.66
76
76
  },
77
77
  {
@@ -93,13 +93,13 @@
93
93
  "/src/shared/proxy/useQueriesProxy.ts",
94
94
  "/src/shared/hooks/createHooksInternal.tsx"
95
95
  ],
96
- "percent": 7.25,
96
+ "percent": 6.79,
97
97
  "reduction": 40.21
98
98
  },
99
99
  {
100
100
  "id": "/src/createTRPCReact.tsx",
101
101
  "size": 875,
102
- "origSize": 8354,
102
+ "origSize": 8965,
103
103
  "renderedExports": [
104
104
  "createHooksInternal",
105
105
  "createTRPCReact"
@@ -108,8 +108,8 @@
108
108
  "dependents": [
109
109
  "/src/index.ts"
110
110
  ],
111
- "percent": 2.53,
112
- "reduction": 89.53
111
+ "percent": 2.37,
112
+ "reduction": 90.24
113
113
  },
114
114
  {
115
115
  "id": "/src/shared/proxy/decorationProxy.ts",
@@ -122,7 +122,7 @@
122
122
  "dependents": [
123
123
  "/src/shared/index.ts"
124
124
  ],
125
- "percent": 2.26,
125
+ "percent": 2.12,
126
126
  "reduction": 24
127
127
  },
128
128
  {
@@ -137,7 +137,7 @@
137
137
  "/src/shared/index.ts",
138
138
  "/src/shared/hooks/createHooksInternal.tsx"
139
139
  ],
140
- "percent": 1.65,
140
+ "percent": 1.54,
141
141
  "reduction": 82.1
142
142
  },
143
143
  {
@@ -153,7 +153,7 @@
153
153
  "/src/shared/hooks/createHooksInternal.tsx",
154
154
  "/src/utils/createUtilityFunctions.ts"
155
155
  ],
156
- "percent": 1.37,
156
+ "percent": 1.28,
157
157
  "reduction": 17.31
158
158
  },
159
159
  {
@@ -167,7 +167,7 @@
167
167
  "dependents": [
168
168
  "/src/shared/hooks/createHooksInternal.tsx"
169
169
  ],
170
- "percent": 0.64,
170
+ "percent": 0.6,
171
171
  "reduction": 37.82
172
172
  },
173
173
  {
@@ -181,7 +181,7 @@
181
181
  "dependents": [
182
182
  "/src/index.ts"
183
183
  ],
184
- "percent": 0.47,
184
+ "percent": 0.44,
185
185
  "reduction": 66.6
186
186
  },
187
187
  {
@@ -199,7 +199,7 @@
199
199
  "/src/shared/proxy/utilsProxy.ts",
200
200
  "/src/shared/hooks/createHooksInternal.tsx"
201
201
  ],
202
- "percent": 0.45,
202
+ "percent": 0.42,
203
203
  "reduction": 97.85
204
204
  },
205
205
  {
@@ -213,7 +213,7 @@
213
213
  "dependents": [
214
214
  "/src/shared/index.ts"
215
215
  ],
216
- "percent": 0.37,
216
+ "percent": 0.35,
217
217
  "reduction": 74.9
218
218
  },
219
219
  {
@@ -2,7 +2,7 @@ import type { SkipToken } from '@tanstack/react-query';
2
2
  import type { TRPCClientErrorLike } from '@trpc/client';
3
3
  import type { AnyProcedure, AnyRootTypes, AnyRouter, inferProcedureInput, inferTransformedProcedureOutput, ProcedureType, ProtectedIntersection, RouterRecord } from '@trpc/server/unstable-core-do-not-import';
4
4
  import type { TRPCUseQueries, TRPCUseSuspenseQueries } from './internals/useQueries';
5
- import type { CreateReactUtils } from './shared';
5
+ import type { CreateReactUtils, TRPCFetchInfiniteQueryOptions, TRPCFetchQueryOptions } from './shared';
6
6
  import type { CreateReactQueryHooks } from './shared/hooks/createHooksInternal';
7
7
  import type { CreateClient, DefinedUseTRPCQueryOptions, DefinedUseTRPCQueryResult, TRPCProvider, UseTRPCInfiniteQueryOptions, UseTRPCInfiniteQueryResult, UseTRPCMutationOptions, UseTRPCMutationResult, UseTRPCQueryOptions, UseTRPCQueryResult, UseTRPCSubscriptionOptions, UseTRPCSuspenseInfiniteQueryOptions, UseTRPCSuspenseInfiniteQueryResult, UseTRPCSuspenseQueryOptions, UseTRPCSuspenseQueryResult } from './shared/hooks/types';
8
8
  import type { CreateTRPCReactOptions } from './shared/types';
@@ -25,6 +25,10 @@ export interface ProcedureUseQuery<TDef extends ResolverDef> {
25
25
  }>>;
26
26
  <TQueryFnData extends TDef['output'] = TDef['output'], TData = TQueryFnData>(input: TDef['input'] | SkipToken, opts?: UseTRPCQueryOptions<TQueryFnData, TData, TRPCClientErrorLike<TDef>, TDef['output']>): UseTRPCQueryResult<TData, TRPCClientErrorLike<TDef>>;
27
27
  }
28
+ /**
29
+ * @internal
30
+ */
31
+ export type ProcedureUsePrefetchQuery<TDef extends ResolverDef> = (input: TDef['input'] | SkipToken, opts?: TRPCFetchQueryOptions<TDef['output'], TRPCClientErrorLike<TDef>>) => void;
28
32
  /**
29
33
  * @remark `void` is here due to https://github.com/trpc/trpc/pull/4374
30
34
  */
@@ -40,6 +44,7 @@ export type MaybeDecoratedInfiniteQuery<TDef extends ResolverDef> = TDef['input'
40
44
  * @link https://trpc.io/docs/v11/client/react/suspense#useinfinitesuspensequery
41
45
  */
42
46
  useInfiniteQuery: (input: Omit<TDef['input'], ReservedInfiniteQueryKeys> | SkipToken, opts: UseTRPCInfiniteQueryOptions<TDef['input'], TDef['output'], TRPCClientErrorLike<TDef>>) => UseTRPCInfiniteQueryResult<TDef['output'], TRPCClientErrorLike<TDef>, TDef['input']>;
47
+ usePrefetchInfiniteQuery: (input: Omit<TDef['input'], ReservedInfiniteQueryKeys> | SkipToken, opts: TRPCFetchInfiniteQueryOptions<TDef['input'], TDef['output'], TRPCClientErrorLike<TDef>>) => void;
43
48
  /**
44
49
  * @link https://trpc.io/docs/v11/client/react/suspense
45
50
  */
@@ -53,6 +58,7 @@ export type DecoratedQueryMethods<TDef extends ResolverDef> = {
53
58
  * @link https://trpc.io/docs/v11/client/react/useQuery
54
59
  */
55
60
  useQuery: ProcedureUseQuery<TDef>;
61
+ usePrefetchQuery: ProcedureUsePrefetchQuery<TDef>;
56
62
  /**
57
63
  * @link https://trpc.io/docs/v11/client/react/suspense#usesuspensequery
58
64
  */
@@ -1 +1 @@
1
- {"version":3,"file":"createTRPCReact.d.ts","sourceRoot":"","sources":["../src/createTRPCReact.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createTRPCReact.d.ts","sourceRoot":"","sources":["../src/createTRPCReact.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';
3
3
  import type { TRPCContextState } from '../../internals/context';
4
4
  import type { TRPCUseQueries, TRPCUseSuspenseQueries } from '../../internals/useQueries';
5
5
  import type { CreateTRPCReactOptions } from '../types';
6
- import type { CreateClient, TRPCProvider, UseTRPCInfiniteQueryOptions, UseTRPCInfiniteQueryResult, UseTRPCMutationOptions, UseTRPCMutationResult, UseTRPCQueryOptions, UseTRPCQueryResult, UseTRPCSubscriptionOptions, UseTRPCSuspenseInfiniteQueryOptions, UseTRPCSuspenseInfiniteQueryResult, UseTRPCSuspenseQueryOptions, UseTRPCSuspenseQueryResult } from './types';
6
+ import type { CreateClient, TRPCProvider, UseTRPCInfiniteQueryOptions, UseTRPCInfiniteQueryResult, UseTRPCMutationOptions, UseTRPCMutationResult, UseTRPCPrefetchInfiniteQueryOptions, UseTRPCPrefetchQueryOptions, UseTRPCQueryOptions, UseTRPCQueryResult, UseTRPCSubscriptionOptions, UseTRPCSuspenseInfiniteQueryOptions, UseTRPCSuspenseInfiniteQueryResult, UseTRPCSuspenseQueryOptions, UseTRPCSuspenseQueryResult } from './types';
7
7
  /**
8
8
  * @internal
9
9
  */
@@ -13,12 +13,14 @@ export declare function createRootHooks<TRouter extends AnyRouter, TSSRContext =
13
13
  useContext: () => TRPCContextState<TRouter, TSSRContext>;
14
14
  useUtils: () => TRPCContextState<TRouter, TSSRContext>;
15
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;
16
17
  useSuspenseQuery: (path: readonly string[], input: unknown, opts?: UseTRPCSuspenseQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => UseTRPCSuspenseQueryResult<unknown, TRPCClientErrorLike<TRouter>>;
17
18
  useQueries: TRPCUseQueries<TRouter>;
18
19
  useSuspenseQueries: TRPCUseSuspenseQueries<TRouter>;
19
20
  useMutation: (path: readonly string[], opts?: UseTRPCMutationOptions<unknown, TRPCClientErrorLike<TRouter>, unknown, unknown>) => UseTRPCMutationResult<unknown, TRPCClientErrorLike<TRouter>, unknown, unknown>;
20
21
  useSubscription: (path: readonly string[], input: unknown, opts: UseTRPCSubscriptionOptions<unknown, TRPCClientErrorLike<TRouter>>) => void;
21
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;
22
24
  useSuspenseInfiniteQuery: (path: readonly string[], input: unknown, opts: UseTRPCSuspenseInfiniteQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => UseTRPCSuspenseInfiniteQueryResult<unknown, TRPCClientErrorLike<TRouter>, unknown>;
23
25
  };
24
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"createHooksInternal.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/createHooksInternal.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAG1E,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAS1E,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,UAAU,CAAC;AAC5E,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAEZ,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,mCAAmC,EACnC,kCAAkC,EAClC,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,SAAS,SAAS,EACzB,WAAW,GAAG,OAAO,EACrB,MAAM,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC;;;;;qBAmFhC,SAAS,MAAM,EAAE,SAChB,OAAO,SACP,mBAAmB,CAAC,OAAO,EAAE,OAAO,+BAAS,KACnD,kBAAkB,CAAC,OAAO,+BAAS;6BAqF9B,SAAS,MAAM,EAAE,SAChB,OAAO,SACP,2BAA2B,CAAC,OAAO,EAAE,OAAO,+BAAS,KAC3D,0BAA0B,CAAC,OAAO,+BAAS;;;wBAoCtC,SAAS,MAAM,EAAE,SAChB,sBAAsB,CAAC,OAAO,gCAAU,OAAO,EAAE,OAAO,CAAC,KAC/D,qBAAqB,CAAC,OAAO,gCAAU,OAAO,EAAE,OAAO,CAAC;4BAwCnD,SAAS,MAAM,EAAE,SAChB,OAAO,QACR,0BAA0B,CAAC,OAAO,+BAAS;6BA4C3C,SAAS,MAAM,EAAE,SAChB,OAAO,QACR,2BAA2B,CAAC,OAAO,EAAE,OAAO,+BAAS,KAC1D,0BAA0B,CAAC,OAAO,gCAAU,OAAO,CAAC;qCAuE/C,SAAS,MAAM,EAAE,SAChB,OAAO,QACR,mCAAmC,CAAC,OAAO,EAAE,OAAO,+BAAS,KAClE,kCAAkC,CAAC,OAAO,gCAAU,OAAO,CAAC;EAoHhE;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"}
1
+ {"version":3,"file":"createHooksInternal.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/createHooksInternal.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAG1E,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAS1E,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,UAAU,CAAC;AAC5E,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAEZ,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;AAEjB;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,SAAS,SAAS,EACzB,WAAW,GAAG,OAAO,EACrB,MAAM,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC;;;;;qBAmFhC,SAAS,MAAM,EAAE,SAChB,OAAO,SACP,mBAAmB,CAAC,OAAO,EAAE,OAAO,+BAAS,KACnD,kBAAkB,CAAC,OAAO,+BAAS;6BAqF9B,MAAM,EAAE,SACP,OAAO,SACP,2BAA2B,CAAC,OAAO,EAAE,OAAO,+BAAS,KAC3D,IAAI;6BA+BC,SAAS,MAAM,EAAE,SAChB,OAAO,SACP,2BAA2B,CAAC,OAAO,EAAE,OAAO,+BAAS,KAC3D,0BAA0B,CAAC,OAAO,+BAAS;;;wBAoCtC,SAAS,MAAM,EAAE,SAChB,sBAAsB,CAAC,OAAO,gCAAU,OAAO,EAAE,OAAO,CAAC,KAC/D,qBAAqB,CAAC,OAAO,gCAAU,OAAO,EAAE,OAAO,CAAC;4BAuCnD,SAAS,MAAM,EAAE,SAChB,OAAO,QACR,0BAA0B,CAAC,OAAO,+BAAS;6BA4C3C,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;EAsHhE;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"}
@@ -151,6 +151,26 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
151
151
  });
152
152
  return hook;
153
153
  }
154
+ function usePrefetchQuery(path, input, opts) {
155
+ const context = useContext();
156
+ const queryKey = getQueryKey.getQueryKeyInternal(path, input, 'query');
157
+ const isInputSkipToken = input === reactQuery.skipToken;
158
+ const shouldAbortOnUnmount = opts?.trpc?.abortOnUnmount ?? config?.abortOnUnmount ?? context.abortOnUnmount;
159
+ reactQuery.usePrefetchQuery({
160
+ ...opts,
161
+ queryKey: queryKey,
162
+ queryFn: isInputSkipToken ? input : (queryFunctionContext)=>{
163
+ const actualOpts = {
164
+ trpc: {
165
+ ...shouldAbortOnUnmount ? {
166
+ signal: queryFunctionContext.signal
167
+ } : {}
168
+ }
169
+ };
170
+ return context.client.query(...getClientArgs.getClientArgs(queryKey, actualOpts));
171
+ }
172
+ });
173
+ }
154
174
  function useSuspenseQuery(path, input, opts) {
155
175
  const context = useContext();
156
176
  const queryKey = getQueryKey.getQueryKeyInternal(path, input, 'query');
@@ -180,8 +200,7 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
180
200
  ];
181
201
  }
182
202
  function useMutation(path, opts) {
183
- const { client } = useContext();
184
- const queryClient = reactQuery.useQueryClient();
203
+ const { client , queryClient } = useContext();
185
204
  const mutationKey = getQueryKey.getMutationKeyInternal(path);
186
205
  const defaultOpts = queryClient.defaultMutationOptions(queryClient.getMutationDefaults(mutationKey));
187
206
  const hook = reactQuery.useMutation({
@@ -294,6 +313,38 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
294
313
  });
295
314
  return hook;
296
315
  }
316
+ function usePrefetchInfiniteQuery(path, input, opts) {
317
+ const context = useContext();
318
+ const queryKey = getQueryKey.getQueryKeyInternal(path, input, 'infinite');
319
+ const defaultOpts = context.queryClient.getQueryDefaults(queryKey);
320
+ const isInputSkipToken = input === reactQuery.skipToken;
321
+ const ssrOpts = useSSRQueryOptionsIfNeeded(queryKey, {
322
+ ...defaultOpts,
323
+ ...opts
324
+ });
325
+ // request option should take priority over global
326
+ const shouldAbortOnUnmount = opts?.trpc?.abortOnUnmount ?? context.abortOnUnmount;
327
+ reactQuery.usePrefetchInfiniteQuery({
328
+ ...opts,
329
+ initialPageParam: opts.initialCursor ?? null,
330
+ queryKey,
331
+ queryFn: isInputSkipToken ? input : (queryFunctionContext)=>{
332
+ const actualOpts = {
333
+ ...ssrOpts,
334
+ trpc: {
335
+ ...ssrOpts?.trpc,
336
+ ...shouldAbortOnUnmount ? {
337
+ signal: queryFunctionContext.signal
338
+ } : {}
339
+ }
340
+ };
341
+ return context.client.query(...getClientArgs.getClientArgs(queryKey, actualOpts, {
342
+ pageParam: queryFunctionContext.pageParam ?? opts.initialCursor,
343
+ direction: queryFunctionContext.direction
344
+ }));
345
+ }
346
+ });
347
+ }
297
348
  function useSuspenseInfiniteQuery(path, input, opts) {
298
349
  const context = useContext();
299
350
  const queryKey = getQueryKey.getQueryKeyInternal(path, input, 'infinite');
@@ -375,12 +426,14 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
375
426
  useContext,
376
427
  useUtils: useContext,
377
428
  useQuery,
429
+ usePrefetchQuery,
378
430
  useSuspenseQuery,
379
431
  useQueries,
380
432
  useSuspenseQueries,
381
433
  useMutation,
382
434
  useSubscription,
383
435
  useInfiniteQuery,
436
+ usePrefetchInfiniteQuery,
384
437
  useSuspenseInfiniteQuery
385
438
  };
386
439
  }
@@ -1,4 +1,4 @@
1
- import { useQuery, useSuspenseQuery, useQueryClient, useMutation, skipToken, hashKey, useInfiniteQuery, useSuspenseInfiniteQuery, useQueries, useSuspenseQueries } from '@tanstack/react-query';
1
+ import { useQuery, usePrefetchQuery, useSuspenseQuery, useMutation, skipToken, hashKey, useInfiniteQuery, usePrefetchInfiniteQuery, useSuspenseInfiniteQuery, useQueries, useSuspenseQueries } from '@tanstack/react-query';
2
2
  import { createTRPCUntypedClient } from '@trpc/client';
3
3
  import { isAsyncIterable } from '@trpc/server/unstable-core-do-not-import';
4
4
  import * as React from 'react';
@@ -130,6 +130,26 @@ import { createUseQueries } from '../proxy/useQueriesProxy.mjs';
130
130
  });
131
131
  return hook;
132
132
  }
133
+ function usePrefetchQuery$1(path, input, opts) {
134
+ const context = useContext();
135
+ const queryKey = getQueryKeyInternal(path, input, 'query');
136
+ const isInputSkipToken = input === skipToken;
137
+ const shouldAbortOnUnmount = opts?.trpc?.abortOnUnmount ?? config?.abortOnUnmount ?? context.abortOnUnmount;
138
+ usePrefetchQuery({
139
+ ...opts,
140
+ queryKey: queryKey,
141
+ queryFn: isInputSkipToken ? input : (queryFunctionContext)=>{
142
+ const actualOpts = {
143
+ trpc: {
144
+ ...shouldAbortOnUnmount ? {
145
+ signal: queryFunctionContext.signal
146
+ } : {}
147
+ }
148
+ };
149
+ return context.client.query(...getClientArgs(queryKey, actualOpts));
150
+ }
151
+ });
152
+ }
133
153
  function useSuspenseQuery$1(path, input, opts) {
134
154
  const context = useContext();
135
155
  const queryKey = getQueryKeyInternal(path, input, 'query');
@@ -159,8 +179,7 @@ import { createUseQueries } from '../proxy/useQueriesProxy.mjs';
159
179
  ];
160
180
  }
161
181
  function useMutation$1(path, opts) {
162
- const { client } = useContext();
163
- const queryClient = useQueryClient();
182
+ const { client , queryClient } = useContext();
164
183
  const mutationKey = getMutationKeyInternal(path);
165
184
  const defaultOpts = queryClient.defaultMutationOptions(queryClient.getMutationDefaults(mutationKey));
166
185
  const hook = useMutation({
@@ -273,6 +292,38 @@ import { createUseQueries } from '../proxy/useQueriesProxy.mjs';
273
292
  });
274
293
  return hook;
275
294
  }
295
+ function usePrefetchInfiniteQuery$1(path, input, opts) {
296
+ const context = useContext();
297
+ const queryKey = getQueryKeyInternal(path, input, 'infinite');
298
+ const defaultOpts = context.queryClient.getQueryDefaults(queryKey);
299
+ const isInputSkipToken = input === skipToken;
300
+ const ssrOpts = useSSRQueryOptionsIfNeeded(queryKey, {
301
+ ...defaultOpts,
302
+ ...opts
303
+ });
304
+ // request option should take priority over global
305
+ const shouldAbortOnUnmount = opts?.trpc?.abortOnUnmount ?? context.abortOnUnmount;
306
+ usePrefetchInfiniteQuery({
307
+ ...opts,
308
+ initialPageParam: opts.initialCursor ?? null,
309
+ queryKey,
310
+ queryFn: isInputSkipToken ? input : (queryFunctionContext)=>{
311
+ const actualOpts = {
312
+ ...ssrOpts,
313
+ trpc: {
314
+ ...ssrOpts?.trpc,
315
+ ...shouldAbortOnUnmount ? {
316
+ signal: queryFunctionContext.signal
317
+ } : {}
318
+ }
319
+ };
320
+ return context.client.query(...getClientArgs(queryKey, actualOpts, {
321
+ pageParam: queryFunctionContext.pageParam ?? opts.initialCursor,
322
+ direction: queryFunctionContext.direction
323
+ }));
324
+ }
325
+ });
326
+ }
276
327
  function useSuspenseInfiniteQuery$1(path, input, opts) {
277
328
  const context = useContext();
278
329
  const queryKey = getQueryKeyInternal(path, input, 'infinite');
@@ -354,12 +405,14 @@ import { createUseQueries } from '../proxy/useQueriesProxy.mjs';
354
405
  useContext,
355
406
  useUtils: useContext,
356
407
  useQuery: useQuery$1,
408
+ usePrefetchQuery: usePrefetchQuery$1,
357
409
  useSuspenseQuery: useSuspenseQuery$1,
358
410
  useQueries: useQueries$1,
359
411
  useSuspenseQueries: useSuspenseQueries$1,
360
412
  useMutation: useMutation$1,
361
413
  useSubscription,
362
414
  useInfiniteQuery: useInfiniteQuery$1,
415
+ usePrefetchInfiniteQuery: usePrefetchInfiniteQuery$1,
363
416
  useSuspenseInfiniteQuery: useSuspenseInfiniteQuery$1
364
417
  };
365
418
  }
@@ -1,4 +1,4 @@
1
- import type { DefinedUseQueryResult, DehydratedState, InfiniteData, InfiniteQueryObserverSuccessResult, InitialDataFunction, QueryObserverSuccessResult, QueryOptions, UseBaseQueryOptions, UseInfiniteQueryOptions, UseInfiniteQueryResult, UseMutationOptions, UseMutationResult, UseQueryResult, UseSuspenseInfiniteQueryOptions, UseSuspenseInfiniteQueryResult, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query';
1
+ import type { DefinedUseQueryResult, DehydratedState, FetchInfiniteQueryOptions, FetchQueryOptions, InfiniteData, InfiniteQueryObserverSuccessResult, InitialDataFunction, QueryObserverSuccessResult, QueryOptions, UseBaseQueryOptions, UseInfiniteQueryOptions, UseInfiniteQueryResult, UseMutationOptions, UseMutationResult, UseQueryResult, UseSuspenseInfiniteQueryOptions, UseSuspenseInfiniteQueryResult, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query';
2
2
  import type { CreateTRPCClientOptions, TRPCRequestOptions, TRPCUntypedClient } from '@trpc/client';
3
3
  import type { AnyRouter, DistributiveOmit } from '@trpc/server/unstable-core-do-not-import';
4
4
  import type { ReactNode } from 'react';
@@ -28,6 +28,8 @@ export interface UseTRPCQueryOptions<TOutput, TData, TError, TQueryOptsData = TO
28
28
  }
29
29
  export interface UseTRPCSuspenseQueryOptions<TOutput, TData, TError> extends DistributiveOmit<UseSuspenseQueryOptions<TOutput, TError, TData, any>, 'queryKey'>, TRPCUseQueryBaseOptions {
30
30
  }
31
+ export interface UseTRPCPrefetchQueryOptions<TOutput, TData, TError> extends DistributiveOmit<FetchQueryOptions<TOutput, TError, TData, any>, 'queryKey'>, TRPCUseQueryBaseOptions {
32
+ }
31
33
  /** @internal **/
32
34
  export interface DefinedUseTRPCQueryOptions<TOutput, TData, TError, TQueryOptsData = TOutput> extends DistributiveOmit<UseTRPCQueryOptions<TOutput, TData, TError, TQueryOptsData>, 'queryKey'> {
33
35
  initialData: InitialDataFunction<TQueryOptsData> | TQueryOptsData;
@@ -41,6 +43,9 @@ export type ExtractCursorType<TInput> = TInput extends {
41
43
  export interface UseTRPCInfiniteQueryOptions<TInput, TOutput, TError> extends DistributiveOmit<UseInfiniteQueryOptions<TOutput, TError, TOutput, TOutput, any, ExtractCursorType<TInput>>, 'queryKey' | 'initialPageParam'>, TRPCUseQueryBaseOptions {
42
44
  initialCursor?: ExtractCursorType<TInput>;
43
45
  }
46
+ export type UseTRPCPrefetchInfiniteQueryOptions<TInput, TOutput, TError> = DistributiveOmit<FetchInfiniteQueryOptions<TOutput, TError, TOutput, any, ExtractCursorType<TInput>>, 'queryKey' | 'initialPageParam'> & TRPCUseQueryBaseOptions & {
47
+ initialCursor?: ExtractCursorType<TInput>;
48
+ };
44
49
  export interface UseTRPCSuspenseInfiniteQueryOptions<TInput, TOutput, TError> extends DistributiveOmit<UseSuspenseInfiniteQueryOptions<TOutput, TError, TOutput, TOutput, any, ExtractCursorType<TInput>>, 'queryKey' | 'initialPageParam'>, TRPCUseQueryBaseOptions {
45
50
  initialCursor?: ExtractCursorType<TInput>;
46
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/react-query",
3
- "version": "11.0.0-rc.482+930e652bf",
3
+ "version": "11.0.0-rc.487+3cf8f49f5",
4
4
  "description": "The tRPC React library",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -64,15 +64,15 @@
64
64
  },
65
65
  "peerDependencies": {
66
66
  "@tanstack/react-query": "^5.49.2",
67
- "@trpc/client": "11.0.0-rc.482+930e652bf",
68
- "@trpc/server": "11.0.0-rc.482+930e652bf",
67
+ "@trpc/client": "11.0.0-rc.487+3cf8f49f5",
68
+ "@trpc/server": "11.0.0-rc.487+3cf8f49f5",
69
69
  "react": ">=18.2.0",
70
70
  "react-dom": ">=18.2.0"
71
71
  },
72
72
  "devDependencies": {
73
73
  "@tanstack/react-query": "^5.51.11",
74
- "@trpc/client": "11.0.0-rc.482+930e652bf",
75
- "@trpc/server": "11.0.0-rc.482+930e652bf",
74
+ "@trpc/client": "11.0.0-rc.487+3cf8f49f5",
75
+ "@trpc/server": "11.0.0-rc.487+3cf8f49f5",
76
76
  "@types/express": "^4.17.17",
77
77
  "@types/node": "^20.10.0",
78
78
  "@types/react": "^18.3.1",
@@ -92,5 +92,5 @@
92
92
  "funding": [
93
93
  "https://trpc.io/sponsor"
94
94
  ],
95
- "gitHead": "930e652bf9edf2ddbd24b3f75d70e887ad31f10e"
95
+ "gitHead": "3cf8f49f5b2ca262d7a13ad780f3e76956922cbb"
96
96
  }
@@ -16,7 +16,11 @@ import type {
16
16
  TRPCUseQueries,
17
17
  TRPCUseSuspenseQueries,
18
18
  } from './internals/useQueries';
19
- import type { CreateReactUtils } from './shared';
19
+ import type {
20
+ CreateReactUtils,
21
+ TRPCFetchInfiniteQueryOptions,
22
+ TRPCFetchQueryOptions,
23
+ } from './shared';
20
24
  import { createReactDecoration, createReactQueryUtils } from './shared';
21
25
  import type { CreateReactQueryHooks } from './shared/hooks/createHooksInternal';
22
26
  import { createRootHooks } from './shared/hooks/createHooksInternal';
@@ -79,6 +83,14 @@ export interface ProcedureUseQuery<TDef extends ResolverDef> {
79
83
  ): UseTRPCQueryResult<TData, TRPCClientErrorLike<TDef>>;
80
84
  }
81
85
 
86
+ /**
87
+ * @internal
88
+ */
89
+ export type ProcedureUsePrefetchQuery<TDef extends ResolverDef> = (
90
+ input: TDef['input'] | SkipToken,
91
+ opts?: TRPCFetchQueryOptions<TDef['output'], TRPCClientErrorLike<TDef>>,
92
+ ) => void;
93
+
82
94
  /**
83
95
  * @remark `void` is here due to https://github.com/trpc/trpc/pull/4374
84
96
  */
@@ -108,6 +120,14 @@ export type MaybeDecoratedInfiniteQuery<TDef extends ResolverDef> =
108
120
  TRPCClientErrorLike<TDef>,
109
121
  TDef['input']
110
122
  >;
123
+ usePrefetchInfiniteQuery: (
124
+ input: Omit<TDef['input'], ReservedInfiniteQueryKeys> | SkipToken,
125
+ opts: TRPCFetchInfiniteQueryOptions<
126
+ TDef['input'],
127
+ TDef['output'],
128
+ TRPCClientErrorLike<TDef>
129
+ >,
130
+ ) => void;
111
131
  /**
112
132
  * @link https://trpc.io/docs/v11/client/react/suspense
113
133
  */
@@ -134,6 +154,7 @@ export type DecoratedQueryMethods<TDef extends ResolverDef> = {
134
154
  * @link https://trpc.io/docs/v11/client/react/useQuery
135
155
  */
136
156
  useQuery: ProcedureUseQuery<TDef>;
157
+ usePrefetchQuery: ProcedureUsePrefetchQuery<TDef>;
137
158
  /**
138
159
  * @link https://trpc.io/docs/v11/client/react/suspense#usesuspensequery
139
160
  */
@@ -1,14 +1,15 @@
1
1
  import {
2
2
  useInfiniteQuery as __useInfiniteQuery,
3
3
  useMutation as __useMutation,
4
+ usePrefetchInfiniteQuery as __usePrefetchInfiniteQuery,
4
5
  useQueries as __useQueries,
5
6
  useQuery as __useQuery,
6
7
  useSuspenseInfiniteQuery as __useSuspenseInfiniteQuery,
7
8
  useSuspenseQueries as __useSuspenseQueries,
8
9
  useSuspenseQuery as __useSuspenseQuery,
10
+ usePrefetchQuery as _usePrefetchQuery,
9
11
  hashKey,
10
12
  skipToken,
11
- useQueryClient,
12
13
  } from '@tanstack/react-query';
13
14
  import type { TRPCClientErrorLike } from '@trpc/client';
14
15
  import { createTRPCUntypedClient } from '@trpc/client';
@@ -39,6 +40,8 @@ import type {
39
40
  UseTRPCInfiniteQueryResult,
40
41
  UseTRPCMutationOptions,
41
42
  UseTRPCMutationResult,
43
+ UseTRPCPrefetchInfiniteQueryOptions,
44
+ UseTRPCPrefetchQueryOptions,
42
45
  UseTRPCQueryOptions,
43
46
  UseTRPCQueryResult,
44
47
  UseTRPCSubscriptionOptions,
@@ -224,6 +227,40 @@ export function createRootHooks<
224
227
  return hook;
225
228
  }
226
229
 
230
+ function usePrefetchQuery(
231
+ path: string[],
232
+ input: unknown,
233
+ opts?: UseTRPCPrefetchQueryOptions<unknown, unknown, TError>,
234
+ ): void {
235
+ const context = useContext();
236
+ const queryKey = getQueryKeyInternal(path, input, 'query');
237
+
238
+ const isInputSkipToken = input === skipToken;
239
+
240
+ const shouldAbortOnUnmount =
241
+ opts?.trpc?.abortOnUnmount ??
242
+ config?.abortOnUnmount ??
243
+ context.abortOnUnmount;
244
+
245
+ _usePrefetchQuery({
246
+ ...opts,
247
+ queryKey: queryKey as any,
248
+ queryFn: isInputSkipToken
249
+ ? input
250
+ : (queryFunctionContext) => {
251
+ const actualOpts = {
252
+ trpc: {
253
+ ...(shouldAbortOnUnmount
254
+ ? { signal: queryFunctionContext.signal }
255
+ : {}),
256
+ },
257
+ };
258
+
259
+ return context.client.query(...getClientArgs(queryKey, actualOpts));
260
+ },
261
+ });
262
+ }
263
+
227
264
  function useSuspenseQuery(
228
265
  path: readonly string[],
229
266
  input: unknown,
@@ -267,8 +304,7 @@ export function createRootHooks<
267
304
  path: readonly string[],
268
305
  opts?: UseTRPCMutationOptions<unknown, TError, unknown, unknown>,
269
306
  ): UseTRPCMutationResult<unknown, TError, unknown, unknown> {
270
- const { client } = useContext();
271
- const queryClient = useQueryClient();
307
+ const { client, queryClient } = useContext();
272
308
 
273
309
  const mutationKey = getMutationKeyInternal(path);
274
310
 
@@ -425,6 +461,54 @@ export function createRootHooks<
425
461
  return hook;
426
462
  }
427
463
 
464
+ function usePrefetchInfiniteQuery(
465
+ path: string[],
466
+ input: unknown,
467
+ opts: UseTRPCPrefetchInfiniteQueryOptions<unknown, unknown, TError>,
468
+ ): void {
469
+ const context = useContext();
470
+ const queryKey = getQueryKeyInternal(path, input, 'infinite');
471
+
472
+ const defaultOpts = context.queryClient.getQueryDefaults(queryKey);
473
+
474
+ const isInputSkipToken = input === skipToken;
475
+
476
+ const ssrOpts = useSSRQueryOptionsIfNeeded(queryKey, {
477
+ ...defaultOpts,
478
+ ...opts,
479
+ });
480
+
481
+ // request option should take priority over global
482
+ const shouldAbortOnUnmount =
483
+ opts?.trpc?.abortOnUnmount ?? context.abortOnUnmount;
484
+
485
+ __usePrefetchInfiniteQuery({
486
+ ...opts,
487
+ initialPageParam: opts.initialCursor ?? null,
488
+ queryKey,
489
+ queryFn: isInputSkipToken
490
+ ? input
491
+ : (queryFunctionContext) => {
492
+ const actualOpts = {
493
+ ...ssrOpts,
494
+ trpc: {
495
+ ...ssrOpts?.trpc,
496
+ ...(shouldAbortOnUnmount
497
+ ? { signal: queryFunctionContext.signal }
498
+ : {}),
499
+ },
500
+ };
501
+
502
+ return context.client.query(
503
+ ...getClientArgs(queryKey, actualOpts, {
504
+ pageParam: queryFunctionContext.pageParam ?? opts.initialCursor,
505
+ direction: queryFunctionContext.direction,
506
+ }),
507
+ );
508
+ },
509
+ });
510
+ }
511
+
428
512
  function useSuspenseInfiniteQuery(
429
513
  path: readonly string[],
430
514
  input: unknown,
@@ -537,12 +621,14 @@ export function createRootHooks<
537
621
  useContext,
538
622
  useUtils: useContext,
539
623
  useQuery,
624
+ usePrefetchQuery,
540
625
  useSuspenseQuery,
541
626
  useQueries,
542
627
  useSuspenseQueries,
543
628
  useMutation,
544
629
  useSubscription,
545
630
  useInfiniteQuery,
631
+ usePrefetchInfiniteQuery,
546
632
  useSuspenseInfiniteQuery,
547
633
  };
548
634
  }
@@ -1,6 +1,8 @@
1
1
  import type {
2
2
  DefinedUseQueryResult,
3
3
  DehydratedState,
4
+ FetchInfiniteQueryOptions,
5
+ FetchQueryOptions,
4
6
  InfiniteData,
5
7
  InfiniteQueryObserverSuccessResult,
6
8
  InitialDataFunction,
@@ -73,6 +75,13 @@ export interface UseTRPCSuspenseQueryOptions<TOutput, TData, TError>
73
75
  >,
74
76
  TRPCUseQueryBaseOptions {}
75
77
 
78
+ export interface UseTRPCPrefetchQueryOptions<TOutput, TData, TError>
79
+ extends DistributiveOmit<
80
+ FetchQueryOptions<TOutput, TError, TData, any>,
81
+ 'queryKey'
82
+ >,
83
+ TRPCUseQueryBaseOptions {}
84
+
76
85
  /** @internal **/
77
86
  export interface DefinedUseTRPCQueryOptions<
78
87
  TOutput,
@@ -112,6 +121,21 @@ export interface UseTRPCInfiniteQueryOptions<TInput, TOutput, TError>
112
121
  initialCursor?: ExtractCursorType<TInput>;
113
122
  }
114
123
 
124
+ export type UseTRPCPrefetchInfiniteQueryOptions<TInput, TOutput, TError> =
125
+ DistributiveOmit<
126
+ FetchInfiniteQueryOptions<
127
+ TOutput,
128
+ TError,
129
+ TOutput,
130
+ any,
131
+ ExtractCursorType<TInput>
132
+ >,
133
+ 'queryKey' | 'initialPageParam'
134
+ > &
135
+ TRPCUseQueryBaseOptions & {
136
+ initialCursor?: ExtractCursorType<TInput>;
137
+ };
138
+
115
139
  export interface UseTRPCSuspenseInfiniteQueryOptions<TInput, TOutput, TError>
116
140
  extends DistributiveOmit<
117
141
  UseSuspenseInfiniteQueryOptions<