@trpc/react-query 11.0.0-next.92 → 11.0.0-rc.330

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 (109) hide show
  1. package/README.md +4 -4
  2. package/dist/bundle-analysis.json +83 -51
  3. package/dist/createTRPCQueryUtils.d.ts +4 -0
  4. package/dist/createTRPCQueryUtils.d.ts.map +1 -0
  5. package/dist/createTRPCQueryUtils.js +16 -0
  6. package/dist/createTRPCQueryUtils.mjs +14 -0
  7. package/dist/createTRPCReact.d.ts +55 -40
  8. package/dist/createTRPCReact.d.ts.map +1 -1
  9. package/dist/createTRPCReact.js +58 -0
  10. package/dist/createTRPCReact.mjs +36 -0
  11. package/dist/index.d.ts +2 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +8 -36
  14. package/dist/index.mjs +3 -35
  15. package/dist/internals/context.d.ts +23 -18
  16. package/dist/internals/context.d.ts.map +1 -1
  17. package/dist/internals/context.js +33 -0
  18. package/dist/internals/context.mjs +11 -0
  19. package/dist/internals/getClientArgs.d.ts +8 -2
  20. package/dist/internals/getClientArgs.d.ts.map +1 -1
  21. package/dist/internals/getClientArgs.js +24 -0
  22. package/dist/internals/getClientArgs.mjs +22 -0
  23. package/dist/internals/getQueryKey.d.ts +8 -13
  24. package/dist/internals/getQueryKey.d.ts.map +1 -1
  25. package/dist/internals/getQueryKey.js +60 -0
  26. package/dist/internals/getQueryKey.mjs +57 -0
  27. package/dist/internals/useHookResult.d.ts +4 -6
  28. package/dist/internals/useHookResult.d.ts.map +1 -1
  29. package/dist/internals/useHookResult.js +35 -0
  30. package/dist/internals/useHookResult.mjs +14 -0
  31. package/dist/internals/useQueries.d.ts +32 -4
  32. package/dist/internals/useQueries.d.ts.map +1 -1
  33. package/dist/server/index.js +2 -103
  34. package/dist/server/index.mjs +1 -104
  35. package/dist/server/ssgProxy.d.ts +21 -21
  36. package/dist/server/ssgProxy.d.ts.map +1 -1
  37. package/dist/server/ssgProxy.js +109 -0
  38. package/dist/server/ssgProxy.mjs +107 -0
  39. package/dist/shared/hooks/createHooksInternal.d.ts +8 -31
  40. package/dist/shared/hooks/createHooksInternal.d.ts.map +1 -1
  41. package/dist/{createHooksInternal-e2034194.js → shared/hooks/createHooksInternal.js} +98 -226
  42. package/dist/{createHooksInternal-3d8ebfcf.mjs → shared/hooks/createHooksInternal.mjs} +70 -210
  43. package/dist/shared/hooks/types.d.ts +11 -7
  44. package/dist/shared/hooks/types.d.ts.map +1 -1
  45. package/dist/shared/index.d.ts +2 -2
  46. package/dist/shared/index.d.ts.map +1 -1
  47. package/dist/shared/index.js +14 -15
  48. package/dist/shared/index.mjs +7 -7
  49. package/dist/shared/polymorphism/mutationLike.d.ts +6 -7
  50. package/dist/shared/polymorphism/mutationLike.d.ts.map +1 -1
  51. package/dist/shared/polymorphism/queryLike.d.ts +10 -7
  52. package/dist/shared/polymorphism/queryLike.d.ts.map +1 -1
  53. package/dist/shared/polymorphism/routerLike.d.ts +6 -6
  54. package/dist/shared/polymorphism/routerLike.d.ts.map +1 -1
  55. package/dist/shared/polymorphism/utilsLike.d.ts +3 -3
  56. package/dist/shared/polymorphism/utilsLike.d.ts.map +1 -1
  57. package/dist/shared/proxy/decorationProxy.d.ts +2 -2
  58. package/dist/shared/proxy/decorationProxy.d.ts.map +1 -1
  59. package/dist/shared/proxy/decorationProxy.js +31 -0
  60. package/dist/shared/proxy/decorationProxy.mjs +29 -0
  61. package/dist/shared/proxy/useQueriesProxy.d.ts +14 -8
  62. package/dist/shared/proxy/useQueriesProxy.d.ts.map +1 -1
  63. package/dist/shared/proxy/useQueriesProxy.js +25 -0
  64. package/dist/shared/proxy/useQueriesProxy.mjs +23 -0
  65. package/dist/shared/proxy/utilsProxy.d.ts +28 -24
  66. package/dist/shared/proxy/utilsProxy.d.ts.map +1 -1
  67. package/dist/shared/proxy/utilsProxy.js +89 -0
  68. package/dist/shared/proxy/utilsProxy.mjs +85 -0
  69. package/dist/shared/queryClient.d.ts +2 -1
  70. package/dist/shared/queryClient.d.ts.map +1 -1
  71. package/dist/{queryClient-4d766c0c.mjs → shared/queryClient.mjs} +1 -1
  72. package/dist/shared/types.d.ts +2 -2
  73. package/dist/shared/types.d.ts.map +1 -1
  74. package/dist/utils/createUtilityFunctions.d.ts +23 -0
  75. package/dist/utils/createUtilityFunctions.d.ts.map +1 -0
  76. package/dist/utils/createUtilityFunctions.js +100 -0
  77. package/dist/utils/createUtilityFunctions.mjs +98 -0
  78. package/dist/utils/inferReactQueryProcedure.d.ts +11 -10
  79. package/dist/utils/inferReactQueryProcedure.d.ts.map +1 -1
  80. package/package.json +18 -18
  81. package/src/createTRPCQueryUtils.tsx +11 -0
  82. package/src/createTRPCReact.tsx +139 -163
  83. package/src/index.ts +6 -1
  84. package/src/internals/context.tsx +27 -18
  85. package/src/internals/getClientArgs.ts +16 -4
  86. package/src/internals/getQueryKey.ts +51 -62
  87. package/src/internals/useHookResult.ts +12 -13
  88. package/src/internals/useQueries.ts +129 -4
  89. package/src/server/ssgProxy.ts +59 -57
  90. package/src/shared/hooks/createHooksInternal.tsx +115 -246
  91. package/src/shared/hooks/types.ts +15 -7
  92. package/src/shared/index.ts +5 -2
  93. package/src/shared/polymorphism/mutationLike.ts +21 -15
  94. package/src/shared/polymorphism/queryLike.ts +34 -14
  95. package/src/shared/polymorphism/routerLike.ts +29 -15
  96. package/src/shared/polymorphism/utilsLike.ts +6 -3
  97. package/src/shared/proxy/decorationProxy.ts +3 -3
  98. package/src/shared/proxy/useQueriesProxy.ts +65 -28
  99. package/src/shared/proxy/utilsProxy.ts +113 -86
  100. package/src/shared/queryClient.ts +2 -1
  101. package/src/shared/types.ts +5 -2
  102. package/src/utils/createUtilityFunctions.ts +137 -0
  103. package/src/utils/inferReactQueryProcedure.ts +38 -28
  104. package/dist/createHooksInternal-dce6e141.js +0 -435
  105. package/dist/queryClient-1c8d7d8a.js +0 -8
  106. package/dist/utilsProxy-00894da2.mjs +0 -121
  107. package/dist/utilsProxy-27bd93c1.js +0 -128
  108. package/dist/utilsProxy-7e396600.js +0 -114
  109. /package/dist/{queryClient-358a9a75.js → shared/queryClient.js} +0 -0
package/dist/index.js CHANGED
@@ -1,45 +1,17 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var client = require('@trpc/client');
6
- var utilsProxy = require('./utilsProxy-27bd93c1.js');
7
- var shared = require('@trpc/server/shared');
8
- var React = require('react');
9
- var createHooksInternal$1 = require('./createHooksInternal-e2034194.js');
10
- require('@tanstack/react-query');
4
+ var getQueryKey = require('./internals/getQueryKey.js');
5
+ var createTRPCReact = require('./createTRPCReact.js');
6
+ var createTRPCQueryUtils = require('./createTRPCQueryUtils.js');
7
+
11
8
 
12
- /**
13
- * @internal
14
- */ function createHooksInternal(trpc) {
15
- return shared.createFlatProxy((key)=>{
16
- if (key === 'useContext' || key === 'useUtils') {
17
- return ()=>{
18
- const context = trpc.useUtils();
19
- // create a stable reference of the utils context
20
- return React.useMemo(()=>{
21
- return utilsProxy.createReactQueryUtils(context);
22
- }, [
23
- context
24
- ]);
25
- };
26
- }
27
- if (trpc.hasOwnProperty(key)) {
28
- return trpc[key];
29
- }
30
- return createHooksInternal$1.createReactDecoration(key, trpc);
31
- });
32
- }
33
- function createTRPCReact(opts) {
34
- const hooks = createHooksInternal$1.createRootHooks(opts);
35
- const proxy = createHooksInternal(hooks);
36
- return proxy;
37
- }
38
9
 
39
- exports.getQueryKey = utilsProxy.getQueryKey;
40
- exports.createTRPCReact = createTRPCReact;
10
+ exports.getQueryKey = getQueryKey.getQueryKey;
11
+ exports.createTRPCReact = createTRPCReact.createTRPCReact;
12
+ exports.createTRPCQueryUtils = createTRPCQueryUtils.createTRPCQueryUtils;
41
13
  Object.keys(client).forEach(function (k) {
42
- if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
14
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
43
15
  enumerable: true,
44
16
  get: function () { return client[k]; }
45
17
  });
package/dist/index.mjs CHANGED
@@ -1,36 +1,4 @@
1
1
  export * from '@trpc/client';
2
- import { c as createReactQueryUtils } from './utilsProxy-00894da2.mjs';
3
- export { g as getQueryKey } from './utilsProxy-00894da2.mjs';
4
- import { createFlatProxy } from '@trpc/server/shared';
5
- import { useMemo } from 'react';
6
- import { c as createRootHooks, a as createReactDecoration } from './createHooksInternal-3d8ebfcf.mjs';
7
- import '@tanstack/react-query';
8
-
9
- /**
10
- * @internal
11
- */ function createHooksInternal(trpc) {
12
- return createFlatProxy((key)=>{
13
- if (key === 'useContext' || key === 'useUtils') {
14
- return ()=>{
15
- const context = trpc.useUtils();
16
- // create a stable reference of the utils context
17
- return useMemo(()=>{
18
- return createReactQueryUtils(context);
19
- }, [
20
- context
21
- ]);
22
- };
23
- }
24
- if (trpc.hasOwnProperty(key)) {
25
- return trpc[key];
26
- }
27
- return createReactDecoration(key, trpc);
28
- });
29
- }
30
- function createTRPCReact(opts) {
31
- const hooks = createRootHooks(opts);
32
- const proxy = createHooksInternal(hooks);
33
- return proxy;
34
- }
35
-
36
- export { createTRPCReact };
2
+ export { getQueryKey } from './internals/getQueryKey.mjs';
3
+ export { createTRPCReact } from './createTRPCReact.mjs';
4
+ export { createTRPCQueryUtils } from './createTRPCQueryUtils.mjs';
@@ -1,9 +1,9 @@
1
- /// <reference types="react" />
2
- import { CancelOptions, FetchInfiniteQueryOptions, FetchQueryOptions, InfiniteData, InvalidateOptions, InvalidateQueryFilters, QueryClient, QueryFilters, RefetchOptions, RefetchQueryFilters, ResetOptions, SetDataOptions, Updater } from '@tanstack/react-query';
3
- import { CreateTRPCClient, TRPCClientError, TRPCRequestOptions, TRPCUntypedClient } from '@trpc/client';
4
- import type { AnyRouter, DistributiveOmit } from '@trpc/server';
5
- import { ExtractCursorType } from '../shared';
6
- import { TRPCQueryKey } from './getQueryKey';
1
+ import type { CancelOptions, FetchInfiniteQueryOptions, FetchQueryOptions, InfiniteData, InvalidateOptions, InvalidateQueryFilters, QueryClient, QueryFilters, RefetchOptions, RefetchQueryFilters, ResetOptions, SetDataOptions, Updater } from '@tanstack/react-query';
2
+ import type { CreateTRPCClient, TRPCClientError, TRPCRequestOptions, TRPCUntypedClient } from '@trpc/client';
3
+ import type { AnyRouter, DistributiveOmit } from '@trpc/server/unstable-core-do-not-import';
4
+ import * as React from 'react';
5
+ import type { ExtractCursorType } from '../shared';
6
+ import type { TRPCQueryKey } from './getQueryKey';
7
7
  export type TRPCFetchQueryOptions<TOutput, TError> = DistributiveOmit<FetchQueryOptions<TOutput, TError>, 'queryKey'> & TRPCRequestOptions;
8
8
  export type TRPCFetchInfiniteQueryOptions<TInput, TOutput, TError> = DistributiveOmit<FetchInfiniteQueryOptions<TOutput, TError, TOutput, TRPCQueryKey, ExtractCursorType<TInput>>, 'queryKey' | 'initialPageParam'> & TRPCRequestOptions & {
9
9
  initialCursor?: ExtractCursorType<TInput>;
@@ -52,7 +52,12 @@ export declare const contextProps: (keyof TRPCContextPropsBase<any, any>)[];
52
52
  /**
53
53
  * @internal
54
54
  */
55
- export interface TRPCContextState<TRouter extends AnyRouter, TSSRContext = undefined> extends Required<TRPCContextProps<TRouter, TSSRContext>> {
55
+ export interface TRPCContextState<TRouter extends AnyRouter, TSSRContext = undefined> extends Required<TRPCContextProps<TRouter, TSSRContext>>, TRPCQueryUtils<TRouter> {
56
+ }
57
+ /**
58
+ * @internal
59
+ */
60
+ export interface TRPCQueryUtils<TRouter extends AnyRouter> {
56
61
  /**
57
62
  * @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientfetchquery
58
63
  */
@@ -62,7 +67,7 @@ export interface TRPCContextState<TRouter extends AnyRouter, TSSRContext = undef
62
67
  */
63
68
  fetchInfiniteQuery: (queryKey: TRPCQueryKey, opts?: TRPCFetchInfiniteQueryOptions<unknown, unknown, TRPCClientError<TRouter>>) => Promise<InfiniteData<unknown, unknown>>;
64
69
  /**
65
- * @link https://tanstack.com/query/v5/docs/react/guides/prefetching
70
+ * @link https://tanstack.com/query/v5/docs/framework/react/guides/prefetching
66
71
  */
67
72
  prefetchQuery: (queryKey: TRPCQueryKey, opts?: TRPCFetchQueryOptions<unknown, TRPCClientError<TRouter>>) => Promise<void>;
68
73
  /**
@@ -70,41 +75,41 @@ export interface TRPCContextState<TRouter extends AnyRouter, TSSRContext = undef
70
75
  */
71
76
  prefetchInfiniteQuery: (queryKey: TRPCQueryKey, opts?: TRPCFetchInfiniteQueryOptions<unknown, unknown, TRPCClientError<TRouter>>) => Promise<void>;
72
77
  /**
73
- * @link https://tanstack.com/query/v5/docs/react/reference/QueryClient#queryclientensurequerydata
78
+ * @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientensurequerydata
74
79
  */
75
80
  ensureQueryData: (queryKey: TRPCQueryKey, opts?: TRPCFetchQueryOptions<unknown, TRPCClientError<TRouter>>) => Promise<unknown>;
76
81
  /**
77
- * @link https://tanstack.com/query/v5/docs/react/guides/query-invalidation
82
+ * @link https://tanstack.com/query/v5/docs/framework/react/guides/query-invalidation
78
83
  */
79
84
  invalidateQueries: (queryKey: TRPCQueryKey, filters?: InvalidateQueryFilters, options?: InvalidateOptions) => Promise<void>;
80
85
  /**
81
- * @link https://tanstack.com/query/v5/docs/react/reference/QueryClient#queryclientresetqueries
86
+ * @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientresetqueries
82
87
  */
83
88
  resetQueries: (queryKey: TRPCQueryKey, filters?: QueryFilters, options?: ResetOptions) => Promise<void>;
84
89
  /**
85
- * @link https://tanstack.com/query/v5/docs/react/reference/QueryClient#queryclientrefetchqueries
90
+ * @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientrefetchqueries
86
91
  */
87
92
  refetchQueries: (queryKey: TRPCQueryKey, filters?: RefetchQueryFilters, options?: RefetchOptions) => Promise<void>;
88
93
  /**
89
- * @link https://tanstack.com/query/v5/docs/react/guides/query-cancellation
94
+ * @link https://tanstack.com/query/v5/docs/framework/react/guides/query-cancellation
90
95
  */
91
96
  cancelQuery: (queryKey: TRPCQueryKey, options?: CancelOptions) => Promise<void>;
92
97
  /**
93
- * @link https://tanstack.com/query/v5/docs/react/reference/QueryClient#queryclientsetquerydata
98
+ * @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientsetquerydata
94
99
  */
95
100
  setQueryData: (queryKey: TRPCQueryKey, updater: Updater<unknown, unknown>, options?: SetDataOptions) => void;
96
101
  /**
97
- * @link https://tanstack.com/query/v5/docs/react/reference/QueryClient#queryclientgetquerydata
102
+ * @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientgetquerydata
98
103
  */
99
104
  getQueryData: (queryKey: TRPCQueryKey) => unknown;
100
105
  /**
101
- * @link https://tanstack.com/query/v5/docs/react/reference/QueryClient#queryclientsetquerydata
106
+ * @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientsetquerydata
102
107
  */
103
108
  setInfiniteQueryData: (queryKey: TRPCQueryKey, updater: Updater<InfiniteData<unknown> | undefined, InfiniteData<unknown> | undefined>, options?: SetDataOptions) => void;
104
109
  /**
105
- * @link https://tanstack.com/query/v5/docs/react/reference/QueryClient#queryclientgetquerydata
110
+ * @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientgetquerydata
106
111
  */
107
112
  getInfiniteQueryData: (queryKey: TRPCQueryKey) => InfiniteData<unknown> | undefined;
108
113
  }
109
- export declare const TRPCContext: import("react").Context<any>;
114
+ export declare const TRPCContext: React.Context<any>;
110
115
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/internals/context.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/internals/context.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopNamespaceDefault(e) {
6
+ var n = Object.create(null);
7
+ if (e) {
8
+ Object.keys(e).forEach(function (k) {
9
+ if (k !== 'default') {
10
+ var d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: function () { return e[k]; }
14
+ });
15
+ }
16
+ });
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+
22
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
23
+
24
+ const contextProps = [
25
+ 'client',
26
+ 'ssrContext',
27
+ 'ssrState',
28
+ 'abortOnUnmount'
29
+ ];
30
+ const TRPCContext = React__namespace.createContext?.(null);
31
+
32
+ exports.TRPCContext = TRPCContext;
33
+ exports.contextProps = contextProps;
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+
3
+ const contextProps = [
4
+ 'client',
5
+ 'ssrContext',
6
+ 'ssrState',
7
+ 'abortOnUnmount'
8
+ ];
9
+ const TRPCContext = React.createContext?.(null);
10
+
11
+ export { TRPCContext, contextProps };
@@ -1,3 +1,9 @@
1
- import { TRPCQueryKey } from './getQueryKey';
2
- export declare function getClientArgs<TOptions>(queryKey: TRPCQueryKey, opts: TOptions, pageParam?: any): readonly [string, unknown, any];
1
+ import type { TRPCQueryKey } from './getQueryKey';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare function getClientArgs<TOptions>(queryKey: TRPCQueryKey, opts: TOptions, infiniteParams?: {
6
+ pageParam: any;
7
+ direction: 'forward' | 'backward';
8
+ }): readonly [string, unknown, any];
3
9
  //# sourceMappingURL=getClientArgs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getClientArgs.d.ts","sourceRoot":"","sources":["../../src/internals/getClientArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,wBAAgB,aAAa,CAAC,QAAQ,EACpC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,QAAQ,EACd,SAAS,CAAC,EAAE,GAAG,mCAMhB"}
1
+ {"version":3,"file":"getClientArgs.d.ts","sourceRoot":"","sources":["../../src/internals/getClientArgs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EACpC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,QAAQ,EACd,cAAc,CAAC,EAAE;IACf,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;CACnC,mCAYF"}
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @internal
5
+ */ function getClientArgs(queryKey, opts, infiniteParams) {
6
+ const path = queryKey[0];
7
+ let input = queryKey[1]?.input;
8
+ if (infiniteParams) {
9
+ input = {
10
+ ...input ?? {},
11
+ ...infiniteParams.pageParam ? {
12
+ cursor: infiniteParams.pageParam
13
+ } : {},
14
+ direction: infiniteParams.direction
15
+ };
16
+ }
17
+ return [
18
+ path.join('.'),
19
+ input,
20
+ opts?.trpc
21
+ ];
22
+ }
23
+
24
+ exports.getClientArgs = getClientArgs;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @internal
3
+ */ function getClientArgs(queryKey, opts, infiniteParams) {
4
+ const path = queryKey[0];
5
+ let input = queryKey[1]?.input;
6
+ if (infiniteParams) {
7
+ input = {
8
+ ...input ?? {},
9
+ ...infiniteParams.pageParam ? {
10
+ cursor: infiniteParams.pageParam
11
+ } : {},
12
+ direction: infiniteParams.direction
13
+ };
14
+ }
15
+ return [
16
+ path.join('.'),
17
+ input,
18
+ opts?.trpc
19
+ ];
20
+ }
21
+
22
+ export { getClientArgs };
@@ -1,5 +1,6 @@
1
- import { AnyMutationProcedure, AnyQueryProcedure, AnyRootConfig, AnyRouter, DeepPartial, inferProcedureInput } from '@trpc/server';
2
- import { DecoratedProcedureRecord, DecorateProcedure } from '../shared';
1
+ import { type DeepPartial } from '@trpc/server/unstable-core-do-not-import';
2
+ import type { DecoratedMutation, DecoratedQuery } from '../createTRPCReact';
3
+ import type { DecorateRouterRecord } from '../shared';
3
4
  export type QueryType = 'any' | 'infinite' | 'query';
4
5
  export type TRPCQueryKey = [
5
6
  string[],
@@ -8,33 +9,27 @@ export type TRPCQueryKey = [
8
9
  type?: Exclude<QueryType, 'any'>;
9
10
  }?
10
11
  ];
12
+ type ProcedureOrRouter = DecoratedMutation<any> | DecoratedQuery<any> | DecorateRouterRecord<any, any>;
11
13
  /**
12
14
  * To allow easy interactions with groups of related queries, such as
13
15
  * invalidating all queries of a router, we use an array as the path when
14
16
  * storing in tanstack query.
15
17
  **/
16
18
  export declare function getQueryKeyInternal(path: string[], input: unknown, type: QueryType): TRPCQueryKey;
17
- type GetInfiniteQueryInput<TProcedureInput, TInputWithoutCursor = Omit<TProcedureInput, 'cursor'>> = keyof TInputWithoutCursor extends never ? undefined : DeepPartial<TInputWithoutCursor> | undefined;
19
+ type GetInfiniteQueryInput<TProcedureInput, TInputWithoutCursorAndDirection = Omit<TProcedureInput, 'cursor' | 'direction'>> = keyof TInputWithoutCursorAndDirection extends never ? undefined : DeepPartial<TInputWithoutCursorAndDirection> | undefined;
18
20
  /** @internal */
19
21
  export type GetQueryProcedureInput<TProcedureInput> = TProcedureInput extends {
20
22
  cursor?: any;
21
23
  } ? GetInfiniteQueryInput<TProcedureInput> : DeepPartial<TProcedureInput> | undefined;
22
- type GetQueryParams<TProcedureOrRouter extends AnyQueryProcedure, TProcedureInput = inferProcedureInput<TProcedureOrRouter>> = TProcedureInput extends undefined ? [] : [input?: GetQueryProcedureInput<TProcedureInput>, type?: QueryType];
23
- type GetParams<TConfig extends AnyRootConfig, TProcedureOrRouter extends AnyMutationProcedure | AnyQueryProcedure | AnyRouter, TFlags> = TProcedureOrRouter extends AnyQueryProcedure ? [
24
- procedureOrRouter: DecorateProcedure<TConfig, TProcedureOrRouter, TFlags>,
25
- ..._params: GetQueryParams<TProcedureOrRouter>
26
- ] : TProcedureOrRouter extends AnyMutationProcedure ? [procedureOrRouter: DecorateProcedure<TConfig, TProcedureOrRouter, TFlags>] : TProcedureOrRouter extends AnyRouter ? [
27
- procedureOrRouter: DecoratedProcedureRecord<TConfig, TProcedureOrRouter['_def']['record'], TFlags>
28
- ] : never;
29
- type GetQueryKeyParams<TConfig extends AnyRootConfig, TProcedureOrRouter extends AnyMutationProcedure | AnyQueryProcedure | AnyRouter, TFlags> = GetParams<TConfig, TProcedureOrRouter, TFlags>;
24
+ type GetParams<TProcedureOrRouter extends ProcedureOrRouter> = TProcedureOrRouter extends DecoratedQuery<infer $Def> ? [input?: GetQueryProcedureInput<$Def['input']>, type?: QueryType] : [];
30
25
  /**
31
26
  * Method to extract the query key for a procedure
32
27
  * @param procedureOrRouter - procedure or AnyRouter
33
28
  * @param input - input to procedureOrRouter
34
29
  * @param type - defaults to `any`
35
- * @link https://trpc.io/docs/getQueryKey
30
+ * @link https://trpc.io/docs/v11/getQueryKey
36
31
  */
37
- export declare function getQueryKey<TConfig extends AnyRootConfig, TProcedureOrRouter extends AnyMutationProcedure | AnyQueryProcedure | AnyRouter, TFlags>(..._params: GetQueryKeyParams<TConfig, TProcedureOrRouter, TFlags>): TRPCQueryKey;
32
+ export declare function getQueryKey<TProcedureOrRouter extends ProcedureOrRouter>(procedureOrRouter: TProcedureOrRouter, ..._params: GetParams<TProcedureOrRouter>): TRPCQueryKey;
38
33
  export type QueryKeyKnown<TInput, TType extends Exclude<QueryType, 'any'>> = [
39
34
  string[],
40
35
  {
@@ -1 +1 @@
1
- {"version":3,"file":"getQueryKey.d.ts","sourceRoot":"","sources":["../../src/internals/getQueryKey.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,WAAW,EACX,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAExE,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE;IACR;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;KAAE,CAAC;CACvD,CAAC;AAEF;;;;IAII;AACJ,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,SAAS,GACd,YAAY,CAmBd;AAED,KAAK,qBAAqB,CACxB,eAAe,EACf,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,IACnD,MAAM,mBAAmB,SAAS,KAAK,GACvC,SAAS,GACT,WAAW,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;AAEjD,gBAAgB;AAChB,MAAM,MAAM,sBAAsB,CAAC,eAAe,IAAI,eAAe,SAAS;IAC5E,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,GACG,qBAAqB,CAAC,eAAe,CAAC,GACtC,WAAW,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;AAE7C,KAAK,cAAc,CACjB,kBAAkB,SAAS,iBAAiB,EAC5C,eAAe,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,IACvD,eAAe,SAAS,SAAS,GACjC,EAAE,GACF,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AAExE,KAAK,SAAS,CACZ,OAAO,SAAS,aAAa,EAC7B,kBAAkB,SACd,oBAAoB,GACpB,iBAAiB,GACjB,SAAS,EACb,MAAM,IACJ,kBAAkB,SAAS,iBAAiB,GAC5C;IACE,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC;IACzE,GAAG,OAAO,EAAE,cAAc,CAAC,kBAAkB,CAAC;CAC/C,GACD,kBAAkB,SAAS,oBAAoB,GAC/C,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC,GAC3E,kBAAkB,SAAS,SAAS,GACpC;IACE,iBAAiB,EAAE,wBAAwB,CACzC,OAAO,EACP,kBAAkB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EACpC,MAAM,CACP;CACF,GACD,KAAK,CAAC;AAEV,KAAK,iBAAiB,CACpB,OAAO,SAAS,aAAa,EAC7B,kBAAkB,SACd,oBAAoB,GACpB,iBAAiB,GACjB,SAAS,EACb,MAAM,IACJ,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAEnD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,OAAO,SAAS,aAAa,EAC7B,kBAAkB,SACd,oBAAoB,GACpB,iBAAiB,GACjB,SAAS,EACb,MAAM,EACN,GAAG,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,gBAMnE;AAGD,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,SAAS,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI;IAC3E,MAAM,EAAE;IACR;QAAE,KAAK,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,KAAK,CAAA;KAAE,CAAC;CACzD,CAAC"}
1
+ {"version":3,"file":"getQueryKey.d.ts","sourceRoot":"","sources":["../../src/internals/getQueryKey.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE;IACR;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;KAAE,CAAC;CACvD,CAAC;AAEF,KAAK,iBAAiB,GAClB,iBAAiB,CAAC,GAAG,CAAC,GACtB,cAAc,CAAC,GAAG,CAAC,GACnB,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEnC;;;;IAII;AACJ,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,SAAS,GACd,YAAY,CAwCd;AAED,KAAK,qBAAqB,CACxB,eAAe,EACf,+BAA+B,GAAG,IAAI,CACpC,eAAe,EACf,QAAQ,GAAG,WAAW,CACvB,IACC,MAAM,+BAA+B,SAAS,KAAK,GACnD,SAAS,GACT,WAAW,CAAC,+BAA+B,CAAC,GAAG,SAAS,CAAC;AAE7D,gBAAgB;AAChB,MAAM,MAAM,sBAAsB,CAAC,eAAe,IAAI,eAAe,SAAS;IAC5E,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,GACG,qBAAqB,CAAC,eAAe,CAAC,GACtC,WAAW,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;AAE7C,KAAK,SAAS,CAAC,kBAAkB,SAAS,iBAAiB,IACzD,kBAAkB,SAAS,cAAc,CAAC,MAAM,IAAI,CAAC,GACjD,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,GACjE,EAAE,CAAC;AAET;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,kBAAkB,SAAS,iBAAiB,EACtE,iBAAiB,EAAE,kBAAkB,EACrC,GAAG,OAAO,EAAE,SAAS,CAAC,kBAAkB,CAAC,gBAQ1C;AAGD,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,SAAS,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI;IAC3E,MAAM,EAAE;IACR;QAAE,KAAK,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,KAAK,CAAA;KAAE,CAAC;CACzD,CAAC"}
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ var reactQuery = require('@tanstack/react-query');
4
+ var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
5
+
6
+ /**
7
+ * To allow easy interactions with groups of related queries, such as
8
+ * invalidating all queries of a router, we use an array as the path when
9
+ * storing in tanstack query.
10
+ **/ function getQueryKeyInternal(path, input, type) {
11
+ // Construct a query key that is easy to destructure and flexible for
12
+ // partial selecting etc.
13
+ // https://github.com/trpc/trpc/issues/3128
14
+ // some parts of the path may be dot-separated, split them up
15
+ const splitPath = path.flatMap((part)=>part.split('.'));
16
+ if (!input && (!type || type === 'any')) {
17
+ // for `utils.invalidate()` to match all queries (including vanilla react-query)
18
+ // we don't want nested array if path is empty, i.e. `[]` instead of `[[]]`
19
+ return splitPath.length ? [
20
+ splitPath
21
+ ] : [];
22
+ }
23
+ if (type === 'infinite' && unstableCoreDoNotImport.isObject(input) && ('direction' in input || 'cursor' in input)) {
24
+ const { cursor: _ , direction: __ , ...inputWithoutCursorAndDirection } = input;
25
+ return [
26
+ splitPath,
27
+ {
28
+ input: inputWithoutCursorAndDirection,
29
+ type: 'infinite'
30
+ }
31
+ ];
32
+ }
33
+ return [
34
+ splitPath,
35
+ {
36
+ ...typeof input !== 'undefined' && input !== reactQuery.skipToken && {
37
+ input: input
38
+ },
39
+ ...type && type !== 'any' && {
40
+ type: type
41
+ }
42
+ }
43
+ ];
44
+ }
45
+ /**
46
+ * Method to extract the query key for a procedure
47
+ * @param procedureOrRouter - procedure or AnyRouter
48
+ * @param input - input to procedureOrRouter
49
+ * @param type - defaults to `any`
50
+ * @link https://trpc.io/docs/v11/getQueryKey
51
+ */ function getQueryKey(procedureOrRouter, ..._params) {
52
+ const [input, type] = _params;
53
+ // @ts-expect-error - we don't expose _def on the type layer
54
+ const path = procedureOrRouter._def().path;
55
+ const queryKey = getQueryKeyInternal(path, input, type ?? 'any');
56
+ return queryKey;
57
+ }
58
+
59
+ exports.getQueryKey = getQueryKey;
60
+ exports.getQueryKeyInternal = getQueryKeyInternal;
@@ -0,0 +1,57 @@
1
+ import { skipToken } from '@tanstack/react-query';
2
+ import { isObject } from '@trpc/server/unstable-core-do-not-import';
3
+
4
+ /**
5
+ * To allow easy interactions with groups of related queries, such as
6
+ * invalidating all queries of a router, we use an array as the path when
7
+ * storing in tanstack query.
8
+ **/ function getQueryKeyInternal(path, input, type) {
9
+ // Construct a query key that is easy to destructure and flexible for
10
+ // partial selecting etc.
11
+ // https://github.com/trpc/trpc/issues/3128
12
+ // some parts of the path may be dot-separated, split them up
13
+ const splitPath = path.flatMap((part)=>part.split('.'));
14
+ if (!input && (!type || type === 'any')) {
15
+ // for `utils.invalidate()` to match all queries (including vanilla react-query)
16
+ // we don't want nested array if path is empty, i.e. `[]` instead of `[[]]`
17
+ return splitPath.length ? [
18
+ splitPath
19
+ ] : [];
20
+ }
21
+ if (type === 'infinite' && isObject(input) && ('direction' in input || 'cursor' in input)) {
22
+ const { cursor: _ , direction: __ , ...inputWithoutCursorAndDirection } = input;
23
+ return [
24
+ splitPath,
25
+ {
26
+ input: inputWithoutCursorAndDirection,
27
+ type: 'infinite'
28
+ }
29
+ ];
30
+ }
31
+ return [
32
+ splitPath,
33
+ {
34
+ ...typeof input !== 'undefined' && input !== skipToken && {
35
+ input: input
36
+ },
37
+ ...type && type !== 'any' && {
38
+ type: type
39
+ }
40
+ }
41
+ ];
42
+ }
43
+ /**
44
+ * Method to extract the query key for a procedure
45
+ * @param procedureOrRouter - procedure or AnyRouter
46
+ * @param input - input to procedureOrRouter
47
+ * @param type - defaults to `any`
48
+ * @link https://trpc.io/docs/v11/getQueryKey
49
+ */ function getQueryKey(procedureOrRouter, ..._params) {
50
+ const [input, type] = _params;
51
+ // @ts-expect-error - we don't expose _def on the type layer
52
+ const path = procedureOrRouter._def().path;
53
+ const queryKey = getQueryKeyInternal(path, input, type ?? 'any');
54
+ return queryKey;
55
+ }
56
+
57
+ export { getQueryKey, getQueryKeyInternal };
@@ -1,10 +1,8 @@
1
- export interface TRPCHookResult {
2
- trpc: {
3
- path: string;
4
- };
5
- }
1
+ import type { TRPCHookResult } from '../shared/hooks/types';
6
2
  /**
7
3
  * Makes a stable reference of the `trpc` prop
8
4
  */
9
- export declare function useHookResult(value: TRPCHookResult['trpc']): TRPCHookResult['trpc'];
5
+ export declare function useHookResult(value: {
6
+ path: string[];
7
+ }): TRPCHookResult['trpc'];
10
8
  //# sourceMappingURL=useHookResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHookResult.d.ts","sourceRoot":"","sources":["../../src/internals/useHookResult.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,GAC5B,cAAc,CAAC,MAAM,CAAC,CAIxB"}
1
+ {"version":3,"file":"useHookResult.d.ts","sourceRoot":"","sources":["../../src/internals/useHookResult.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,GAAG,cAAc,CAAC,MAAM,CAAC,CAQzB"}
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopNamespaceDefault(e) {
6
+ var n = Object.create(null);
7
+ if (e) {
8
+ Object.keys(e).forEach(function (k) {
9
+ if (k !== 'default') {
10
+ var d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: function () { return e[k]; }
14
+ });
15
+ }
16
+ });
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+
22
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
23
+
24
+ /**
25
+ * Makes a stable reference of the `trpc` prop
26
+ */ function useHookResult(value) {
27
+ const path = value.path.join('.');
28
+ return React__namespace.useMemo(()=>({
29
+ path
30
+ }), [
31
+ path
32
+ ]);
33
+ }
34
+
35
+ exports.useHookResult = useHookResult;
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+
3
+ /**
4
+ * Makes a stable reference of the `trpc` prop
5
+ */ function useHookResult(value) {
6
+ const path = value.path.join('.');
7
+ return React.useMemo(()=>({
8
+ path
9
+ }), [
10
+ path
11
+ ]);
12
+ }
13
+
14
+ export { useHookResult };
@@ -1,28 +1,56 @@
1
- import { QueryKey, UseQueryOptions } from '@tanstack/react-query';
2
- import { AnyRouter, DistributiveOmit } from '@trpc/server';
3
- import { UseQueriesProcedureRecord, UseTRPCQueryOptions, UseTRPCQueryResult } from '../shared';
1
+ import type { QueryKey, UseQueryOptions, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query';
2
+ import type { AnyRouter, DistributiveOmit } from '@trpc/server/unstable-core-do-not-import';
3
+ import type { UseQueriesProcedureRecord, UseSuspenseQueriesProcedureRecord, UseTRPCQueryOptions, UseTRPCQueryResult, UseTRPCSuspenseQueryOptions } from '../shared';
4
4
  /**
5
5
  * @internal
6
6
  */
7
7
  export type UseQueryOptionsForUseQueries<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = DistributiveOmit<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>;
8
+ /**
9
+ * @internal
10
+ */
11
+ export type UseQueryOptionsForUseSuspenseQueries<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = DistributiveOmit<UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>;
8
12
  /**
9
13
  * @internal
10
14
  */
11
15
  export type TrpcQueryOptionsForUseQueries<TOutput, TData, TError> = DistributiveOmit<UseTRPCQueryOptions<TOutput, TData, TError>, 'queryKey'>;
16
+ /**
17
+ * @internal
18
+ */
19
+ export type TrpcQueryOptionsForUseSuspenseQueries<TOutput, TData, TError> = DistributiveOmit<UseTRPCSuspenseQueryOptions<TOutput, TData, TError>, 'queryKey'>;
12
20
  /**
13
21
  * @internal
14
22
  */
15
23
  export declare type QueriesResults<TQueriesOptions extends UseQueryOptionsForUseQueries<any, any, any, any>[]> = {
16
24
  [TKey in keyof TQueriesOptions]: TQueriesOptions[TKey] extends UseQueryOptionsForUseQueries<infer TQueryFnData, infer TError, infer TData, any> ? UseTRPCQueryResult<unknown extends TData ? TQueryFnData : TData, TError> : never;
17
25
  };
26
+ /**
27
+ * @internal
28
+ */
29
+ export declare type SuspenseQueriesResults<TQueriesOptions extends UseQueryOptionsForUseSuspenseQueries<any, any, any, any>[]> = [
30
+ {
31
+ [TKey in keyof TQueriesOptions]: TQueriesOptions[TKey] extends UseQueryOptionsForUseSuspenseQueries<infer TQueryFnData, any, infer TData, any> ? unknown extends TData ? TQueryFnData : TData : never;
32
+ },
33
+ {
34
+ [TKey in keyof TQueriesOptions]: TQueriesOptions[TKey] extends UseQueryOptionsForUseSuspenseQueries<infer TQueryFnData, infer TError, infer TData, any> ? UseSuspenseQueryResult<unknown extends TData ? TQueryFnData : TData, TError> : never;
35
+ }
36
+ ];
18
37
  type GetOptions<TQueryOptions> = TQueryOptions extends UseQueryOptionsForUseQueries<any, any, any, any> ? TQueryOptions : never;
19
38
  /**
20
39
  * @internal
21
40
  */
22
41
  export type QueriesOptions<TQueriesOptions extends any[], TResult extends any[] = []> = TQueriesOptions extends [] ? [] : TQueriesOptions extends [infer Head] ? [...TResult, GetOptions<Head>] : TQueriesOptions extends [infer Head, ...infer Tail] ? QueriesOptions<Tail, [...TResult, GetOptions<Head>]> : unknown[] extends TQueriesOptions ? TQueriesOptions : TQueriesOptions extends UseQueryOptionsForUseQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>[] ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>[] : UseQueryOptionsForUseQueries[];
42
+ type GetSuspenseOptions<TQueryOptions> = TQueryOptions extends UseQueryOptionsForUseSuspenseQueries<any, any, any, any> ? TQueryOptions : never;
43
+ /**
44
+ * @internal
45
+ */
46
+ export type SuspenseQueriesOptions<TQueriesOptions extends any[], TResult extends any[] = []> = TQueriesOptions extends [] ? [] : TQueriesOptions extends [infer Head] ? [...TResult, GetSuspenseOptions<Head>] : TQueriesOptions extends [infer Head, ...infer Tail] ? QueriesOptions<Tail, [...TResult, GetSuspenseOptions<Head>]> : unknown[] extends TQueriesOptions ? TQueriesOptions : TQueriesOptions extends UseQueryOptionsForUseSuspenseQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>[] ? UseQueryOptionsForUseSuspenseQueries<TQueryFnData, TError, TData, TQueryKey>[] : UseQueryOptionsForUseSuspenseQueries[];
47
+ /**
48
+ * @internal
49
+ */
50
+ export type TRPCUseQueries<TRouter extends AnyRouter> = <TQueryOptions extends UseQueryOptionsForUseQueries<any, any, any, any>[]>(queriesCallback: (t: UseQueriesProcedureRecord<TRouter['_def']['_config']['$types'], TRouter['_def']['record']>) => readonly [...QueriesOptions<TQueryOptions>]) => QueriesResults<TQueryOptions>;
23
51
  /**
24
52
  * @internal
25
53
  */
26
- export type TRPCUseQueries<TRouter extends AnyRouter> = <TQueryOptions extends UseQueryOptionsForUseQueries<any, any, any, any>[]>(queriesCallback: (t: UseQueriesProcedureRecord<TRouter>) => readonly [...QueriesOptions<TQueryOptions>]) => QueriesResults<TQueryOptions>;
54
+ export type TRPCUseSuspenseQueries<TRouter extends AnyRouter> = <TQueryOptions extends UseQueryOptionsForUseSuspenseQueries<any, any, any, any>[]>(queriesCallback: (t: UseSuspenseQueriesProcedureRecord<TRouter['_def']['_config']['$types'], TRouter['_def']['record']>) => readonly [...SuspenseQueriesOptions<TQueryOptions>]) => SuspenseQueriesResults<TQueryOptions>;
27
55
  export {};
28
56
  //# sourceMappingURL=useQueries.d.ts.map