@trpc/react-query 11.0.0-alpha-tmp-app-router-example.364 → 11.0.0-alpha-tmp-rethrow-next-errors.385
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/dist/bundle-analysis.json +9 -22
- package/dist/shared/hooks/createHooksInternal.d.ts.map +1 -1
- package/dist/shared/hooks/createHooksInternal.js +24 -2
- package/dist/shared/hooks/createHooksInternal.mjs +24 -2
- package/dist/shared/hooks/types.d.ts +3 -1
- package/dist/shared/hooks/types.d.ts.map +1 -1
- package/package.json +9 -14
- package/src/shared/hooks/createHooksInternal.tsx +29 -2
- package/src/shared/hooks/types.ts +7 -1
- package/dist/rsc.d.ts +0 -17
- package/dist/rsc.d.ts.map +0 -1
- package/dist/rsc.js +0 -51
- package/dist/rsc.mjs +0 -30
- package/rsc/index.d.ts +0 -1
- package/rsc/index.js +0 -1
- package/src/rsc.tsx +0 -72
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"bundleSize":
|
|
3
|
-
"bundleOrigSize":
|
|
4
|
-
"bundleReduction":
|
|
2
|
+
"bundleSize": 29431,
|
|
3
|
+
"bundleOrigSize": 63440,
|
|
4
|
+
"bundleReduction": 53.61,
|
|
5
5
|
"modules": [
|
|
6
6
|
{
|
|
7
7
|
"id": "/src/shared/hooks/createHooksInternal.tsx",
|
|
8
|
-
"size":
|
|
9
|
-
"origSize":
|
|
8
|
+
"size": 13743,
|
|
9
|
+
"origSize": 15767,
|
|
10
10
|
"renderedExports": [
|
|
11
11
|
"createRootHooks"
|
|
12
12
|
],
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"dependents": [
|
|
15
15
|
"/src/createTRPCReact.tsx"
|
|
16
16
|
],
|
|
17
|
-
"percent":
|
|
18
|
-
"reduction":
|
|
17
|
+
"percent": 46.7,
|
|
18
|
+
"reduction": 12.84
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"id": "/src/utils/createUtilityFunctions.ts",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"dependents": [
|
|
60
60
|
"/src/shared/index.ts"
|
|
61
61
|
],
|
|
62
|
-
"percent": 9.
|
|
62
|
+
"percent": 9.75,
|
|
63
63
|
"reduction": 74.38
|
|
64
64
|
},
|
|
65
65
|
{
|
|
@@ -73,7 +73,6 @@
|
|
|
73
73
|
"removedExports": [],
|
|
74
74
|
"dependents": [
|
|
75
75
|
"/src/index.ts",
|
|
76
|
-
"/src/rsc.tsx",
|
|
77
76
|
"/src/server/ssgProxy.ts",
|
|
78
77
|
"/src/shared/proxy/utilsProxy.ts",
|
|
79
78
|
"/src/shared/proxy/useQueriesProxy.ts",
|
|
@@ -82,18 +81,6 @@
|
|
|
82
81
|
"percent": 6.79,
|
|
83
82
|
"reduction": 42.49
|
|
84
83
|
},
|
|
85
|
-
{
|
|
86
|
-
"id": "/src/rsc.tsx",
|
|
87
|
-
"size": 881,
|
|
88
|
-
"origSize": 2101,
|
|
89
|
-
"renderedExports": [
|
|
90
|
-
"createHydrationHelpers"
|
|
91
|
-
],
|
|
92
|
-
"removedExports": [],
|
|
93
|
-
"dependents": [],
|
|
94
|
-
"percent": 2.99,
|
|
95
|
-
"reduction": 58.07
|
|
96
|
-
},
|
|
97
84
|
{
|
|
98
85
|
"id": "/src/createTRPCReact.tsx",
|
|
99
86
|
"size": 850,
|
|
@@ -249,5 +236,5 @@
|
|
|
249
236
|
"reduction": 100
|
|
250
237
|
}
|
|
251
238
|
],
|
|
252
|
-
"moduleCount":
|
|
239
|
+
"moduleCount": 16
|
|
253
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createHooksInternal.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/createHooksInternal.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"createHooksInternal.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/createHooksInternal.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAG1E,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;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;6BAuFR,MAAM,EAAE,SACP,OAAO;;;wBAsCR,MAAM,EAAE;4BA0CR,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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var reactQuery = require('@tanstack/react-query');
|
|
4
4
|
var client = require('@trpc/client');
|
|
5
|
+
var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
|
|
5
6
|
var React = require('react');
|
|
6
7
|
var context = require('../../internals/context.js');
|
|
7
8
|
var getClientArgs = require('../../internals/getClientArgs.js');
|
|
@@ -109,7 +110,7 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
|
109
110
|
const hook = reactQuery.useQuery({
|
|
110
111
|
...ssrOpts,
|
|
111
112
|
queryKey: queryKey,
|
|
112
|
-
queryFn: isInputSkipToken ? input : (queryFunctionContext)=>{
|
|
113
|
+
queryFn: isInputSkipToken ? input : async (queryFunctionContext)=>{
|
|
113
114
|
const actualOpts = {
|
|
114
115
|
...ssrOpts,
|
|
115
116
|
trpc: {
|
|
@@ -119,7 +120,28 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
|
119
120
|
} : {}
|
|
120
121
|
}
|
|
121
122
|
};
|
|
122
|
-
|
|
123
|
+
const result = await client.query(...getClientArgs.getClientArgs(queryKey, actualOpts));
|
|
124
|
+
if (unstableCoreDoNotImport.isAsyncIterable(result)) {
|
|
125
|
+
const queryCache = queryClient.getQueryCache();
|
|
126
|
+
const query = queryCache.build(queryFunctionContext.queryKey, {
|
|
127
|
+
queryKey
|
|
128
|
+
});
|
|
129
|
+
query.setState({
|
|
130
|
+
data: [],
|
|
131
|
+
status: 'success'
|
|
132
|
+
});
|
|
133
|
+
const aggregate = [];
|
|
134
|
+
for await (const value of result){
|
|
135
|
+
aggregate.push(value);
|
|
136
|
+
query.setState({
|
|
137
|
+
data: [
|
|
138
|
+
...aggregate
|
|
139
|
+
]
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
return aggregate;
|
|
143
|
+
}
|
|
144
|
+
return result;
|
|
123
145
|
}
|
|
124
146
|
}, queryClient);
|
|
125
147
|
hook.trpc = useHookResult.useHookResult({
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useQuery, useSuspenseQuery, useQueryClient, useMutation, hashKey, useInfiniteQuery, useSuspenseInfiniteQuery, useQueries, useSuspenseQueries, skipToken } from '@tanstack/react-query';
|
|
2
2
|
import { createTRPCUntypedClient } from '@trpc/client';
|
|
3
|
+
import { isAsyncIterable } from '@trpc/server/unstable-core-do-not-import';
|
|
3
4
|
import * as React from 'react';
|
|
4
5
|
import { TRPCContext } from '../../internals/context.mjs';
|
|
5
6
|
import { getClientArgs } from '../../internals/getClientArgs.mjs';
|
|
@@ -88,7 +89,7 @@ import { createUseQueries } from '../proxy/useQueriesProxy.mjs';
|
|
|
88
89
|
const hook = useQuery({
|
|
89
90
|
...ssrOpts,
|
|
90
91
|
queryKey: queryKey,
|
|
91
|
-
queryFn: isInputSkipToken ? input : (queryFunctionContext)=>{
|
|
92
|
+
queryFn: isInputSkipToken ? input : async (queryFunctionContext)=>{
|
|
92
93
|
const actualOpts = {
|
|
93
94
|
...ssrOpts,
|
|
94
95
|
trpc: {
|
|
@@ -98,7 +99,28 @@ import { createUseQueries } from '../proxy/useQueriesProxy.mjs';
|
|
|
98
99
|
} : {}
|
|
99
100
|
}
|
|
100
101
|
};
|
|
101
|
-
|
|
102
|
+
const result = await client.query(...getClientArgs(queryKey, actualOpts));
|
|
103
|
+
if (isAsyncIterable(result)) {
|
|
104
|
+
const queryCache = queryClient.getQueryCache();
|
|
105
|
+
const query = queryCache.build(queryFunctionContext.queryKey, {
|
|
106
|
+
queryKey
|
|
107
|
+
});
|
|
108
|
+
query.setState({
|
|
109
|
+
data: [],
|
|
110
|
+
status: 'success'
|
|
111
|
+
});
|
|
112
|
+
const aggregate = [];
|
|
113
|
+
for await (const value of result){
|
|
114
|
+
aggregate.push(value);
|
|
115
|
+
query.setState({
|
|
116
|
+
data: [
|
|
117
|
+
...aggregate
|
|
118
|
+
]
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return aggregate;
|
|
122
|
+
}
|
|
123
|
+
return result;
|
|
102
124
|
}
|
|
103
125
|
}, queryClient);
|
|
104
126
|
hook.trpc = useHookResult({
|
|
@@ -58,10 +58,11 @@ export interface TRPCProviderProps<TRouter extends AnyRouter, TSSRContext> exten
|
|
|
58
58
|
export type TRPCProvider<TRouter extends AnyRouter, TSSRContext> = (props: TRPCProviderProps<TRouter, TSSRContext>) => JSX.Element;
|
|
59
59
|
export type UseDehydratedState<TRouter extends AnyRouter> = (client: TRPCUntypedClient<TRouter>, trpcState: DehydratedState | undefined) => DehydratedState | undefined;
|
|
60
60
|
export type CreateClient<TRouter extends AnyRouter> = (opts: CreateTRPCClientOptions<TRouter>) => TRPCUntypedClient<TRouter>;
|
|
61
|
+
type coerceAsyncIterableToArray<TValue> = TValue extends AsyncIterable<infer $Inferred> ? $Inferred[] : TValue;
|
|
61
62
|
/**
|
|
62
63
|
* @internal
|
|
63
64
|
*/
|
|
64
|
-
export type UseTRPCQueryResult<TData, TError> = TRPCHookResult & UseQueryResult<TData
|
|
65
|
+
export type UseTRPCQueryResult<TData, TError> = TRPCHookResult & UseQueryResult<coerceAsyncIterableToArray<TData>, TError>;
|
|
65
66
|
/**
|
|
66
67
|
* @internal
|
|
67
68
|
*/
|
|
@@ -101,4 +102,5 @@ export interface TRPCHookResult {
|
|
|
101
102
|
path: string;
|
|
102
103
|
};
|
|
103
104
|
}
|
|
105
|
+
export {};
|
|
104
106
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/react-query",
|
|
3
|
-
"version": "11.0.0-alpha-tmp-
|
|
3
|
+
"version": "11.0.0-alpha-tmp-rethrow-next-errors.385+b1c8fe83e",
|
|
4
4
|
"description": "The tRPC React library",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,11 +27,6 @@
|
|
|
27
27
|
"require": "./dist/index.js",
|
|
28
28
|
"default": "./dist/index.js"
|
|
29
29
|
},
|
|
30
|
-
"./rsc": {
|
|
31
|
-
"import": "./dist/rsc.mjs",
|
|
32
|
-
"require": "./dist/rsc.js",
|
|
33
|
-
"default": "./dist/rsc.js"
|
|
34
|
-
},
|
|
35
30
|
"./server": {
|
|
36
31
|
"import": "./dist/server/index.mjs",
|
|
37
32
|
"require": "./dist/server/index.js",
|
|
@@ -48,7 +43,6 @@
|
|
|
48
43
|
"src",
|
|
49
44
|
"README.md",
|
|
50
45
|
"package.json",
|
|
51
|
-
"rsc",
|
|
52
46
|
"server",
|
|
53
47
|
"shared",
|
|
54
48
|
"!**/*.test.*"
|
|
@@ -63,16 +57,16 @@
|
|
|
63
57
|
}
|
|
64
58
|
},
|
|
65
59
|
"peerDependencies": {
|
|
66
|
-
"@tanstack/react-query": "^5.
|
|
67
|
-
"@trpc/client": "11.0.0-alpha-tmp-
|
|
68
|
-
"@trpc/server": "11.0.0-alpha-tmp-
|
|
60
|
+
"@tanstack/react-query": "^5.25.0",
|
|
61
|
+
"@trpc/client": "11.0.0-alpha-tmp-rethrow-next-errors.385+b1c8fe83e",
|
|
62
|
+
"@trpc/server": "11.0.0-alpha-tmp-rethrow-next-errors.385+b1c8fe83e",
|
|
69
63
|
"react": ">=18.2.0",
|
|
70
64
|
"react-dom": ">=18.2.0"
|
|
71
65
|
},
|
|
72
66
|
"devDependencies": {
|
|
73
|
-
"@tanstack/react-query": "^5.
|
|
74
|
-
"@trpc/client": "11.0.0-alpha-tmp-
|
|
75
|
-
"@trpc/server": "11.0.0-alpha-tmp-
|
|
67
|
+
"@tanstack/react-query": "^5.25.0",
|
|
68
|
+
"@trpc/client": "11.0.0-alpha-tmp-rethrow-next-errors.385+b1c8fe83e",
|
|
69
|
+
"@trpc/server": "11.0.0-alpha-tmp-rethrow-next-errors.385+b1c8fe83e",
|
|
76
70
|
"@types/express": "^4.17.17",
|
|
77
71
|
"@types/node": "^20.10.0",
|
|
78
72
|
"@types/react": "^18.3.1",
|
|
@@ -82,6 +76,7 @@
|
|
|
82
76
|
"react": "^18.3.1",
|
|
83
77
|
"react-dom": "^18.3.1",
|
|
84
78
|
"rollup": "^4.9.5",
|
|
79
|
+
"tslib": "^2.5.0",
|
|
85
80
|
"tsx": "^4.0.0",
|
|
86
81
|
"zod": "^3.0.0"
|
|
87
82
|
},
|
|
@@ -91,5 +86,5 @@
|
|
|
91
86
|
"funding": [
|
|
92
87
|
"https://trpc.io/sponsor"
|
|
93
88
|
],
|
|
94
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "b1c8fe83e22693e12a3759c4f7b2b1174cd2cf8f"
|
|
95
90
|
}
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
import type { TRPCClientErrorLike } from '@trpc/client';
|
|
14
14
|
import { createTRPCUntypedClient } from '@trpc/client';
|
|
15
15
|
import type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';
|
|
16
|
+
import { isAsyncIterable } from '@trpc/server/unstable-core-do-not-import';
|
|
16
17
|
import * as React from 'react';
|
|
17
18
|
import type { SSRState, TRPCContextState } from '../../internals/context';
|
|
18
19
|
import { TRPCContext } from '../../internals/context';
|
|
@@ -170,7 +171,7 @@ export function createRootHooks<
|
|
|
170
171
|
queryKey: queryKey as any,
|
|
171
172
|
queryFn: isInputSkipToken
|
|
172
173
|
? input
|
|
173
|
-
: (queryFunctionContext) => {
|
|
174
|
+
: async (queryFunctionContext) => {
|
|
174
175
|
const actualOpts = {
|
|
175
176
|
...ssrOpts,
|
|
176
177
|
trpc: {
|
|
@@ -181,7 +182,33 @@ export function createRootHooks<
|
|
|
181
182
|
},
|
|
182
183
|
};
|
|
183
184
|
|
|
184
|
-
|
|
185
|
+
const result = await client.query(
|
|
186
|
+
...getClientArgs(queryKey, actualOpts),
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
if (isAsyncIterable(result)) {
|
|
190
|
+
const queryCache = queryClient.getQueryCache();
|
|
191
|
+
|
|
192
|
+
const query = queryCache.build(queryFunctionContext.queryKey, {
|
|
193
|
+
queryKey,
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
query.setState({
|
|
197
|
+
data: [],
|
|
198
|
+
status: 'success',
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
const aggregate: unknown[] = [];
|
|
202
|
+
for await (const value of result) {
|
|
203
|
+
aggregate.push(value);
|
|
204
|
+
|
|
205
|
+
query.setState({
|
|
206
|
+
data: [...aggregate],
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
return aggregate;
|
|
210
|
+
}
|
|
211
|
+
return result;
|
|
185
212
|
},
|
|
186
213
|
},
|
|
187
214
|
queryClient,
|
|
@@ -160,11 +160,17 @@ export type CreateClient<TRouter extends AnyRouter> = (
|
|
|
160
160
|
opts: CreateTRPCClientOptions<TRouter>,
|
|
161
161
|
) => TRPCUntypedClient<TRouter>;
|
|
162
162
|
|
|
163
|
+
type coerceAsyncIterableToArray<TValue> = TValue extends AsyncIterable<
|
|
164
|
+
infer $Inferred
|
|
165
|
+
>
|
|
166
|
+
? $Inferred[]
|
|
167
|
+
: TValue;
|
|
168
|
+
|
|
163
169
|
/**
|
|
164
170
|
* @internal
|
|
165
171
|
*/
|
|
166
172
|
export type UseTRPCQueryResult<TData, TError> = TRPCHookResult &
|
|
167
|
-
UseQueryResult<TData
|
|
173
|
+
UseQueryResult<coerceAsyncIterableToArray<TData>, TError>;
|
|
168
174
|
|
|
169
175
|
/**
|
|
170
176
|
* @internal
|
package/dist/rsc.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type QueryClient } from '@tanstack/react-query';
|
|
2
|
-
import { type AnyRouter, type inferProcedureInput, type RouterRecord } from '@trpc/server/unstable-core-do-not-import';
|
|
3
|
-
import type { AnyProcedure, inferProcedureOutput, RouterCaller, TypeError } from '@trpc/server/unstable-core-do-not-import';
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
type DecorateProcedure<TProcedure extends AnyProcedure> = (input: inferProcedureInput<TProcedure>) => Promise<inferProcedureOutput<TProcedure>>;
|
|
6
|
-
type DecorateRouterRecord<TRecord extends RouterRecord> = {
|
|
7
|
-
[TKey in keyof TRecord]: TRecord[TKey] extends AnyProcedure ? DecorateProcedure<TRecord[TKey]> : TRecord[TKey] extends RouterRecord ? DecorateRouterRecord<TRecord[TKey]> : never;
|
|
8
|
-
};
|
|
9
|
-
type Caller<TRouter extends AnyRouter> = ReturnType<RouterCaller<TRouter['_def']['_config']['$types'], TRouter['_def']['record']>>;
|
|
10
|
-
export declare function createHydrationHelpers<TRouter extends AnyRouter>(caller: AnyRouter extends TRouter ? TypeError<'Generic parameter missing in `createHydrationHelpers<HERE>`'> : Caller<TRouter>, getQueryClient: () => QueryClient): {
|
|
11
|
-
trpc: DecorateRouterRecord<TRouter["_def"]["record"]>;
|
|
12
|
-
HydrateClient: (props: {
|
|
13
|
-
children: React.ReactNode;
|
|
14
|
-
}) => React.JSX.Element;
|
|
15
|
-
};
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=rsc.d.ts.map
|
package/dist/rsc.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rsc.d.ts","sourceRoot":"","sources":["../src/rsc.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACV,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,KAAK,iBAAiB,CAAC,UAAU,SAAS,YAAY,IAAI,CACxD,KAAK,EAAE,mBAAmB,CAAC,UAAU,CAAC,KACnC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;AAE/C,KAAK,oBAAoB,CAAC,OAAO,SAAS,YAAY,IAAI;KACvD,IAAI,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,YAAY,GACvD,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC,SAAS,YAAY,GAClC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GACnC,KAAK;CACV,CAAC;AAEF,KAAK,MAAM,CAAC,OAAO,SAAS,SAAS,IAAI,UAAU,CACjD,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAC9E,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,OAAO,SAAS,SAAS,EAC9D,MAAM,EAAE,SAAS,SAAS,OAAO,GAC7B,SAAS,CAAC,6DAA6D,CAAC,GACxE,MAAM,CAAC,OAAO,CAAC,EACnB,cAAc,EAAE,MAAM,WAAW;;2BAoBH;QAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;KAAE;EAW5D"}
|
package/dist/rsc.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var reactQuery = require('@tanstack/react-query');
|
|
4
|
-
var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
|
|
5
|
-
var React = require('react');
|
|
6
|
-
var getQueryKey = require('./internals/getQueryKey.js');
|
|
7
|
-
|
|
8
|
-
function _interopNamespaceDefault(e) {
|
|
9
|
-
var n = Object.create(null);
|
|
10
|
-
if (e) {
|
|
11
|
-
Object.keys(e).forEach(function (k) {
|
|
12
|
-
if (k !== 'default') {
|
|
13
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function () { return e[k]; }
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
n.default = e;
|
|
22
|
-
return Object.freeze(n);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
26
|
-
|
|
27
|
-
function createHydrationHelpers(caller, getQueryClient) {
|
|
28
|
-
const wrappedProxy = unstableCoreDoNotImport.createRecursiveProxy(async ({ path , args })=>{
|
|
29
|
-
const proc = path.reduce(// @ts-expect-error - ??
|
|
30
|
-
(acc, key)=>acc[key], caller);
|
|
31
|
-
const [input] = args;
|
|
32
|
-
const promise = proc(input);
|
|
33
|
-
void getQueryClient().prefetchQuery({
|
|
34
|
-
queryKey: getQueryKey.getQueryKeyInternal(path, input, 'query'),
|
|
35
|
-
queryFn: ()=>promise
|
|
36
|
-
});
|
|
37
|
-
return promise;
|
|
38
|
-
});
|
|
39
|
-
function HydrateClient(props) {
|
|
40
|
-
const dehydratedState = reactQuery.dehydrate(getQueryClient()); // TODO: transform??
|
|
41
|
-
return /*#__PURE__*/ React__namespace.createElement(reactQuery.HydrationBoundary, {
|
|
42
|
-
state: dehydratedState
|
|
43
|
-
}, props.children);
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
trpc: wrappedProxy,
|
|
47
|
-
HydrateClient
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
exports.createHydrationHelpers = createHydrationHelpers;
|
package/dist/rsc.mjs
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { dehydrate, HydrationBoundary } from '@tanstack/react-query';
|
|
2
|
-
import { createRecursiveProxy } from '@trpc/server/unstable-core-do-not-import';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { getQueryKeyInternal } from './internals/getQueryKey.mjs';
|
|
5
|
-
|
|
6
|
-
function createHydrationHelpers(caller, getQueryClient) {
|
|
7
|
-
const wrappedProxy = createRecursiveProxy(async ({ path , args })=>{
|
|
8
|
-
const proc = path.reduce(// @ts-expect-error - ??
|
|
9
|
-
(acc, key)=>acc[key], caller);
|
|
10
|
-
const [input] = args;
|
|
11
|
-
const promise = proc(input);
|
|
12
|
-
void getQueryClient().prefetchQuery({
|
|
13
|
-
queryKey: getQueryKeyInternal(path, input, 'query'),
|
|
14
|
-
queryFn: ()=>promise
|
|
15
|
-
});
|
|
16
|
-
return promise;
|
|
17
|
-
});
|
|
18
|
-
function HydrateClient(props) {
|
|
19
|
-
const dehydratedState = dehydrate(getQueryClient()); // TODO: transform??
|
|
20
|
-
return /*#__PURE__*/ React.createElement(HydrationBoundary, {
|
|
21
|
-
state: dehydratedState
|
|
22
|
-
}, props.children);
|
|
23
|
-
}
|
|
24
|
-
return {
|
|
25
|
-
trpc: wrappedProxy,
|
|
26
|
-
HydrateClient
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export { createHydrationHelpers };
|
package/rsc/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '../dist/rsc';
|
package/rsc/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('../dist/rsc');
|
package/src/rsc.tsx
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
dehydrate,
|
|
3
|
-
HydrationBoundary,
|
|
4
|
-
type QueryClient,
|
|
5
|
-
} from '@tanstack/react-query';
|
|
6
|
-
import {
|
|
7
|
-
createRecursiveProxy,
|
|
8
|
-
type AnyRouter,
|
|
9
|
-
type inferProcedureInput,
|
|
10
|
-
type RouterRecord,
|
|
11
|
-
} from '@trpc/server/unstable-core-do-not-import';
|
|
12
|
-
import type {
|
|
13
|
-
AnyProcedure,
|
|
14
|
-
inferProcedureOutput,
|
|
15
|
-
RouterCaller,
|
|
16
|
-
TypeError,
|
|
17
|
-
} from '@trpc/server/unstable-core-do-not-import';
|
|
18
|
-
import * as React from 'react';
|
|
19
|
-
import { getQueryKeyInternal } from './internals/getQueryKey';
|
|
20
|
-
|
|
21
|
-
type DecorateProcedure<TProcedure extends AnyProcedure> = (
|
|
22
|
-
input: inferProcedureInput<TProcedure>,
|
|
23
|
-
) => Promise<inferProcedureOutput<TProcedure>>;
|
|
24
|
-
|
|
25
|
-
type DecorateRouterRecord<TRecord extends RouterRecord> = {
|
|
26
|
-
[TKey in keyof TRecord]: TRecord[TKey] extends AnyProcedure
|
|
27
|
-
? DecorateProcedure<TRecord[TKey]>
|
|
28
|
-
: TRecord[TKey] extends RouterRecord
|
|
29
|
-
? DecorateRouterRecord<TRecord[TKey]>
|
|
30
|
-
: never;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
type Caller<TRouter extends AnyRouter> = ReturnType<
|
|
34
|
-
RouterCaller<TRouter['_def']['_config']['$types'], TRouter['_def']['record']>
|
|
35
|
-
>;
|
|
36
|
-
|
|
37
|
-
export function createHydrationHelpers<TRouter extends AnyRouter>(
|
|
38
|
-
caller: AnyRouter extends TRouter
|
|
39
|
-
? TypeError<'Generic parameter missing in `createHydrationHelpers<HERE>`'>
|
|
40
|
-
: Caller<TRouter>,
|
|
41
|
-
getQueryClient: () => QueryClient,
|
|
42
|
-
) {
|
|
43
|
-
const wrappedProxy = createRecursiveProxy(async ({ path, args }) => {
|
|
44
|
-
const proc = path.reduce(
|
|
45
|
-
// @ts-expect-error - ??
|
|
46
|
-
(acc, key) => acc[key],
|
|
47
|
-
caller,
|
|
48
|
-
) as unknown as DecorateProcedure<AnyProcedure>;
|
|
49
|
-
|
|
50
|
-
const [input] = args;
|
|
51
|
-
const promise = proc(input);
|
|
52
|
-
|
|
53
|
-
void getQueryClient().prefetchQuery({
|
|
54
|
-
queryKey: getQueryKeyInternal(path, input, 'query'),
|
|
55
|
-
queryFn: () => promise,
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
return promise;
|
|
59
|
-
}) as DecorateRouterRecord<TRouter['_def']['record']>;
|
|
60
|
-
|
|
61
|
-
function HydrateClient(props: { children: React.ReactNode }) {
|
|
62
|
-
const dehydratedState = dehydrate(getQueryClient()); // TODO: transform??
|
|
63
|
-
|
|
64
|
-
return (
|
|
65
|
-
<HydrationBoundary state={dehydratedState}>
|
|
66
|
-
{props.children}
|
|
67
|
-
</HydrationBoundary>
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return { trpc: wrappedProxy, HydrateClient };
|
|
72
|
-
}
|