@trpc/react-query 11.0.0-next.92 → 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.
- package/README.md +4 -4
- package/dist/bundle-analysis.json +83 -51
- package/dist/createTRPCQueryUtils.d.ts +4 -0
- package/dist/createTRPCQueryUtils.d.ts.map +1 -0
- package/dist/createTRPCQueryUtils.js +16 -0
- package/dist/createTRPCQueryUtils.mjs +14 -0
- package/dist/createTRPCReact.d.ts +55 -40
- package/dist/createTRPCReact.d.ts.map +1 -1
- package/dist/createTRPCReact.js +58 -0
- package/dist/createTRPCReact.mjs +36 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -36
- package/dist/index.mjs +3 -35
- package/dist/internals/context.d.ts +23 -18
- package/dist/internals/context.d.ts.map +1 -1
- package/dist/internals/context.js +33 -0
- package/dist/internals/context.mjs +11 -0
- package/dist/internals/getClientArgs.d.ts +8 -2
- package/dist/internals/getClientArgs.d.ts.map +1 -1
- package/dist/internals/getClientArgs.js +24 -0
- package/dist/internals/getClientArgs.mjs +22 -0
- package/dist/internals/getQueryKey.d.ts +8 -13
- package/dist/internals/getQueryKey.d.ts.map +1 -1
- package/dist/internals/getQueryKey.js +60 -0
- package/dist/internals/getQueryKey.mjs +57 -0
- package/dist/internals/useHookResult.d.ts +4 -6
- package/dist/internals/useHookResult.d.ts.map +1 -1
- package/dist/internals/useHookResult.js +35 -0
- package/dist/internals/useHookResult.mjs +14 -0
- package/dist/internals/useQueries.d.ts +32 -4
- package/dist/internals/useQueries.d.ts.map +1 -1
- package/dist/server/index.js +2 -103
- package/dist/server/index.mjs +1 -104
- package/dist/server/ssgProxy.d.ts +21 -21
- package/dist/server/ssgProxy.d.ts.map +1 -1
- package/dist/server/ssgProxy.js +109 -0
- package/dist/server/ssgProxy.mjs +107 -0
- package/dist/shared/hooks/createHooksInternal.d.ts +8 -31
- package/dist/shared/hooks/createHooksInternal.d.ts.map +1 -1
- package/dist/{createHooksInternal-e2034194.js → shared/hooks/createHooksInternal.js} +98 -226
- package/dist/{createHooksInternal-3d8ebfcf.mjs → shared/hooks/createHooksInternal.mjs} +70 -210
- package/dist/shared/hooks/types.d.ts +11 -7
- package/dist/shared/hooks/types.d.ts.map +1 -1
- package/dist/shared/index.d.ts +2 -2
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +14 -15
- package/dist/shared/index.mjs +7 -7
- package/dist/shared/polymorphism/mutationLike.d.ts +6 -7
- package/dist/shared/polymorphism/mutationLike.d.ts.map +1 -1
- package/dist/shared/polymorphism/queryLike.d.ts +10 -7
- package/dist/shared/polymorphism/queryLike.d.ts.map +1 -1
- package/dist/shared/polymorphism/routerLike.d.ts +6 -6
- package/dist/shared/polymorphism/routerLike.d.ts.map +1 -1
- package/dist/shared/polymorphism/utilsLike.d.ts +3 -3
- package/dist/shared/polymorphism/utilsLike.d.ts.map +1 -1
- package/dist/shared/proxy/decorationProxy.d.ts +2 -2
- package/dist/shared/proxy/decorationProxy.d.ts.map +1 -1
- package/dist/shared/proxy/decorationProxy.js +31 -0
- package/dist/shared/proxy/decorationProxy.mjs +29 -0
- package/dist/shared/proxy/useQueriesProxy.d.ts +14 -8
- package/dist/shared/proxy/useQueriesProxy.d.ts.map +1 -1
- package/dist/shared/proxy/useQueriesProxy.js +25 -0
- package/dist/shared/proxy/useQueriesProxy.mjs +23 -0
- package/dist/shared/proxy/utilsProxy.d.ts +28 -24
- package/dist/shared/proxy/utilsProxy.d.ts.map +1 -1
- package/dist/shared/proxy/utilsProxy.js +89 -0
- package/dist/shared/proxy/utilsProxy.mjs +85 -0
- package/dist/shared/queryClient.d.ts +2 -1
- package/dist/shared/queryClient.d.ts.map +1 -1
- package/dist/{queryClient-4d766c0c.mjs → shared/queryClient.mjs} +1 -1
- package/dist/shared/types.d.ts +2 -2
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/utils/createUtilityFunctions.d.ts +23 -0
- package/dist/utils/createUtilityFunctions.d.ts.map +1 -0
- package/dist/utils/createUtilityFunctions.js +100 -0
- package/dist/utils/createUtilityFunctions.mjs +98 -0
- package/dist/utils/inferReactQueryProcedure.d.ts +11 -10
- package/dist/utils/inferReactQueryProcedure.d.ts.map +1 -1
- package/package.json +18 -18
- package/src/createTRPCQueryUtils.tsx +11 -0
- package/src/createTRPCReact.tsx +139 -163
- package/src/index.ts +6 -1
- package/src/internals/context.tsx +27 -18
- package/src/internals/getClientArgs.ts +16 -4
- package/src/internals/getQueryKey.ts +51 -62
- package/src/internals/useHookResult.ts +12 -13
- package/src/internals/useQueries.ts +129 -4
- package/src/server/ssgProxy.ts +59 -57
- package/src/shared/hooks/createHooksInternal.tsx +115 -246
- package/src/shared/hooks/types.ts +15 -7
- package/src/shared/index.ts +5 -2
- package/src/shared/polymorphism/mutationLike.ts +21 -15
- package/src/shared/polymorphism/queryLike.ts +34 -14
- package/src/shared/polymorphism/routerLike.ts +29 -15
- package/src/shared/polymorphism/utilsLike.ts +6 -3
- package/src/shared/proxy/decorationProxy.ts +3 -3
- package/src/shared/proxy/useQueriesProxy.ts +65 -28
- package/src/shared/proxy/utilsProxy.ts +113 -86
- package/src/shared/queryClient.ts +2 -1
- package/src/shared/types.ts +5 -2
- package/src/utils/createUtilityFunctions.ts +137 -0
- package/src/utils/inferReactQueryProcedure.ts +38 -28
- package/dist/createHooksInternal-dce6e141.js +0 -435
- package/dist/queryClient-1c8d7d8a.js +0 -8
- package/dist/utilsProxy-00894da2.mjs +0 -121
- package/dist/utilsProxy-27bd93c1.js +0 -128
- package/dist/utilsProxy-7e396600.js +0 -114
- /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,
|
|
1
|
+
{"version":3,"file":"useQueries.d.ts","sourceRoot":"","sources":["../../src/internals/useQueries.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.js
CHANGED
|
@@ -1,108 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
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;
|
package/dist/server/index.mjs
CHANGED
|
@@ -1,104 +1 @@
|
|
|
1
|
-
|
|
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
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
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
|
-
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
37
|
-
[TKey in keyof
|
|
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
|
-
* @
|
|
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":"AAAA,OAAO,
|
|
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,
|
|
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> =
|
|
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":"
|
|
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"}
|