@trpc/react-query 11.0.0-next.91 → 11.0.0-rc.329

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
@@ -1 +1 @@
1
- {"version":3,"file":"useQueries.d.ts","sourceRoot":"","sources":["../../src/internals/useQueries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,4BAA4B,CACtC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,OAAO,EAChB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,IACnC,gBAAgB,CAClB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EACvD,UAAU,CACX,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,6BAA6B,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,IAC9D,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;AAE5E;;GAEG;AACH,MAAM,CAAC,OAAO,MAAM,cAAc,CAChC,eAAe,SAAS,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IACxE;KACD,IAAI,IAAI,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,4BAA4B,CACzF,MAAM,YAAY,EAClB,MAAM,MAAM,EACZ,MAAM,KAAK,EACX,GAAG,CACJ,GACG,kBAAkB,CAAC,OAAO,SAAS,KAAK,GAAG,YAAY,GAAG,KAAK,EAAE,MAAM,CAAC,GACxE,KAAK;CACV,CAAC;AAEF,KAAK,UAAU,CAAC,aAAa,IAC3B,aAAa,SAAS,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAClE,aAAa,GACb,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,cAAc,CACxB,eAAe,SAAS,GAAG,EAAE,EAC7B,OAAO,SAAS,GAAG,EAAE,GAAG,EAAE,IACxB,eAAe,SAAS,EAAE,GAC1B,EAAE,GACF,eAAe,SAAS,CAAC,MAAM,IAAI,CAAC,GACpC,CAAC,GAAG,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,GAC9B,eAAe,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACnD,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GACpD,OAAO,EAAE,SAAS,eAAe,GACjC,eAAe,GACf,eAAe,SAAS,4BAA4B,CAClD,MAAM,YAAY,EAClB,MAAM,MAAM,EACZ,MAAM,KAAK,EACX,MAAM,SAAS,CAChB,EAAE,GACH,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GACtE,4BAA4B,EAAE,CAAC;AAEnC;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,SAAS,IAAI,CACtD,aAAa,SAAS,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAExE,eAAe,EAAE,CACf,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAClC,SAAS,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,KAC7C,cAAc,CAAC,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"useQueries.d.ts","sourceRoot":"","sources":["../../src/internals/useQueries.ts"],"names":[],"mappings":"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"}
@@ -1,108 +1,7 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
3
+ var ssgProxy = require('./ssgProxy.js');
4
4
 
5
- var reactQuery = require('@tanstack/react-query');
6
- var client = require('@trpc/client');
7
- var server = require('@trpc/server');
8
- var shared = require('@trpc/server/shared');
9
- var utilsProxy = require('../utilsProxy-27bd93c1.js');
10
- require('react');
11
- var queryClient = require('../queryClient-358a9a75.js');
12
5
 
13
- /**
14
- * Create functions you can use for server-side rendering / static generation
15
- * @see https://trpc.io/docs/client/nextjs/server-side-helpers
16
- */ function createServerSideHelpers(opts) {
17
- const queryClient$1 = queryClient.getQueryClient(opts);
18
- const resolvedOpts = (()=>{
19
- if ('router' in opts) {
20
- const { transformer , ctx , router } = opts;
21
- return {
22
- serialize: transformer ? ('input' in transformer ? transformer.input : transformer).serialize : (obj)=>obj,
23
- query: (queryOpts)=>{
24
- return server.callProcedure({
25
- procedures: router._def.procedures,
26
- path: queryOpts.path,
27
- getRawInput: async ()=>queryOpts.input,
28
- ctx,
29
- type: 'query'
30
- });
31
- }
32
- };
33
- }
34
- const { client: client$1 } = opts;
35
- const untypedClient = client$1 instanceof client.TRPCUntypedClient ? client$1 : client.getUntypedClient(client$1);
36
- return {
37
- query: (queryOpts)=>untypedClient.query(queryOpts.path, queryOpts.input),
38
- serialize: (obj)=>untypedClient.runtime.transformer.serialize(obj)
39
- };
40
- })();
41
- function _dehydrate(opts = {
42
- shouldDehydrateQuery () {
43
- // makes sure to serialize errors
44
- return true;
45
- }
46
- }) {
47
- const before = reactQuery.dehydrate(queryClient$1, opts);
48
- const after = resolvedOpts.serialize(before);
49
- return after;
50
- }
51
- return shared.createFlatProxy((key)=>{
52
- if (key === 'queryClient') return queryClient$1;
53
- if (key === 'dehydrate') return _dehydrate;
54
- return shared.createRecursiveProxy((opts)=>{
55
- const args = opts.args;
56
- const input = args[0];
57
- const arrayPath = [
58
- key,
59
- ...opts.path
60
- ];
61
- const utilName = arrayPath.pop();
62
- const queryFn = ()=>resolvedOpts.query({
63
- path: arrayPath.join('.'),
64
- input
65
- });
66
- const queryKey = utilsProxy.getQueryKeyInternal(arrayPath, input, utilsProxy.getQueryType(utilName));
67
- const helperMap = {
68
- fetch: ()=>{
69
- const args1 = args[1];
70
- return queryClient$1.fetchQuery({
71
- ...args1,
72
- queryKey,
73
- queryFn
74
- });
75
- },
76
- fetchInfinite: ()=>{
77
- const args1 = args[1];
78
- return queryClient$1.fetchInfiniteQuery({
79
- ...args1,
80
- queryKey,
81
- queryFn,
82
- initialPageParam: args1?.initialCursor ?? null
83
- });
84
- },
85
- prefetch: ()=>{
86
- const args1 = args[1];
87
- return queryClient$1.prefetchQuery({
88
- ...args1,
89
- queryKey,
90
- queryFn
91
- });
92
- },
93
- prefetchInfinite: ()=>{
94
- const args1 = args[1];
95
- return queryClient$1.prefetchInfiniteQuery({
96
- ...args1,
97
- queryKey,
98
- queryFn,
99
- initialPageParam: args1?.initialCursor ?? null
100
- });
101
- }
102
- };
103
- return helperMap[utilName]();
104
- });
105
- });
106
- }
107
6
 
108
- exports.createServerSideHelpers = createServerSideHelpers;
7
+ exports.createServerSideHelpers = ssgProxy.createServerSideHelpers;
@@ -1,104 +1 @@
1
- import { dehydrate } from '@tanstack/react-query';
2
- import { TRPCUntypedClient, getUntypedClient } from '@trpc/client';
3
- import { callProcedure } from '@trpc/server';
4
- import { createFlatProxy, createRecursiveProxy } from '@trpc/server/shared';
5
- import { a as getQueryKeyInternal, b as getQueryType } from '../utilsProxy-00894da2.mjs';
6
- import 'react';
7
- import { g as getQueryClient } from '../queryClient-4d766c0c.mjs';
8
-
9
- /**
10
- * Create functions you can use for server-side rendering / static generation
11
- * @see https://trpc.io/docs/client/nextjs/server-side-helpers
12
- */ function createServerSideHelpers(opts) {
13
- const queryClient = getQueryClient(opts);
14
- const resolvedOpts = (()=>{
15
- if ('router' in opts) {
16
- const { transformer , ctx , router } = opts;
17
- return {
18
- serialize: transformer ? ('input' in transformer ? transformer.input : transformer).serialize : (obj)=>obj,
19
- query: (queryOpts)=>{
20
- return callProcedure({
21
- procedures: router._def.procedures,
22
- path: queryOpts.path,
23
- getRawInput: async ()=>queryOpts.input,
24
- ctx,
25
- type: 'query'
26
- });
27
- }
28
- };
29
- }
30
- const { client } = opts;
31
- const untypedClient = client instanceof TRPCUntypedClient ? client : getUntypedClient(client);
32
- return {
33
- query: (queryOpts)=>untypedClient.query(queryOpts.path, queryOpts.input),
34
- serialize: (obj)=>untypedClient.runtime.transformer.serialize(obj)
35
- };
36
- })();
37
- function _dehydrate(opts = {
38
- shouldDehydrateQuery () {
39
- // makes sure to serialize errors
40
- return true;
41
- }
42
- }) {
43
- const before = dehydrate(queryClient, opts);
44
- const after = resolvedOpts.serialize(before);
45
- return after;
46
- }
47
- return createFlatProxy((key)=>{
48
- if (key === 'queryClient') return queryClient;
49
- if (key === 'dehydrate') return _dehydrate;
50
- return createRecursiveProxy((opts)=>{
51
- const args = opts.args;
52
- const input = args[0];
53
- const arrayPath = [
54
- key,
55
- ...opts.path
56
- ];
57
- const utilName = arrayPath.pop();
58
- const queryFn = ()=>resolvedOpts.query({
59
- path: arrayPath.join('.'),
60
- input
61
- });
62
- const queryKey = getQueryKeyInternal(arrayPath, input, getQueryType(utilName));
63
- const helperMap = {
64
- fetch: ()=>{
65
- const args1 = args[1];
66
- return queryClient.fetchQuery({
67
- ...args1,
68
- queryKey,
69
- queryFn
70
- });
71
- },
72
- fetchInfinite: ()=>{
73
- const args1 = args[1];
74
- return queryClient.fetchInfiniteQuery({
75
- ...args1,
76
- queryKey,
77
- queryFn,
78
- initialPageParam: args1?.initialCursor ?? null
79
- });
80
- },
81
- prefetch: ()=>{
82
- const args1 = args[1];
83
- return queryClient.prefetchQuery({
84
- ...args1,
85
- queryKey,
86
- queryFn
87
- });
88
- },
89
- prefetchInfinite: ()=>{
90
- const args1 = args[1];
91
- return queryClient.prefetchInfiniteQuery({
92
- ...args1,
93
- queryKey,
94
- queryFn,
95
- initialPageParam: args1?.initialCursor ?? null
96
- });
97
- }
98
- };
99
- return helperMap[utilName]();
100
- });
101
- });
102
- }
103
-
104
- export { createServerSideHelpers };
1
+ export { createServerSideHelpers } from './ssgProxy.mjs';
@@ -1,48 +1,48 @@
1
- import { DehydratedState, DehydrateOptions, InfiniteData, QueryClient } from '@tanstack/react-query';
2
- import { inferRouterClient, TRPCClientError, TRPCUntypedClient } from '@trpc/client';
3
- import { AnyProcedure, AnyQueryProcedure, AnyRootConfig, AnyRouter, ClientDataTransformerOptions, Filter, inferProcedureInput, inferRouterContext, ProtectedIntersection } from '@trpc/server';
4
- import { inferTransformedProcedureOutput } from '@trpc/server/shared';
5
- import { CreateTRPCReactQueryClientConfig, ExtractCursorType, TRPCFetchInfiniteQueryOptions, TRPCFetchQueryOptions } from '../shared';
6
- interface CreateSSGHelpersInternal<TRouter extends AnyRouter> {
1
+ import type { DehydratedState, DehydrateOptions, InfiniteData, QueryClient } from '@tanstack/react-query';
2
+ import type { inferRouterClient, TRPCClientError } from '@trpc/client';
3
+ import { TRPCUntypedClient } from '@trpc/client';
4
+ import { type TransformerOptions } from '@trpc/client/unstable-internals';
5
+ import type { AnyProcedure, AnyQueryProcedure, AnyRootTypes, AnyRouter, inferClientTypes, inferProcedureInput, inferRouterContext, inferTransformedProcedureOutput, ProtectedIntersection, RouterRecord } from '@trpc/server/unstable-core-do-not-import';
6
+ import type { CreateTRPCReactQueryClientConfig, ExtractCursorType, TRPCFetchInfiniteQueryOptions, TRPCFetchQueryOptions } from '../shared';
7
+ type CreateSSGHelpersInternal<TRouter extends AnyRouter> = {
7
8
  router: TRouter;
8
9
  ctx: inferRouterContext<TRouter>;
9
- transformer?: ClientDataTransformerOptions;
10
- }
10
+ } & TransformerOptions<inferClientTypes<TRouter>>;
11
11
  interface CreateSSGHelpersExternal<TRouter extends AnyRouter> {
12
12
  client: inferRouterClient<TRouter> | TRPCUntypedClient<TRouter>;
13
13
  }
14
14
  type CreateServerSideHelpersOptions<TRouter extends AnyRouter> = CreateTRPCReactQueryClientConfig & (CreateSSGHelpersExternal<TRouter> | CreateSSGHelpersInternal<TRouter>);
15
- type DecorateProcedure<TConfig extends AnyRootConfig, TProcedure extends AnyProcedure> = {
15
+ type DecorateProcedure<TRoot extends AnyRootTypes, TProcedure extends AnyProcedure> = {
16
16
  /**
17
- * @link https://tanstack.com/query/v5/docs/react/guides/prefetching
17
+ * @link https://tanstack.com/query/v5/docs/framework/react/guides/prefetching
18
18
  */
19
- fetch(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchQueryOptions<inferTransformedProcedureOutput<TConfig, TProcedure>, TRPCClientError<TConfig>>): Promise<inferTransformedProcedureOutput<TConfig, TProcedure>>;
19
+ fetch(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchQueryOptions<inferTransformedProcedureOutput<TRoot, TProcedure>, TRPCClientError<TRoot>>): Promise<inferTransformedProcedureOutput<TRoot, TProcedure>>;
20
20
  /**
21
- * @link https://tanstack.com/query/v5/docs/react/guides/prefetching
21
+ * @link https://tanstack.com/query/v5/docs/framework/react/guides/prefetching
22
22
  */
23
- fetchInfinite(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchInfiniteQueryOptions<inferProcedureInput<TProcedure>, inferTransformedProcedureOutput<TConfig, TProcedure>, TRPCClientError<TConfig>>): Promise<InfiniteData<inferTransformedProcedureOutput<TConfig, TProcedure>, NonNullable<ExtractCursorType<inferProcedureInput<TProcedure>>> | null>>;
23
+ fetchInfinite(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchInfiniteQueryOptions<inferProcedureInput<TProcedure>, inferTransformedProcedureOutput<TRoot, TProcedure>, TRPCClientError<TRoot>>): Promise<InfiniteData<inferTransformedProcedureOutput<TRoot, TProcedure>, NonNullable<ExtractCursorType<inferProcedureInput<TProcedure>>> | null>>;
24
24
  /**
25
- * @link https://tanstack.com/query/v5/docs/react/guides/prefetching
25
+ * @link https://tanstack.com/query/v5/docs/framework/react/guides/prefetching
26
26
  */
27
- prefetch(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchQueryOptions<inferTransformedProcedureOutput<TConfig, TProcedure>, TRPCClientError<TConfig>>): Promise<void>;
27
+ prefetch(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchQueryOptions<inferTransformedProcedureOutput<TRoot, TProcedure>, TRPCClientError<TRoot>>): Promise<void>;
28
28
  /**
29
- * @link https://tanstack.com/query/v5/docs/react/guides/prefetching
29
+ * @link https://tanstack.com/query/v5/docs/framework/react/guides/prefetching
30
30
  */
31
- prefetchInfinite(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchInfiniteQueryOptions<inferProcedureInput<TProcedure>, inferTransformedProcedureOutput<TConfig, TProcedure>, TRPCClientError<TConfig>>): Promise<void>;
31
+ prefetchInfinite(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchInfiniteQueryOptions<inferProcedureInput<TProcedure>, inferTransformedProcedureOutput<TRoot, TProcedure>, TRPCClientError<TRoot>>): Promise<void>;
32
32
  };
33
33
  /**
34
34
  * @internal
35
35
  */
36
- type DecoratedProcedureSSGRecord<TRouter extends AnyRouter> = {
37
- [TKey in keyof Filter<TRouter['_def']['record'], AnyQueryProcedure | AnyRouter>]: TRouter['_def']['record'][TKey] extends AnyRouter ? DecoratedProcedureSSGRecord<TRouter['_def']['record'][TKey]> : DecorateProcedure<TRouter['_def']['_config'], TRouter['_def']['record'][TKey]>;
36
+ type DecoratedProcedureSSGRecord<TRoot extends AnyRootTypes, TRecord extends RouterRecord> = {
37
+ [TKey in keyof TRecord]: TRecord[TKey] extends infer $Value ? $Value extends RouterRecord ? DecoratedProcedureSSGRecord<TRoot, $Value> : $Value extends AnyQueryProcedure ? DecorateProcedure<TRoot, $Value> : never : never;
38
38
  };
39
39
  /**
40
40
  * Create functions you can use for server-side rendering / static generation
41
- * @see https://trpc.io/docs/client/nextjs/server-side-helpers
41
+ * @link https://trpc.io/docs/v11/client/nextjs/server-side-helpers
42
42
  */
43
43
  export declare function createServerSideHelpers<TRouter extends AnyRouter>(opts: CreateServerSideHelpersOptions<TRouter>): ProtectedIntersection<{
44
44
  queryClient: QueryClient;
45
45
  dehydrate: (opts?: DehydrateOptions) => DehydratedState;
46
- }, DecoratedProcedureSSGRecord<TRouter>>;
46
+ }, DecoratedProcedureSSGRecord<TRouter["_def"]["_config"]["$types"], TRouter["_def"]["record"]>>;
47
47
  export {};
48
48
  //# sourceMappingURL=ssgProxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssgProxy.d.ts","sourceRoot":"","sources":["../../src/server/ssgProxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssgProxy.d.ts","sourceRoot":"","sources":["../../src/server/ssgProxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ 'use strict';
2
+
3
+ var reactQuery = require('@tanstack/react-query');
4
+ var client = require('@trpc/client');
5
+ var unstableInternals = require('@trpc/client/unstable-internals');
6
+ var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
7
+ var getQueryKey = require('../internals/getQueryKey.js');
8
+ var utilsProxy = require('../shared/proxy/utilsProxy.js');
9
+ require('react');
10
+ require('../internals/context.js');
11
+ var queryClient = require('../shared/queryClient.js');
12
+
13
+ /**
14
+ * Create functions you can use for server-side rendering / static generation
15
+ * @link https://trpc.io/docs/v11/client/nextjs/server-side-helpers
16
+ */ function createServerSideHelpers(opts) {
17
+ const queryClient$1 = queryClient.getQueryClient(opts);
18
+ const transformer = unstableInternals.getTransformer(opts.transformer);
19
+ const resolvedOpts = (()=>{
20
+ if ('router' in opts) {
21
+ const { ctx , router } = opts;
22
+ return {
23
+ serialize: transformer.output.serialize,
24
+ query: (queryOpts)=>{
25
+ return unstableCoreDoNotImport.callProcedure({
26
+ procedures: router._def.procedures,
27
+ path: queryOpts.path,
28
+ getRawInput: async ()=>queryOpts.input,
29
+ ctx,
30
+ type: 'query'
31
+ });
32
+ }
33
+ };
34
+ }
35
+ const { client: client$1 } = opts;
36
+ const untypedClient = client$1 instanceof client.TRPCUntypedClient ? client$1 : client.getUntypedClient(client$1);
37
+ return {
38
+ query: (queryOpts)=>untypedClient.query(queryOpts.path, queryOpts.input),
39
+ serialize: (obj)=>transformer.output.serialize(obj)
40
+ };
41
+ })();
42
+ function _dehydrate(opts = {
43
+ shouldDehydrateQuery () {
44
+ // makes sure to serialize errors
45
+ return true;
46
+ }
47
+ }) {
48
+ const before = reactQuery.dehydrate(queryClient$1, opts);
49
+ const after = resolvedOpts.serialize(before);
50
+ return after;
51
+ }
52
+ return unstableCoreDoNotImport.createFlatProxy((key)=>{
53
+ if (key === 'queryClient') return queryClient$1;
54
+ if (key === 'dehydrate') return _dehydrate;
55
+ return unstableCoreDoNotImport.createRecursiveProxy((opts)=>{
56
+ const args = opts.args;
57
+ const input = args[0];
58
+ const arrayPath = [
59
+ key,
60
+ ...opts.path
61
+ ];
62
+ const utilName = arrayPath.pop();
63
+ const queryFn = ()=>resolvedOpts.query({
64
+ path: arrayPath.join('.'),
65
+ input
66
+ });
67
+ const queryKey = getQueryKey.getQueryKeyInternal(arrayPath, input, utilsProxy.getQueryType(utilName));
68
+ const helperMap = {
69
+ fetch: ()=>{
70
+ const args1 = args[1];
71
+ return queryClient$1.fetchQuery({
72
+ ...args1,
73
+ queryKey,
74
+ queryFn
75
+ });
76
+ },
77
+ fetchInfinite: ()=>{
78
+ const args1 = args[1];
79
+ return queryClient$1.fetchInfiniteQuery({
80
+ ...args1,
81
+ queryKey,
82
+ queryFn,
83
+ initialPageParam: args1?.initialCursor ?? null
84
+ });
85
+ },
86
+ prefetch: ()=>{
87
+ const args1 = args[1];
88
+ return queryClient$1.prefetchQuery({
89
+ ...args1,
90
+ queryKey,
91
+ queryFn
92
+ });
93
+ },
94
+ prefetchInfinite: ()=>{
95
+ const args1 = args[1];
96
+ return queryClient$1.prefetchInfiniteQuery({
97
+ ...args1,
98
+ queryKey,
99
+ queryFn,
100
+ initialPageParam: args1?.initialCursor ?? null
101
+ });
102
+ }
103
+ };
104
+ return helperMap[utilName]();
105
+ });
106
+ });
107
+ }
108
+
109
+ exports.createServerSideHelpers = createServerSideHelpers;
@@ -0,0 +1,107 @@
1
+ import { dehydrate } from '@tanstack/react-query';
2
+ import { TRPCUntypedClient, getUntypedClient } from '@trpc/client';
3
+ import { getTransformer } from '@trpc/client/unstable-internals';
4
+ import { callProcedure, createFlatProxy, createRecursiveProxy } from '@trpc/server/unstable-core-do-not-import';
5
+ import { getQueryKeyInternal } from '../internals/getQueryKey.mjs';
6
+ import { getQueryType } from '../shared/proxy/utilsProxy.mjs';
7
+ import 'react';
8
+ import '../internals/context.mjs';
9
+ import { getQueryClient } from '../shared/queryClient.mjs';
10
+
11
+ /**
12
+ * Create functions you can use for server-side rendering / static generation
13
+ * @link https://trpc.io/docs/v11/client/nextjs/server-side-helpers
14
+ */ function createServerSideHelpers(opts) {
15
+ const queryClient = getQueryClient(opts);
16
+ const transformer = getTransformer(opts.transformer);
17
+ const resolvedOpts = (()=>{
18
+ if ('router' in opts) {
19
+ const { ctx , router } = opts;
20
+ return {
21
+ serialize: transformer.output.serialize,
22
+ query: (queryOpts)=>{
23
+ return callProcedure({
24
+ procedures: router._def.procedures,
25
+ path: queryOpts.path,
26
+ getRawInput: async ()=>queryOpts.input,
27
+ ctx,
28
+ type: 'query'
29
+ });
30
+ }
31
+ };
32
+ }
33
+ const { client } = opts;
34
+ const untypedClient = client instanceof TRPCUntypedClient ? client : getUntypedClient(client);
35
+ return {
36
+ query: (queryOpts)=>untypedClient.query(queryOpts.path, queryOpts.input),
37
+ serialize: (obj)=>transformer.output.serialize(obj)
38
+ };
39
+ })();
40
+ function _dehydrate(opts = {
41
+ shouldDehydrateQuery () {
42
+ // makes sure to serialize errors
43
+ return true;
44
+ }
45
+ }) {
46
+ const before = dehydrate(queryClient, opts);
47
+ const after = resolvedOpts.serialize(before);
48
+ return after;
49
+ }
50
+ return createFlatProxy((key)=>{
51
+ if (key === 'queryClient') return queryClient;
52
+ if (key === 'dehydrate') return _dehydrate;
53
+ return createRecursiveProxy((opts)=>{
54
+ const args = opts.args;
55
+ const input = args[0];
56
+ const arrayPath = [
57
+ key,
58
+ ...opts.path
59
+ ];
60
+ const utilName = arrayPath.pop();
61
+ const queryFn = ()=>resolvedOpts.query({
62
+ path: arrayPath.join('.'),
63
+ input
64
+ });
65
+ const queryKey = getQueryKeyInternal(arrayPath, input, getQueryType(utilName));
66
+ const helperMap = {
67
+ fetch: ()=>{
68
+ const args1 = args[1];
69
+ return queryClient.fetchQuery({
70
+ ...args1,
71
+ queryKey,
72
+ queryFn
73
+ });
74
+ },
75
+ fetchInfinite: ()=>{
76
+ const args1 = args[1];
77
+ return queryClient.fetchInfiniteQuery({
78
+ ...args1,
79
+ queryKey,
80
+ queryFn,
81
+ initialPageParam: args1?.initialCursor ?? null
82
+ });
83
+ },
84
+ prefetch: ()=>{
85
+ const args1 = args[1];
86
+ return queryClient.prefetchQuery({
87
+ ...args1,
88
+ queryKey,
89
+ queryFn
90
+ });
91
+ },
92
+ prefetchInfinite: ()=>{
93
+ const args1 = args[1];
94
+ return queryClient.prefetchInfiniteQuery({
95
+ ...args1,
96
+ queryKey,
97
+ queryFn,
98
+ initialPageParam: args1?.initialCursor ?? null
99
+ });
100
+ }
101
+ };
102
+ return helperMap[utilName]();
103
+ });
104
+ });
105
+ }
106
+
107
+ export { createServerSideHelpers };
@@ -1,9 +1,9 @@
1
- import { TRPCClientErrorLike } from '@trpc/client';
2
- import type { AnyRouter } from '@trpc/server';
3
- import { TRPCContextState } from '../../internals/context';
4
- import { TRPCUseQueries } from '../../internals/useQueries';
5
- import { CreateTRPCReactOptions } from '../types';
6
- import { CreateClient, TRPCProvider, UseDehydratedState, UseTRPCInfiniteQueryOptions, UseTRPCInfiniteQueryResult, UseTRPCMutationOptions, UseTRPCMutationResult, UseTRPCQueryOptions, UseTRPCQueryResult, UseTRPCSubscriptionOptions, UseTRPCSuspenseInfiniteQueryOptions, UseTRPCSuspenseInfiniteQueryResult, UseTRPCSuspenseQueryOptions, UseTRPCSuspenseQueryResult } from './types';
1
+ import type { TRPCClientErrorLike } from '@trpc/client';
2
+ import type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';
3
+ import type { TRPCContextState } from '../../internals/context';
4
+ import type { TRPCUseQueries, TRPCUseSuspenseQueries } from '../../internals/useQueries';
5
+ import type { CreateTRPCReactOptions } from '../types';
6
+ import type { CreateClient, TRPCProvider, UseTRPCInfiniteQueryOptions, UseTRPCInfiniteQueryResult, UseTRPCMutationOptions, UseTRPCMutationResult, UseTRPCQueryOptions, UseTRPCQueryResult, UseTRPCSubscriptionOptions, UseTRPCSuspenseInfiniteQueryOptions, UseTRPCSuspenseInfiniteQueryResult, UseTRPCSuspenseQueryOptions, UseTRPCSuspenseQueryResult } from './types';
7
7
  /**
8
8
  * @internal
9
9
  */
@@ -15,38 +15,15 @@ export declare function createRootHooks<TRouter extends AnyRouter, TSSRContext =
15
15
  useQuery: (path: string[], input: unknown, opts?: UseTRPCQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>, unknown> | undefined) => UseTRPCQueryResult<unknown, TRPCClientErrorLike<TRouter>>;
16
16
  useSuspenseQuery: (path: string[], input: unknown, opts?: UseTRPCSuspenseQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>> | undefined) => UseTRPCSuspenseQueryResult<unknown, TRPCClientErrorLike<TRouter>>;
17
17
  useQueries: TRPCUseQueries<TRouter>;
18
+ useSuspenseQueries: TRPCUseSuspenseQueries<TRouter>;
18
19
  useMutation: (path: string[], opts?: UseTRPCMutationOptions<unknown, TRPCClientErrorLike<TRouter>, unknown, unknown> | undefined) => UseTRPCMutationResult<unknown, TRPCClientErrorLike<TRouter>, unknown, unknown>;
19
20
  useSubscription: (path: string[], input: unknown, opts: UseTRPCSubscriptionOptions<unknown, TRPCClientErrorLike<TRouter>>) => void;
20
- useDehydratedState: UseDehydratedState<TRouter>;
21
21
  useInfiniteQuery: (path: string[], input: unknown, opts: UseTRPCInfiniteQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => UseTRPCInfiniteQueryResult<unknown, TRPCClientErrorLike<TRouter>, unknown>;
22
22
  useSuspenseInfiniteQuery: (path: string[], input: unknown, opts: UseTRPCSuspenseInfiniteQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => UseTRPCSuspenseInfiniteQueryResult<unknown, TRPCClientErrorLike<TRouter>, unknown>;
23
23
  };
24
- /**
25
- * Hack to infer the type of `createReactQueryHooks`
26
- * @link https://stackoverflow.com/a/59072991
27
- */
28
- declare class GnClass<TRouter extends AnyRouter, TSSRContext = unknown> {
29
- fn(): {
30
- Provider: TRPCProvider<TRouter, TSSRContext>;
31
- createClient: CreateClient<TRouter>;
32
- useContext: () => TRPCContextState<TRouter, TSSRContext>;
33
- useUtils: () => TRPCContextState<TRouter, TSSRContext>;
34
- useQuery: (path: string[], input: unknown, opts?: UseTRPCQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>, unknown> | undefined) => UseTRPCQueryResult<unknown, TRPCClientErrorLike<TRouter>>;
35
- useSuspenseQuery: (path: string[], input: unknown, opts?: UseTRPCSuspenseQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>> | undefined) => UseTRPCSuspenseQueryResult<unknown, TRPCClientErrorLike<TRouter>>;
36
- useQueries: TRPCUseQueries<TRouter>;
37
- useMutation: (path: string[], opts?: UseTRPCMutationOptions<unknown, TRPCClientErrorLike<TRouter>, unknown, unknown> | undefined) => UseTRPCMutationResult<unknown, TRPCClientErrorLike<TRouter>, unknown, unknown>;
38
- useSubscription: (path: string[], input: unknown, opts: UseTRPCSubscriptionOptions<unknown, TRPCClientErrorLike<TRouter>>) => void;
39
- useDehydratedState: UseDehydratedState<TRouter>;
40
- useInfiniteQuery: (path: string[], input: unknown, opts: UseTRPCInfiniteQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => UseTRPCInfiniteQueryResult<unknown, TRPCClientErrorLike<TRouter>, unknown>;
41
- useSuspenseInfiniteQuery: (path: string[], input: unknown, opts: UseTRPCSuspenseInfiniteQueryOptions<unknown, unknown, TRPCClientErrorLike<TRouter>>) => UseTRPCSuspenseInfiniteQueryResult<unknown, TRPCClientErrorLike<TRouter>, unknown>;
42
- };
43
- }
44
- type returnTypeInferer<TType> = TType extends (a: Record<string, string>) => infer U ? U : never;
45
- type fooType<TRouter extends AnyRouter, TSSRContext = unknown> = GnClass<TRouter, TSSRContext>['fn'];
46
24
  /**
47
25
  * Infer the type of a `createReactQueryHooks` function
48
26
  * @internal
49
27
  */
50
- export type CreateReactQueryHooks<TRouter extends AnyRouter, TSSRContext = unknown> = returnTypeInferer<fooType<TRouter, TSSRContext>>;
51
- export {};
28
+ export type CreateReactQueryHooks<TRouter extends AnyRouter, TSSRContext = unknown> = ReturnType<typeof createRootHooks<TRouter, TSSRContext>>;
52
29
  //# sourceMappingURL=createHooksInternal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createHooksInternal.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/createHooksInternal.tsx"],"names":[],"mappings":"AAWA,OAAO,EAA2B,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQ9C,OAAO,EAGL,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAuB,MAAM,UAAU,CAAC;AACvE,OAAO,EACL,YAAY,EACZ,YAAY,EAEZ,kBAAkB,EAClB,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;;;;;qBAgNhC,MAAM,EAAE,SACP,OAAO;6BAwDR,MAAM,EAAE,SACP,OAAO;;wBAsCR,MAAM,EAAE;4BAuCR,MAAM,EAAE,SACP,OAAO;;6BA6CR,MAAM,EAAE,SACP,OAAO;qCAoER,MAAM,EAAE,SACP,OAAO;EA+GjB;AAED;;;GAGG;AACH,cAAM,OAAO,CAAC,OAAO,SAAS,SAAS,EAAE,WAAW,GAAG,OAAO;IAC5D,EAAE;;;;;;;;;;;;;;CAGH;AAED,KAAK,iBAAiB,CAAC,KAAK,IAAI,KAAK,SAAS,CAC5C,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACtB,MAAM,CAAC,GACR,CAAC,GACD,KAAK,CAAC;AACV,KAAK,OAAO,CAAC,OAAO,SAAS,SAAS,EAAE,WAAW,GAAG,OAAO,IAAI,OAAO,CACtE,OAAO,EACP,WAAW,CACZ,CAAC,IAAI,CAAC,CAAC;AAER;;;GAGG;AACH,MAAM,MAAM,qBAAqB,CAC/B,OAAO,SAAS,SAAS,EACzB,WAAW,GAAG,OAAO,IACnB,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC"}
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;AAE1E,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAM1E,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,MAAM,EAAE,SACP,OAAO;6BA6DR,MAAM,EAAE,SACP,OAAO;;;wBAsCR,MAAM,EAAE;4BAuCR,MAAM,EAAE,SACP,OAAO;6BA6CR,MAAM,EAAE,SACP,OAAO;qCAyER,MAAM,EAAE,SACP,OAAO;EAsHjB;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"}