@trpc/react-query 10.0.0-rc.7 → 10.0.0-rc.8

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/README.md CHANGED
@@ -22,13 +22,13 @@ Full documentation for `@trpc/react-query` can be found [here](https://trpc.io/d
22
22
 
23
23
  ```bash
24
24
  # npm
25
- npm install @trpc/react-query@next @tanstack/react-query
25
+ npm install @trpc/react-query @tanstack/react-query
26
26
 
27
27
  # Yarn
28
- yarn add @trpc/react-query@next @tanstack/react-query
28
+ yarn add @trpc/react-query @tanstack/react-query
29
29
 
30
30
  # pnpm
31
- pnpm add @trpc/react-query@next @tanstack/react-query
31
+ pnpm add @trpc/react-query @tanstack/react-query
32
32
  ```
33
33
 
34
34
  ## Basic Example
@@ -2,7 +2,7 @@ import { createRecursiveProxy, createFlatProxy } from '@trpc/server/shared';
2
2
  import { createTRPCClientProxy, createTRPCClient } from '@trpc/client';
3
3
  import { useQuery, useQueryClient, useMutation, hashQueryKey, useInfiniteQuery } from '@tanstack/react-query';
4
4
  import React, { createContext, useState, useEffect, useCallback, useMemo, useRef } from 'react';
5
- import { g as getArrayQueryKey } from './getArrayQueryKey-e56d8d64.mjs';
5
+ import { g as getArrayQueryKey } from './getArrayQueryKey-c6f6badf.mjs';
6
6
 
7
7
  /**
8
8
  * We treat `undefined` as an input the same as omitting an `input`
@@ -159,13 +159,13 @@ function getClientArgs(pathAndInput, opts) {
159
159
  ssrContext: ssrContext || null,
160
160
  ssrState,
161
161
  fetchQuery: useCallback((pathAndInput, opts)=>{
162
- return queryClient.fetchQuery(getArrayQueryKey(pathAndInput), ()=>client.query(...getClientArgs(pathAndInput, opts)), opts);
162
+ return queryClient.fetchQuery(getArrayQueryKey(pathAndInput, 'query'), ()=>client.query(...getClientArgs(pathAndInput, opts)), opts);
163
163
  }, [
164
164
  client,
165
165
  queryClient
166
166
  ]),
167
167
  fetchInfiniteQuery: useCallback((pathAndInput, opts)=>{
168
- return queryClient.fetchInfiniteQuery(getArrayQueryKey(pathAndInput), ({ pageParam })=>{
168
+ return queryClient.fetchInfiniteQuery(getArrayQueryKey(pathAndInput, 'infinite'), ({ pageParam })=>{
169
169
  const [path, input] = pathAndInput;
170
170
  const actualInput = {
171
171
  ...input,
@@ -181,13 +181,13 @@ function getClientArgs(pathAndInput, opts) {
181
181
  queryClient
182
182
  ]),
183
183
  prefetchQuery: useCallback((pathAndInput, opts)=>{
184
- return queryClient.prefetchQuery(getArrayQueryKey(pathAndInput), ()=>client.query(...getClientArgs(pathAndInput, opts)), opts);
184
+ return queryClient.prefetchQuery(getArrayQueryKey(pathAndInput, 'query'), ()=>client.query(...getClientArgs(pathAndInput, opts)), opts);
185
185
  }, [
186
186
  client,
187
187
  queryClient
188
188
  ]),
189
189
  prefetchInfiniteQuery: useCallback((pathAndInput, opts)=>{
190
- return queryClient.prefetchInfiniteQuery(getArrayQueryKey(pathAndInput), ({ pageParam })=>{
190
+ return queryClient.prefetchInfiniteQuery(getArrayQueryKey(pathAndInput, 'infinite'), ({ pageParam })=>{
191
191
  const [path, input] = pathAndInput;
192
192
  const actualInput = {
193
193
  ...input,
@@ -204,42 +204,42 @@ function getClientArgs(pathAndInput, opts) {
204
204
  ]),
205
205
  invalidateQueries: useCallback((...args)=>{
206
206
  const [queryKey, ...rest] = args;
207
- return queryClient.invalidateQueries(getArrayQueryKey(queryKey), ...rest);
207
+ return queryClient.invalidateQueries(getArrayQueryKey(queryKey, 'any'), ...rest);
208
208
  }, [
209
209
  queryClient
210
210
  ]),
211
211
  refetchQueries: useCallback((...args)=>{
212
212
  const [queryKey, ...rest] = args;
213
- return queryClient.refetchQueries(getArrayQueryKey(queryKey), ...rest);
213
+ return queryClient.refetchQueries(getArrayQueryKey(queryKey, 'any'), ...rest);
214
214
  }, [
215
215
  queryClient
216
216
  ]),
217
217
  cancelQuery: useCallback((pathAndInput)=>{
218
- return queryClient.cancelQueries(getArrayQueryKey(pathAndInput));
218
+ return queryClient.cancelQueries(getArrayQueryKey(pathAndInput, 'any'));
219
219
  }, [
220
220
  queryClient
221
221
  ]),
222
222
  setQueryData: useCallback((...args)=>{
223
223
  const [queryKey, ...rest] = args;
224
- return queryClient.setQueryData(getArrayQueryKey(queryKey), ...rest);
224
+ return queryClient.setQueryData(getArrayQueryKey(queryKey, 'query'), ...rest);
225
225
  }, [
226
226
  queryClient
227
227
  ]),
228
228
  getQueryData: useCallback((...args)=>{
229
229
  const [queryKey, ...rest] = args;
230
- return queryClient.getQueryData(getArrayQueryKey(queryKey), ...rest);
230
+ return queryClient.getQueryData(getArrayQueryKey(queryKey, 'query'), ...rest);
231
231
  }, [
232
232
  queryClient
233
233
  ]),
234
234
  setInfiniteQueryData: useCallback((...args)=>{
235
235
  const [queryKey, ...rest] = args;
236
- return queryClient.setQueryData(getArrayQueryKey(queryKey), ...rest);
236
+ return queryClient.setQueryData(getArrayQueryKey(queryKey, 'infinite'), ...rest);
237
237
  }, [
238
238
  queryClient
239
239
  ]),
240
240
  getInfiniteQueryData: useCallback((...args)=>{
241
241
  const [queryKey, ...rest] = args;
242
- return queryClient.getQueryData(getArrayQueryKey(queryKey), ...rest);
242
+ return queryClient.getQueryData(getArrayQueryKey(queryKey, 'infinite'), ...rest);
243
243
  }, [
244
244
  queryClient
245
245
  ])
@@ -252,22 +252,22 @@ function getClientArgs(pathAndInput, opts) {
252
252
  /**
253
253
  * Hack to make sure errors return `status`='error` when doing SSR
254
254
  * @link https://github.com/trpc/trpc/pull/1645
255
- */ function useSSRQueryOptionsIfNeeded(pathAndInput, opts) {
255
+ */ function useSSRQueryOptionsIfNeeded(pathAndInput, type, opts) {
256
256
  const { queryClient , ssrState } = useContext();
257
- return ssrState && ssrState !== 'mounted' && queryClient.getQueryCache().find(getArrayQueryKey(pathAndInput))?.state.status === 'error' ? {
257
+ return ssrState && ssrState !== 'mounted' && queryClient.getQueryCache().find(getArrayQueryKey(pathAndInput, type))?.state.status === 'error' ? {
258
258
  retryOnMount: false,
259
259
  ...opts
260
260
  } : opts;
261
261
  }
262
262
  function useQuery$1(pathAndInput, opts) {
263
263
  const { abortOnUnmount , client , ssrState , queryClient , prefetchQuery } = useContext();
264
- if (typeof window === 'undefined' && ssrState === 'prepass' && opts?.trpc?.ssr !== false && opts?.enabled !== false && !queryClient.getQueryCache().find(getArrayQueryKey(pathAndInput))) {
264
+ if (typeof window === 'undefined' && ssrState === 'prepass' && opts?.trpc?.ssr !== false && opts?.enabled !== false && !queryClient.getQueryCache().find(getArrayQueryKey(pathAndInput, 'query'))) {
265
265
  void prefetchQuery(pathAndInput, opts);
266
266
  }
267
- const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, opts);
267
+ const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, 'query', opts);
268
268
  // request option should take priority over global
269
269
  const shouldAbortOnUnmount = opts?.trpc?.abortOnUnmount ?? abortOnUnmount;
270
- const hook = useQuery(getArrayQueryKey(pathAndInput), (queryFunctionContext)=>{
270
+ const hook = useQuery(getArrayQueryKey(pathAndInput, 'query'), (queryFunctionContext)=>{
271
271
  const actualOpts = {
272
272
  ...ssrOpts,
273
273
  trpc: {
@@ -358,13 +358,13 @@ function getClientArgs(pathAndInput, opts) {
358
358
  function useInfiniteQuery$1(pathAndInput, opts) {
359
359
  const [path, input] = pathAndInput;
360
360
  const { client , ssrState , prefetchInfiniteQuery , queryClient , abortOnUnmount , } = useContext();
361
- if (typeof window === 'undefined' && ssrState === 'prepass' && opts?.trpc?.ssr !== false && opts?.enabled !== false && !queryClient.getQueryCache().find(getArrayQueryKey(pathAndInput))) {
361
+ if (typeof window === 'undefined' && ssrState === 'prepass' && opts?.trpc?.ssr !== false && opts?.enabled !== false && !queryClient.getQueryCache().find(getArrayQueryKey(pathAndInput, 'infinite'))) {
362
362
  void prefetchInfiniteQuery(pathAndInput, opts);
363
363
  }
364
- const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, opts);
364
+ const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, 'infinite', opts);
365
365
  // request option should take priority over global
366
366
  const shouldAbortOnUnmount = opts?.trpc?.abortOnUnmount ?? abortOnUnmount;
367
- const hook = useInfiniteQuery(getArrayQueryKey(pathAndInput), (queryFunctionContext)=>{
367
+ const hook = useInfiniteQuery(getArrayQueryKey(pathAndInput, 'infinite'), (queryFunctionContext)=>{
368
368
  const actualOpts = {
369
369
  ...ssrOpts,
370
370
  trpc: {
@@ -4,7 +4,7 @@ var shared = require('@trpc/server/shared');
4
4
  var client = require('@trpc/client');
5
5
  var reactQuery = require('@tanstack/react-query');
6
6
  var React = require('react');
7
- var getArrayQueryKey = require('./getArrayQueryKey-5ab807a3.js');
7
+ var getArrayQueryKey = require('./getArrayQueryKey-24927615.js');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
10
 
@@ -165,13 +165,13 @@ function getClientArgs(pathAndInput, opts) {
165
165
  ssrContext: ssrContext || null,
166
166
  ssrState,
167
167
  fetchQuery: React.useCallback((pathAndInput, opts)=>{
168
- return queryClient.fetchQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput), ()=>client.query(...getClientArgs(pathAndInput, opts)), opts);
168
+ return queryClient.fetchQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'query'), ()=>client.query(...getClientArgs(pathAndInput, opts)), opts);
169
169
  }, [
170
170
  client,
171
171
  queryClient
172
172
  ]),
173
173
  fetchInfiniteQuery: React.useCallback((pathAndInput, opts)=>{
174
- return queryClient.fetchInfiniteQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput), ({ pageParam })=>{
174
+ return queryClient.fetchInfiniteQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'infinite'), ({ pageParam })=>{
175
175
  const [path, input] = pathAndInput;
176
176
  const actualInput = {
177
177
  ...input,
@@ -187,13 +187,13 @@ function getClientArgs(pathAndInput, opts) {
187
187
  queryClient
188
188
  ]),
189
189
  prefetchQuery: React.useCallback((pathAndInput, opts)=>{
190
- return queryClient.prefetchQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput), ()=>client.query(...getClientArgs(pathAndInput, opts)), opts);
190
+ return queryClient.prefetchQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'query'), ()=>client.query(...getClientArgs(pathAndInput, opts)), opts);
191
191
  }, [
192
192
  client,
193
193
  queryClient
194
194
  ]),
195
195
  prefetchInfiniteQuery: React.useCallback((pathAndInput, opts)=>{
196
- return queryClient.prefetchInfiniteQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput), ({ pageParam })=>{
196
+ return queryClient.prefetchInfiniteQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'infinite'), ({ pageParam })=>{
197
197
  const [path, input] = pathAndInput;
198
198
  const actualInput = {
199
199
  ...input,
@@ -210,42 +210,42 @@ function getClientArgs(pathAndInput, opts) {
210
210
  ]),
211
211
  invalidateQueries: React.useCallback((...args)=>{
212
212
  const [queryKey, ...rest] = args;
213
- return queryClient.invalidateQueries(getArrayQueryKey.getArrayQueryKey(queryKey), ...rest);
213
+ return queryClient.invalidateQueries(getArrayQueryKey.getArrayQueryKey(queryKey, 'any'), ...rest);
214
214
  }, [
215
215
  queryClient
216
216
  ]),
217
217
  refetchQueries: React.useCallback((...args)=>{
218
218
  const [queryKey, ...rest] = args;
219
- return queryClient.refetchQueries(getArrayQueryKey.getArrayQueryKey(queryKey), ...rest);
219
+ return queryClient.refetchQueries(getArrayQueryKey.getArrayQueryKey(queryKey, 'any'), ...rest);
220
220
  }, [
221
221
  queryClient
222
222
  ]),
223
223
  cancelQuery: React.useCallback((pathAndInput)=>{
224
- return queryClient.cancelQueries(getArrayQueryKey.getArrayQueryKey(pathAndInput));
224
+ return queryClient.cancelQueries(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'any'));
225
225
  }, [
226
226
  queryClient
227
227
  ]),
228
228
  setQueryData: React.useCallback((...args)=>{
229
229
  const [queryKey, ...rest] = args;
230
- return queryClient.setQueryData(getArrayQueryKey.getArrayQueryKey(queryKey), ...rest);
230
+ return queryClient.setQueryData(getArrayQueryKey.getArrayQueryKey(queryKey, 'query'), ...rest);
231
231
  }, [
232
232
  queryClient
233
233
  ]),
234
234
  getQueryData: React.useCallback((...args)=>{
235
235
  const [queryKey, ...rest] = args;
236
- return queryClient.getQueryData(getArrayQueryKey.getArrayQueryKey(queryKey), ...rest);
236
+ return queryClient.getQueryData(getArrayQueryKey.getArrayQueryKey(queryKey, 'query'), ...rest);
237
237
  }, [
238
238
  queryClient
239
239
  ]),
240
240
  setInfiniteQueryData: React.useCallback((...args)=>{
241
241
  const [queryKey, ...rest] = args;
242
- return queryClient.setQueryData(getArrayQueryKey.getArrayQueryKey(queryKey), ...rest);
242
+ return queryClient.setQueryData(getArrayQueryKey.getArrayQueryKey(queryKey, 'infinite'), ...rest);
243
243
  }, [
244
244
  queryClient
245
245
  ]),
246
246
  getInfiniteQueryData: React.useCallback((...args)=>{
247
247
  const [queryKey, ...rest] = args;
248
- return queryClient.getQueryData(getArrayQueryKey.getArrayQueryKey(queryKey), ...rest);
248
+ return queryClient.getQueryData(getArrayQueryKey.getArrayQueryKey(queryKey, 'infinite'), ...rest);
249
249
  }, [
250
250
  queryClient
251
251
  ])
@@ -258,22 +258,22 @@ function getClientArgs(pathAndInput, opts) {
258
258
  /**
259
259
  * Hack to make sure errors return `status`='error` when doing SSR
260
260
  * @link https://github.com/trpc/trpc/pull/1645
261
- */ function useSSRQueryOptionsIfNeeded(pathAndInput, opts) {
261
+ */ function useSSRQueryOptionsIfNeeded(pathAndInput, type, opts) {
262
262
  const { queryClient , ssrState } = useContext();
263
- return ssrState && ssrState !== 'mounted' && queryClient.getQueryCache().find(getArrayQueryKey.getArrayQueryKey(pathAndInput))?.state.status === 'error' ? {
263
+ return ssrState && ssrState !== 'mounted' && queryClient.getQueryCache().find(getArrayQueryKey.getArrayQueryKey(pathAndInput, type))?.state.status === 'error' ? {
264
264
  retryOnMount: false,
265
265
  ...opts
266
266
  } : opts;
267
267
  }
268
268
  function useQuery(pathAndInput, opts) {
269
269
  const { abortOnUnmount , client , ssrState , queryClient , prefetchQuery } = useContext();
270
- if (typeof window === 'undefined' && ssrState === 'prepass' && opts?.trpc?.ssr !== false && opts?.enabled !== false && !queryClient.getQueryCache().find(getArrayQueryKey.getArrayQueryKey(pathAndInput))) {
270
+ if (typeof window === 'undefined' && ssrState === 'prepass' && opts?.trpc?.ssr !== false && opts?.enabled !== false && !queryClient.getQueryCache().find(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'query'))) {
271
271
  void prefetchQuery(pathAndInput, opts);
272
272
  }
273
- const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, opts);
273
+ const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, 'query', opts);
274
274
  // request option should take priority over global
275
275
  const shouldAbortOnUnmount = opts?.trpc?.abortOnUnmount ?? abortOnUnmount;
276
- const hook = reactQuery.useQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput), (queryFunctionContext)=>{
276
+ const hook = reactQuery.useQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'query'), (queryFunctionContext)=>{
277
277
  const actualOpts = {
278
278
  ...ssrOpts,
279
279
  trpc: {
@@ -364,13 +364,13 @@ function getClientArgs(pathAndInput, opts) {
364
364
  function useInfiniteQuery(pathAndInput, opts) {
365
365
  const [path, input] = pathAndInput;
366
366
  const { client , ssrState , prefetchInfiniteQuery , queryClient , abortOnUnmount , } = useContext();
367
- if (typeof window === 'undefined' && ssrState === 'prepass' && opts?.trpc?.ssr !== false && opts?.enabled !== false && !queryClient.getQueryCache().find(getArrayQueryKey.getArrayQueryKey(pathAndInput))) {
367
+ if (typeof window === 'undefined' && ssrState === 'prepass' && opts?.trpc?.ssr !== false && opts?.enabled !== false && !queryClient.getQueryCache().find(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'infinite'))) {
368
368
  void prefetchInfiniteQuery(pathAndInput, opts);
369
369
  }
370
- const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, opts);
370
+ const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, 'infinite', opts);
371
371
  // request option should take priority over global
372
372
  const shouldAbortOnUnmount = opts?.trpc?.abortOnUnmount ?? abortOnUnmount;
373
- const hook = reactQuery.useInfiniteQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput), (queryFunctionContext)=>{
373
+ const hook = reactQuery.useInfiniteQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'infinite'), (queryFunctionContext)=>{
374
374
  const actualOpts = {
375
375
  ...ssrOpts,
376
376
  trpc: {
@@ -6,15 +6,25 @@
6
6
  * storing in tanstack query. This function converts from the `.` separated
7
7
  * path passed around internally by both the legacy and proxy implementation.
8
8
  * https://github.com/trpc/trpc/issues/2611
9
- */ function getArrayQueryKey(queryKey) {
9
+ */ function getArrayQueryKey(queryKey, type) {
10
10
  const queryKeyArrayed = Array.isArray(queryKey) ? queryKey : [
11
11
  queryKey
12
12
  ];
13
- const [path, ...input] = queryKeyArrayed;
13
+ const [path, input] = queryKeyArrayed;
14
14
  const arrayPath = typeof path !== 'string' || path === '' ? [] : path.split('.');
15
+ // Construct a query key that is easy to destructure and flexible for
16
+ // partial selecting etc.
17
+ // https://github.com/trpc/trpc/issues/3128
15
18
  return [
16
19
  arrayPath,
17
- ...input
20
+ {
21
+ ...input && {
22
+ input: input
23
+ },
24
+ ...type && type !== 'any' && {
25
+ type: type
26
+ }
27
+ }
18
28
  ];
19
29
  }
20
30
 
@@ -4,15 +4,25 @@
4
4
  * storing in tanstack query. This function converts from the `.` separated
5
5
  * path passed around internally by both the legacy and proxy implementation.
6
6
  * https://github.com/trpc/trpc/issues/2611
7
- */ function getArrayQueryKey(queryKey) {
7
+ */ function getArrayQueryKey(queryKey, type) {
8
8
  const queryKeyArrayed = Array.isArray(queryKey) ? queryKey : [
9
9
  queryKey
10
10
  ];
11
- const [path, ...input] = queryKeyArrayed;
11
+ const [path, input] = queryKeyArrayed;
12
12
  const arrayPath = typeof path !== 'string' || path === '' ? [] : path.split('.');
13
+ // Construct a query key that is easy to destructure and flexible for
14
+ // partial selecting etc.
15
+ // https://github.com/trpc/trpc/issues/3128
13
16
  return [
14
17
  arrayPath,
15
- ...input
18
+ {
19
+ ...input && {
20
+ input: input
21
+ },
22
+ ...type && type !== 'any' && {
23
+ type: type
24
+ }
25
+ }
16
26
  ];
17
27
  }
18
28
 
package/dist/index.js CHANGED
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var client = require('@trpc/client');
6
6
  var shared = require('@trpc/server/shared');
7
7
  var React = require('react');
8
- var createHooksInternal = require('./createHooksInternal-c6b8f183.js');
8
+ var createHooksInternal = require('./createHooksInternal-d633d100.js');
9
9
  require('@tanstack/react-query');
10
- require('./getArrayQueryKey-5ab807a3.js');
10
+ require('./getArrayQueryKey-24927615.js');
11
11
 
12
12
  /**
13
13
  * @internal
package/dist/index.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  export * from '@trpc/client';
2
2
  import { createFlatProxy } from '@trpc/server/shared';
3
3
  import { useMemo } from 'react';
4
- import { c as createHooksInternal, a as createReactQueryUtilsProxy, b as createReactProxyDecoration } from './createHooksInternal-0438ab3f.mjs';
4
+ import { c as createHooksInternal, a as createReactQueryUtilsProxy, b as createReactProxyDecoration } from './createHooksInternal-2bef4843.mjs';
5
5
  import '@tanstack/react-query';
6
- import './getArrayQueryKey-e56d8d64.mjs';
6
+ import './getArrayQueryKey-c6f6badf.mjs';
7
7
 
8
8
  /**
9
9
  * @internal
@@ -1,3 +1,4 @@
1
+ export declare type QueryType = 'query' | 'infinite' | 'any';
1
2
  /**
2
3
  * To allow easy interactions with groups of related queries, such as
3
4
  * invalidating all queries of a router, we use an array as the path when
@@ -5,5 +6,8 @@
5
6
  * path passed around internally by both the legacy and proxy implementation.
6
7
  * https://github.com/trpc/trpc/issues/2611
7
8
  */
8
- export declare function getArrayQueryKey(queryKey: string | [string] | [string, ...unknown[]] | unknown[]): [string[]] | [string[], ...unknown[]] | [];
9
+ export declare function getArrayQueryKey(queryKey: string | [string] | [string, ...unknown[]] | unknown[], type: QueryType): [string[], {
10
+ input?: unknown;
11
+ type?: Exclude<QueryType, 'any'>;
12
+ }];
9
13
  //# sourceMappingURL=getArrayQueryKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getArrayQueryKey.d.ts","sourceRoot":"","sources":["../../src/internals/getArrayQueryKey.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAC/D,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,EAAE,CAQ5C"}
1
+ {"version":3,"file":"getArrayQueryKey.d.ts","sourceRoot":"","sources":["../../src/internals/getArrayQueryKey.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;AAErD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,EAChE,IAAI,EAAE,SAAS,GACd,CAAC,MAAM,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;CAAE,CAAC,CAiBnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"createHooksInternal.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/createHooksInternal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createHooksInternal.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/createHooksInternal.tsx"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var createHooksInternal = require('../createHooksInternal-c6b8f183.js');
5
+ var createHooksInternal = require('../createHooksInternal-d633d100.js');
6
6
  var queryClient = require('../queryClient-358a9a75.js');
7
7
  require('@trpc/server/shared');
8
8
  require('@trpc/client');
9
9
  require('@tanstack/react-query');
10
10
  require('react');
11
- require('../getArrayQueryKey-5ab807a3.js');
11
+ require('../getArrayQueryKey-24927615.js');
12
12
 
13
13
 
14
14
 
@@ -1,7 +1,7 @@
1
- export { c as createHooksInternal, b as createReactProxyDecoration, a as createReactQueryUtilsProxy } from '../createHooksInternal-0438ab3f.mjs';
1
+ export { c as createHooksInternal, b as createReactProxyDecoration, a as createReactQueryUtilsProxy } from '../createHooksInternal-2bef4843.mjs';
2
2
  export { g as getQueryClient } from '../queryClient-4d766c0c.mjs';
3
3
  import '@trpc/server/shared';
4
4
  import '@trpc/client';
5
5
  import '@tanstack/react-query';
6
6
  import 'react';
7
- import '../getArrayQueryKey-e56d8d64.mjs';
7
+ import '../getArrayQueryKey-c6f6badf.mjs';
package/dist/ssg/index.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var reactQuery = require('@tanstack/react-query');
6
6
  var server = require('@trpc/server');
7
- var getArrayQueryKey = require('../getArrayQueryKey-5ab807a3.js');
7
+ var getArrayQueryKey = require('../getArrayQueryKey-24927615.js');
8
8
  var shared = require('@trpc/server/shared');
9
9
  require('@trpc/client');
10
10
  require('react');
@@ -18,7 +18,7 @@ var queryClient = require('../queryClient-358a9a75.js');
18
18
  const queryClient$1 = queryClient.getQueryClient(opts);
19
19
  const serialize = transformer ? ('input' in transformer ? transformer.input : transformer).serialize : (obj)=>obj;
20
20
  const prefetchQuery = async (...pathAndInput)=>{
21
- return queryClient$1.prefetchQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput), ()=>{
21
+ return queryClient$1.prefetchQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'query'), ()=>{
22
22
  return server.callProcedure({
23
23
  procedures: router._def.procedures,
24
24
  path: pathAndInput[0],
@@ -29,7 +29,7 @@ var queryClient = require('../queryClient-358a9a75.js');
29
29
  });
30
30
  };
31
31
  const prefetchInfiniteQuery = async (...pathAndInput)=>{
32
- return queryClient$1.prefetchInfiniteQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput), ()=>{
32
+ return queryClient$1.prefetchInfiniteQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'infinite'), ()=>{
33
33
  return server.callProcedure({
34
34
  procedures: router._def.procedures,
35
35
  path: pathAndInput[0],
@@ -40,7 +40,7 @@ var queryClient = require('../queryClient-358a9a75.js');
40
40
  });
41
41
  };
42
42
  const fetchQuery = async (...pathAndInput)=>{
43
- return queryClient$1.fetchQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput), ()=>{
43
+ return queryClient$1.fetchQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'query'), ()=>{
44
44
  return server.callProcedure({
45
45
  procedures: router._def.procedures,
46
46
  path: pathAndInput[0],
@@ -51,7 +51,7 @@ var queryClient = require('../queryClient-358a9a75.js');
51
51
  });
52
52
  };
53
53
  const fetchInfiniteQuery = async (...pathAndInput)=>{
54
- return queryClient$1.fetchInfiniteQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput), ()=>{
54
+ return queryClient$1.fetchInfiniteQuery(getArrayQueryKey.getArrayQueryKey(pathAndInput, 'infinite'), ()=>{
55
55
  return server.callProcedure({
56
56
  procedures: router._def.procedures,
57
57
  path: pathAndInput[0],
@@ -1,6 +1,6 @@
1
1
  import { dehydrate } from '@tanstack/react-query';
2
2
  import { callProcedure } from '@trpc/server';
3
- import { g as getArrayQueryKey } from '../getArrayQueryKey-e56d8d64.mjs';
3
+ import { g as getArrayQueryKey } from '../getArrayQueryKey-c6f6badf.mjs';
4
4
  import { createFlatProxy, createRecursiveProxy } from '@trpc/server/shared';
5
5
  import '@trpc/client';
6
6
  import 'react';
@@ -14,7 +14,7 @@ import { g as getQueryClient } from '../queryClient-4d766c0c.mjs';
14
14
  const queryClient = getQueryClient(opts);
15
15
  const serialize = transformer ? ('input' in transformer ? transformer.input : transformer).serialize : (obj)=>obj;
16
16
  const prefetchQuery = async (...pathAndInput)=>{
17
- return queryClient.prefetchQuery(getArrayQueryKey(pathAndInput), ()=>{
17
+ return queryClient.prefetchQuery(getArrayQueryKey(pathAndInput, 'query'), ()=>{
18
18
  return callProcedure({
19
19
  procedures: router._def.procedures,
20
20
  path: pathAndInput[0],
@@ -25,7 +25,7 @@ import { g as getQueryClient } from '../queryClient-4d766c0c.mjs';
25
25
  });
26
26
  };
27
27
  const prefetchInfiniteQuery = async (...pathAndInput)=>{
28
- return queryClient.prefetchInfiniteQuery(getArrayQueryKey(pathAndInput), ()=>{
28
+ return queryClient.prefetchInfiniteQuery(getArrayQueryKey(pathAndInput, 'infinite'), ()=>{
29
29
  return callProcedure({
30
30
  procedures: router._def.procedures,
31
31
  path: pathAndInput[0],
@@ -36,7 +36,7 @@ import { g as getQueryClient } from '../queryClient-4d766c0c.mjs';
36
36
  });
37
37
  };
38
38
  const fetchQuery = async (...pathAndInput)=>{
39
- return queryClient.fetchQuery(getArrayQueryKey(pathAndInput), ()=>{
39
+ return queryClient.fetchQuery(getArrayQueryKey(pathAndInput, 'query'), ()=>{
40
40
  return callProcedure({
41
41
  procedures: router._def.procedures,
42
42
  path: pathAndInput[0],
@@ -47,7 +47,7 @@ import { g as getQueryClient } from '../queryClient-4d766c0c.mjs';
47
47
  });
48
48
  };
49
49
  const fetchInfiniteQuery = async (...pathAndInput)=>{
50
- return queryClient.fetchInfiniteQuery(getArrayQueryKey(pathAndInput), ()=>{
50
+ return queryClient.fetchInfiniteQuery(getArrayQueryKey(pathAndInput, 'infinite'), ()=>{
51
51
  return callProcedure({
52
52
  procedures: router._def.procedures,
53
53
  path: pathAndInput[0],
@@ -1 +1 @@
1
- {"version":3,"file":"ssg.d.ts","sourceRoot":"","sources":["../../src/ssg/ssg.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,4BAA4B,EAG5B,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gCAAgC,EAAkB,MAAM,WAAW,CAAC;AAE7E,UAAU,2BAA2B,CAAC,OAAO,SAAS,SAAS;IAC7D,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,4BAA4B,CAAC;CAC5C;AACD,oBAAY,uBAAuB,CAAC,OAAO,SAAS,SAAS,IAC3D,2BAA2B,CAAC,OAAO,CAAC,GAAG,gCAAgC,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,SAAS,EACxD,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC;;;;;uBAuF9B,gBAAgB,KAMrB,eAAe;;EAcnB"}
1
+ {"version":3,"file":"ssg.d.ts","sourceRoot":"","sources":["../../src/ssg/ssg.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,4BAA4B,EAG5B,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gCAAgC,EAAkB,MAAM,WAAW,CAAC;AAE7E,UAAU,2BAA2B,CAAC,OAAO,SAAS,SAAS;IAC7D,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,4BAA4B,CAAC;CAC5C;AACD,oBAAY,uBAAuB,CAAC,OAAO,SAAS,SAAS,IAC3D,2BAA2B,CAAC,OAAO,CAAC,GAAG,gCAAgC,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,SAAS,EACxD,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC;;;;;uBA6F9B,gBAAgB,KAMrB,eAAe;;EAcnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/react-query",
3
- "version": "10.0.0-rc.7",
3
+ "version": "10.0.0-rc.8",
4
4
  "description": "tRPC React lib",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -54,15 +54,15 @@
54
54
  },
55
55
  "peerDependencies": {
56
56
  "@tanstack/react-query": "^4.3.8",
57
- "@trpc/client": "10.0.0-rc.7",
58
- "@trpc/server": "10.0.0-rc.7",
57
+ "@trpc/client": "10.0.0-rc.8",
58
+ "@trpc/server": "10.0.0-rc.8",
59
59
  "react": ">=16.8.0",
60
60
  "react-dom": ">=16.8.0"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@tanstack/react-query": "^4.3.8",
64
- "@trpc/client": "10.0.0-rc.7",
65
- "@trpc/server": "10.0.0-rc.7",
64
+ "@trpc/client": "10.0.0-rc.8",
65
+ "@trpc/server": "10.0.0-rc.8",
66
66
  "@types/express": "^4.17.12",
67
67
  "@types/node": "^18.7.20",
68
68
  "express": "^4.17.1",
@@ -76,5 +76,5 @@
76
76
  "publishConfig": {
77
77
  "access": "public"
78
78
  },
79
- "gitHead": "f019f64a8200a881cbaf18f3e238c6a8898f3d70"
79
+ "gitHead": "5b8ff0d8d49251aa8c287e9d68641810cd9964e2"
80
80
  }
@@ -1,41 +1,76 @@
1
1
  import { getArrayQueryKey } from './getArrayQueryKey';
2
2
 
3
3
  test('getArrayQueryKey', () => {
4
- expect(getArrayQueryKey('foo')).toMatchInlineSnapshot(`
4
+ expect(getArrayQueryKey('foo', 'query')).toMatchInlineSnapshot(`
5
5
  Array [
6
6
  Array [
7
7
  "foo",
8
8
  ],
9
+ Object {
10
+ "type": "query",
11
+ },
9
12
  ]
10
13
  `);
11
- expect(getArrayQueryKey(['foo'])).toMatchInlineSnapshot(`
14
+ expect(getArrayQueryKey(['foo'], 'query')).toMatchInlineSnapshot(`
12
15
  Array [
13
16
  Array [
14
17
  "foo",
15
18
  ],
19
+ Object {
20
+ "type": "query",
21
+ },
16
22
  ]
17
23
  `);
18
- expect(getArrayQueryKey(['foo', 'bar'])).toMatchInlineSnapshot(`
24
+ expect(getArrayQueryKey('foo', 'infinite')).toMatchInlineSnapshot(`
19
25
  Array [
20
26
  Array [
21
27
  "foo",
22
28
  ],
23
- "bar",
29
+ Object {
30
+ "type": "infinite",
31
+ },
24
32
  ]
25
33
  `);
26
- expect(getArrayQueryKey([undefined, 'bar'])).toMatchInlineSnapshot(`
34
+ expect(getArrayQueryKey(['foo'], 'infinite')).toMatchInlineSnapshot(`
35
+ Array [
36
+ Array [
37
+ "foo",
38
+ ],
39
+ Object {
40
+ "type": "infinite",
41
+ },
42
+ ]
43
+ `);
44
+ expect(getArrayQueryKey(['foo', 'bar'], 'query')).toMatchInlineSnapshot(`
45
+ Array [
46
+ Array [
47
+ "foo",
48
+ ],
49
+ Object {
50
+ "input": "bar",
51
+ "type": "query",
52
+ },
53
+ ]
54
+ `);
55
+ expect(getArrayQueryKey([undefined, 'bar'], 'query')).toMatchInlineSnapshot(`
27
56
  Array [
28
57
  Array [],
29
- "bar",
58
+ Object {
59
+ "input": "bar",
60
+ "type": "query",
61
+ },
30
62
  ]
31
63
  `);
32
- expect(getArrayQueryKey(['post.byId', '1'])).toMatchInlineSnapshot(`
64
+ expect(getArrayQueryKey(['post.byId', '1'], 'query')).toMatchInlineSnapshot(`
33
65
  Array [
34
66
  Array [
35
67
  "post",
36
68
  "byId",
37
69
  ],
38
- "1",
70
+ Object {
71
+ "input": "1",
72
+ "type": "query",
73
+ },
39
74
  ]
40
75
  `);
41
76
  });
@@ -1,3 +1,5 @@
1
+ export type QueryType = 'query' | 'infinite' | 'any';
2
+
1
3
  /**
2
4
  * To allow easy interactions with groups of related queries, such as
3
5
  * invalidating all queries of a router, we use an array as the path when
@@ -7,12 +9,22 @@
7
9
  */
8
10
  export function getArrayQueryKey(
9
11
  queryKey: string | [string] | [string, ...unknown[]] | unknown[],
10
- ): [string[]] | [string[], ...unknown[]] | [] {
12
+ type: QueryType,
13
+ ): [string[], { input?: unknown; type?: Exclude<QueryType, 'any'> }] {
11
14
  const queryKeyArrayed = Array.isArray(queryKey) ? queryKey : [queryKey];
12
- const [path, ...input] = queryKeyArrayed;
15
+ const [path, input] = queryKeyArrayed;
13
16
 
14
17
  const arrayPath =
15
18
  typeof path !== 'string' || path === '' ? [] : path.split('.');
16
19
 
17
- return [arrayPath, ...input];
20
+ // Construct a query key that is easy to destructure and flexible for
21
+ // partial selecting etc.
22
+ // https://github.com/trpc/trpc/issues/3128
23
+ return [
24
+ arrayPath,
25
+ {
26
+ ...(input && { input: input }),
27
+ ...(type && type !== 'any' && { type: type }),
28
+ },
29
+ ];
18
30
  }
@@ -47,7 +47,7 @@ import {
47
47
  TRPCContextProps,
48
48
  TRPCContextState,
49
49
  } from '../../internals/context';
50
- import { getArrayQueryKey } from '../../internals/getArrayQueryKey';
50
+ import { QueryType, getArrayQueryKey } from '../../internals/getArrayQueryKey';
51
51
  import { CreateTRPCReactOptions, UseMutationOverride } from '../types';
52
52
 
53
53
  export type OutputWithCursor<TData, TCursor = any> = {
@@ -246,7 +246,7 @@ export function createHooksInternal<
246
246
  fetchQuery: useCallback(
247
247
  (pathAndInput, opts) => {
248
248
  return queryClient.fetchQuery(
249
- getArrayQueryKey(pathAndInput),
249
+ getArrayQueryKey(pathAndInput, 'query'),
250
250
  () =>
251
251
  (client as any).query(...getClientArgs(pathAndInput, opts)),
252
252
  opts,
@@ -257,7 +257,7 @@ export function createHooksInternal<
257
257
  fetchInfiniteQuery: useCallback(
258
258
  (pathAndInput, opts) => {
259
259
  return queryClient.fetchInfiniteQuery(
260
- getArrayQueryKey(pathAndInput),
260
+ getArrayQueryKey(pathAndInput, 'infinite'),
261
261
  ({ pageParam }) => {
262
262
  const [path, input] = pathAndInput;
263
263
  const actualInput = { ...(input as any), cursor: pageParam };
@@ -273,7 +273,7 @@ export function createHooksInternal<
273
273
  prefetchQuery: useCallback(
274
274
  (pathAndInput, opts) => {
275
275
  return queryClient.prefetchQuery(
276
- getArrayQueryKey(pathAndInput),
276
+ getArrayQueryKey(pathAndInput, 'query'),
277
277
  () =>
278
278
  (client as any).query(...getClientArgs(pathAndInput, opts)),
279
279
  opts,
@@ -284,7 +284,7 @@ export function createHooksInternal<
284
284
  prefetchInfiniteQuery: useCallback(
285
285
  (pathAndInput, opts) => {
286
286
  return queryClient.prefetchInfiniteQuery(
287
- getArrayQueryKey(pathAndInput),
287
+ getArrayQueryKey(pathAndInput, 'infinite'),
288
288
  ({ pageParam }) => {
289
289
  const [path, input] = pathAndInput;
290
290
  const actualInput = { ...(input as any), cursor: pageParam };
@@ -301,7 +301,7 @@ export function createHooksInternal<
301
301
  (...args: any[]) => {
302
302
  const [queryKey, ...rest] = args;
303
303
  return queryClient.invalidateQueries(
304
- getArrayQueryKey(queryKey),
304
+ getArrayQueryKey(queryKey, 'any'),
305
305
  ...rest,
306
306
  );
307
307
  },
@@ -312,7 +312,7 @@ export function createHooksInternal<
312
312
  const [queryKey, ...rest] = args;
313
313
 
314
314
  return queryClient.refetchQueries(
315
- getArrayQueryKey(queryKey),
315
+ getArrayQueryKey(queryKey, 'any'),
316
316
  ...rest,
317
317
  );
318
318
  },
@@ -320,7 +320,9 @@ export function createHooksInternal<
320
320
  ),
321
321
  cancelQuery: useCallback(
322
322
  (pathAndInput) => {
323
- return queryClient.cancelQueries(getArrayQueryKey(pathAndInput));
323
+ return queryClient.cancelQueries(
324
+ getArrayQueryKey(pathAndInput, 'any'),
325
+ );
324
326
  },
325
327
  [queryClient],
326
328
  ),
@@ -328,7 +330,7 @@ export function createHooksInternal<
328
330
  (...args) => {
329
331
  const [queryKey, ...rest] = args;
330
332
  return queryClient.setQueryData(
331
- getArrayQueryKey(queryKey),
333
+ getArrayQueryKey(queryKey, 'query'),
332
334
  ...rest,
333
335
  );
334
336
  },
@@ -339,7 +341,7 @@ export function createHooksInternal<
339
341
  const [queryKey, ...rest] = args;
340
342
 
341
343
  return queryClient.getQueryData(
342
- getArrayQueryKey(queryKey),
344
+ getArrayQueryKey(queryKey, 'query'),
343
345
  ...rest,
344
346
  );
345
347
  },
@@ -350,7 +352,7 @@ export function createHooksInternal<
350
352
  const [queryKey, ...rest] = args;
351
353
 
352
354
  return queryClient.setQueryData(
353
- getArrayQueryKey(queryKey),
355
+ getArrayQueryKey(queryKey, 'infinite'),
354
356
  ...rest,
355
357
  );
356
358
  },
@@ -361,7 +363,7 @@ export function createHooksInternal<
361
363
  const [queryKey, ...rest] = args;
362
364
 
363
365
  return queryClient.getQueryData(
364
- getArrayQueryKey(queryKey),
366
+ getArrayQueryKey(queryKey, 'infinite'),
365
367
  ...rest,
366
368
  );
367
369
  },
@@ -384,12 +386,16 @@ export function createHooksInternal<
384
386
  */
385
387
  function useSSRQueryOptionsIfNeeded<
386
388
  TOptions extends { retryOnMount?: boolean } | undefined,
387
- >(pathAndInput: unknown[], opts: TOptions): TOptions {
389
+ >(
390
+ pathAndInput: unknown[],
391
+ type: Exclude<QueryType, 'any'>,
392
+ opts: TOptions,
393
+ ): TOptions {
388
394
  const { queryClient, ssrState } = useContext();
389
395
  return ssrState &&
390
396
  ssrState !== 'mounted' &&
391
- queryClient.getQueryCache().find(getArrayQueryKey(pathAndInput))?.state
392
- .status === 'error'
397
+ queryClient.getQueryCache().find(getArrayQueryKey(pathAndInput, type))
398
+ ?.state.status === 'error'
393
399
  ? {
394
400
  retryOnMount: false,
395
401
  ...opts,
@@ -419,16 +425,16 @@ export function createHooksInternal<
419
425
  ssrState === 'prepass' &&
420
426
  opts?.trpc?.ssr !== false &&
421
427
  opts?.enabled !== false &&
422
- !queryClient.getQueryCache().find(getArrayQueryKey(pathAndInput))
428
+ !queryClient.getQueryCache().find(getArrayQueryKey(pathAndInput, 'query'))
423
429
  ) {
424
430
  void prefetchQuery(pathAndInput as any, opts as any);
425
431
  }
426
- const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, opts);
432
+ const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, 'query', opts);
427
433
  // request option should take priority over global
428
434
  const shouldAbortOnUnmount = opts?.trpc?.abortOnUnmount ?? abortOnUnmount;
429
435
 
430
436
  const hook = __useQuery(
431
- getArrayQueryKey(pathAndInput) as any,
437
+ getArrayQueryKey(pathAndInput, 'query') as any,
432
438
  (queryFunctionContext) => {
433
439
  const actualOpts = {
434
440
  ...ssrOpts,
@@ -588,18 +594,20 @@ export function createHooksInternal<
588
594
  ssrState === 'prepass' &&
589
595
  opts?.trpc?.ssr !== false &&
590
596
  opts?.enabled !== false &&
591
- !queryClient.getQueryCache().find(getArrayQueryKey(pathAndInput))
597
+ !queryClient
598
+ .getQueryCache()
599
+ .find(getArrayQueryKey(pathAndInput, 'infinite'))
592
600
  ) {
593
601
  void prefetchInfiniteQuery(pathAndInput as any, opts as any);
594
602
  }
595
603
 
596
- const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, opts);
604
+ const ssrOpts = useSSRQueryOptionsIfNeeded(pathAndInput, 'infinite', opts);
597
605
 
598
606
  // request option should take priority over global
599
607
  const shouldAbortOnUnmount = opts?.trpc?.abortOnUnmount ?? abortOnUnmount;
600
608
 
601
609
  const hook = __useInfiniteQuery(
602
- getArrayQueryKey(pathAndInput) as any,
610
+ getArrayQueryKey(pathAndInput, 'infinite') as any,
603
611
  (queryFunctionContext) => {
604
612
  const actualOpts = {
605
613
  ...ssrOpts,
package/src/ssg/ssg.ts CHANGED
@@ -44,15 +44,18 @@ export function createSSGHelpers<TRouter extends AnyRouter>(
44
44
  >(
45
45
  ...pathAndInput: [path: TPath, ...args: inferHandlerInput<TProcedure>]
46
46
  ) => {
47
- return queryClient.prefetchQuery(getArrayQueryKey(pathAndInput), () => {
48
- return callProcedure({
49
- procedures: router._def.procedures,
50
- path: pathAndInput[0],
51
- rawInput: pathAndInput[1],
52
- ctx,
53
- type: 'query',
54
- });
55
- });
47
+ return queryClient.prefetchQuery(
48
+ getArrayQueryKey(pathAndInput, 'query'),
49
+ () => {
50
+ return callProcedure({
51
+ procedures: router._def.procedures,
52
+ path: pathAndInput[0],
53
+ rawInput: pathAndInput[1],
54
+ ctx,
55
+ type: 'query',
56
+ });
57
+ },
58
+ );
56
59
  };
57
60
 
58
61
  const prefetchInfiniteQuery = async <
@@ -62,7 +65,7 @@ export function createSSGHelpers<TRouter extends AnyRouter>(
62
65
  ...pathAndInput: [path: TPath, ...args: inferHandlerInput<TProcedure>]
63
66
  ) => {
64
67
  return queryClient.prefetchInfiniteQuery(
65
- getArrayQueryKey(pathAndInput),
68
+ getArrayQueryKey(pathAndInput, 'infinite'),
66
69
  () => {
67
70
  return callProcedure({
68
71
  procedures: router._def.procedures,
@@ -82,15 +85,18 @@ export function createSSGHelpers<TRouter extends AnyRouter>(
82
85
  >(
83
86
  ...pathAndInput: [path: TPath, ...args: inferHandlerInput<TProcedure>]
84
87
  ): Promise<TOutput> => {
85
- return queryClient.fetchQuery(getArrayQueryKey(pathAndInput), () => {
86
- return callProcedure({
87
- procedures: router._def.procedures,
88
- path: pathAndInput[0],
89
- rawInput: pathAndInput[1],
90
- ctx,
91
- type: 'query',
92
- });
93
- });
88
+ return queryClient.fetchQuery(
89
+ getArrayQueryKey(pathAndInput, 'query'),
90
+ () => {
91
+ return callProcedure({
92
+ procedures: router._def.procedures,
93
+ path: pathAndInput[0],
94
+ rawInput: pathAndInput[1],
95
+ ctx,
96
+ type: 'query',
97
+ });
98
+ },
99
+ );
94
100
  };
95
101
 
96
102
  const fetchInfiniteQuery = async <
@@ -101,7 +107,7 @@ export function createSSGHelpers<TRouter extends AnyRouter>(
101
107
  ...pathAndInput: [path: TPath, ...args: inferHandlerInput<TProcedure>]
102
108
  ): Promise<InfiniteData<TOutput>> => {
103
109
  return queryClient.fetchInfiniteQuery(
104
- getArrayQueryKey(pathAndInput),
110
+ getArrayQueryKey(pathAndInput, 'infinite'),
105
111
  () => {
106
112
  return callProcedure({
107
113
  procedures: router._def.procedures,