@trpc/react-query 10.7.0 → 10.8.0
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/{createHooksInternal-de11647d.mjs → createHooksInternal-9c1f8ad9.mjs} +18 -9
- package/dist/{createHooksInternal-9b01c277.js → createHooksInternal-d8e5577b.js} +19 -7
- package/dist/createTRPCReact.d.ts +18 -6
- package/dist/createTRPCReact.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/internals/context.d.ts +35 -19
- package/dist/internals/context.d.ts.map +1 -1
- package/dist/internals/getClientArgs.d.ts +2 -0
- package/dist/internals/getClientArgs.d.ts.map +1 -0
- package/dist/internals/useHookResult.d.ts +10 -0
- package/dist/internals/useHookResult.d.ts.map +1 -0
- package/dist/shared/hooks/createHooksInternal.d.ts +19 -116
- package/dist/shared/hooks/createHooksInternal.d.ts.map +1 -1
- package/dist/shared/hooks/deprecated/createHooksInternal.d.ts +61 -0
- package/dist/shared/hooks/deprecated/createHooksInternal.d.ts.map +1 -0
- package/dist/shared/hooks/types.d.ts +78 -0
- package/dist/shared/hooks/types.d.ts.map +1 -0
- package/dist/shared/index.d.ts +12 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -1
- package/dist/shared/index.mjs +1 -1
- package/dist/shared/proxy/utilsProxy.d.ts +5 -4
- package/dist/shared/proxy/utilsProxy.d.ts.map +1 -1
- package/dist/ssg/ssgProxy.d.ts +3 -3
- package/dist/ssg/ssgProxy.d.ts.map +1 -1
- package/dist/utils/inferReactQueryProcedure.d.ts +1 -1
- package/dist/utils/inferReactQueryProcedure.d.ts.map +1 -1
- package/package.json +8 -6
- package/src/createTRPCReact.tsx +64 -21
- package/src/internals/context.tsx +53 -45
- package/src/internals/getClientArgs.ts +7 -0
- package/src/internals/useHookResult.ts +18 -0
- package/src/shared/hooks/createHooksInternal.tsx +71 -309
- package/src/shared/hooks/deprecated/createHooksInternal.tsx +628 -0
- package/src/shared/hooks/types.ts +151 -0
- package/src/shared/index.ts +17 -0
- package/src/shared/proxy/utilsProxy.ts +6 -3
- package/src/ssg/ssgProxy.ts +8 -4
- package/src/utils/inferReactQueryProcedure.ts +1 -1
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DefinedUseQueryResult,
|
|
3
|
+
DehydratedState,
|
|
4
|
+
InfiniteQueryObserverSuccessResult,
|
|
5
|
+
InitialDataFunction,
|
|
6
|
+
QueryObserverSuccessResult,
|
|
7
|
+
QueryOptions,
|
|
8
|
+
UseInfiniteQueryOptions,
|
|
9
|
+
UseInfiniteQueryResult,
|
|
10
|
+
UseMutationOptions,
|
|
11
|
+
UseMutationResult,
|
|
12
|
+
UseQueryOptions,
|
|
13
|
+
UseQueryResult,
|
|
14
|
+
} from '@tanstack/react-query';
|
|
15
|
+
import {
|
|
16
|
+
CreateTRPCClientOptions,
|
|
17
|
+
TRPCClient,
|
|
18
|
+
TRPCRequestOptions,
|
|
19
|
+
} from '@trpc/client';
|
|
20
|
+
import { AnyRouter } from '@trpc/server';
|
|
21
|
+
import { ReactNode } from 'react';
|
|
22
|
+
import { TRPCContextProps } from '../../internals/context';
|
|
23
|
+
import { TRPCHookResult } from '../../internals/useHookResult';
|
|
24
|
+
|
|
25
|
+
export type OutputWithCursor<TData, TCursor = any> = {
|
|
26
|
+
cursor: TCursor | null;
|
|
27
|
+
data: TData;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export interface TRPCReactRequestOptions
|
|
31
|
+
// For RQ, we use their internal AbortSignals instead of letting the user pass their own
|
|
32
|
+
extends Omit<TRPCRequestOptions, 'signal'> {
|
|
33
|
+
/**
|
|
34
|
+
* Opt out of SSR for this query by passing `ssr: false`
|
|
35
|
+
*/
|
|
36
|
+
ssr?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Opt out or into aborting request on unmount
|
|
39
|
+
*/
|
|
40
|
+
abortOnUnmount?: boolean;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface TRPCUseQueryBaseOptions {
|
|
44
|
+
/**
|
|
45
|
+
* tRPC-related options
|
|
46
|
+
*/
|
|
47
|
+
trpc?: TRPCReactRequestOptions;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface UseTRPCQueryOptions<TPath, TInput, TOutput, TData, TError>
|
|
51
|
+
extends UseQueryOptions<TOutput, TError, TData, [TPath, TInput]>,
|
|
52
|
+
TRPCUseQueryBaseOptions {}
|
|
53
|
+
|
|
54
|
+
/** @internal **/
|
|
55
|
+
export interface DefinedUseTRPCQueryOptions<
|
|
56
|
+
TPath,
|
|
57
|
+
TInput,
|
|
58
|
+
TOutput,
|
|
59
|
+
TData,
|
|
60
|
+
TError,
|
|
61
|
+
> extends UseTRPCQueryOptions<TPath, TInput, TOutput, TData, TError> {
|
|
62
|
+
initialData: TOutput | InitialDataFunction<TOutput>;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface TRPCQueryOptions<TPath, TInput, TData, TError>
|
|
66
|
+
extends QueryOptions<TData, TError, TData, [TPath, TInput]>,
|
|
67
|
+
TRPCUseQueryBaseOptions {}
|
|
68
|
+
|
|
69
|
+
export interface UseTRPCInfiniteQueryOptions<TPath, TInput, TOutput, TError>
|
|
70
|
+
extends UseInfiniteQueryOptions<
|
|
71
|
+
TOutput,
|
|
72
|
+
TError,
|
|
73
|
+
TOutput,
|
|
74
|
+
TOutput,
|
|
75
|
+
[TPath, TInput]
|
|
76
|
+
>,
|
|
77
|
+
TRPCUseQueryBaseOptions {}
|
|
78
|
+
|
|
79
|
+
export interface UseTRPCMutationOptions<
|
|
80
|
+
TInput,
|
|
81
|
+
TError,
|
|
82
|
+
TOutput,
|
|
83
|
+
TContext = unknown,
|
|
84
|
+
> extends UseMutationOptions<TOutput, TError, TInput, TContext>,
|
|
85
|
+
TRPCUseQueryBaseOptions {}
|
|
86
|
+
|
|
87
|
+
export interface UseTRPCSubscriptionOptions<TOutput, TError> {
|
|
88
|
+
enabled?: boolean;
|
|
89
|
+
onStarted?: () => void;
|
|
90
|
+
onData: (data: TOutput) => void;
|
|
91
|
+
onError?: (err: TError) => void;
|
|
92
|
+
}
|
|
93
|
+
export interface TRPCProviderProps<TRouter extends AnyRouter, TSSRContext>
|
|
94
|
+
extends TRPCContextProps<TRouter, TSSRContext> {
|
|
95
|
+
children: ReactNode;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export type TRPCProvider<TRouter extends AnyRouter, TSSRContext> = (
|
|
99
|
+
props: TRPCProviderProps<TRouter, TSSRContext>,
|
|
100
|
+
) => JSX.Element;
|
|
101
|
+
|
|
102
|
+
export type UseDehydratedState<TRouter extends AnyRouter> = (
|
|
103
|
+
client: TRPCClient<TRouter>,
|
|
104
|
+
trpcState: DehydratedState | undefined,
|
|
105
|
+
) => DehydratedState | undefined;
|
|
106
|
+
|
|
107
|
+
export type CreateClient<TRouter extends AnyRouter> = (
|
|
108
|
+
opts: CreateTRPCClientOptions<TRouter>,
|
|
109
|
+
) => TRPCClient<TRouter>;
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* @internal
|
|
113
|
+
*/
|
|
114
|
+
export type UseTRPCQueryResult<TData, TError> = UseQueryResult<TData, TError> &
|
|
115
|
+
TRPCHookResult;
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* @internal
|
|
119
|
+
*/
|
|
120
|
+
export type DefinedUseTRPCQueryResult<TData, TError> = DefinedUseQueryResult<
|
|
121
|
+
TData,
|
|
122
|
+
TError
|
|
123
|
+
> &
|
|
124
|
+
TRPCHookResult;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* @internal
|
|
128
|
+
*/
|
|
129
|
+
export type UseTRPCQuerySuccessResult<TData, TError> =
|
|
130
|
+
QueryObserverSuccessResult<TData, TError> & TRPCHookResult;
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* @internal
|
|
134
|
+
*/
|
|
135
|
+
export type UseTRPCInfiniteQueryResult<TData, TError> = UseInfiniteQueryResult<
|
|
136
|
+
TData,
|
|
137
|
+
TError
|
|
138
|
+
> &
|
|
139
|
+
TRPCHookResult;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* @internal
|
|
143
|
+
*/
|
|
144
|
+
export type UseTRPCInfiniteQuerySuccessResult<TData, TError> =
|
|
145
|
+
InfiniteQueryObserverSuccessResult<TData, TError> & TRPCHookResult;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* @internal
|
|
149
|
+
*/
|
|
150
|
+
export type UseTRPCMutationResult<TData, TError, TVariables, TContext> =
|
|
151
|
+
UseMutationResult<TData, TError, TVariables, TContext> & TRPCHookResult;
|
package/src/shared/index.ts
CHANGED
|
@@ -9,3 +9,20 @@ export type { TRPCUseQueries } from '../internals/useQueries';
|
|
|
9
9
|
export * from './hooks/createHooksInternal';
|
|
10
10
|
export * from './queryClient';
|
|
11
11
|
export * from './types';
|
|
12
|
+
export * from './hooks/types';
|
|
13
|
+
|
|
14
|
+
export {
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated this is an internal function
|
|
17
|
+
*/
|
|
18
|
+
getClientArgs,
|
|
19
|
+
} from '../internals/getClientArgs';
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated
|
|
24
|
+
*/
|
|
25
|
+
TRPCContext,
|
|
26
|
+
} from './../internals/context';
|
|
27
|
+
|
|
28
|
+
export * from '../internals/context';
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
AnyRouter,
|
|
16
16
|
Filter,
|
|
17
17
|
ProcedureOptions,
|
|
18
|
+
ProtectedIntersection,
|
|
18
19
|
inferProcedureInput,
|
|
19
20
|
} from '@trpc/server';
|
|
20
21
|
import {
|
|
@@ -24,11 +25,11 @@ import {
|
|
|
24
25
|
} from '@trpc/server/shared';
|
|
25
26
|
import {
|
|
26
27
|
DecoratedProxyTRPCContextProps,
|
|
27
|
-
TRPCContextState,
|
|
28
28
|
TRPCFetchInfiniteQueryOptions,
|
|
29
29
|
TRPCFetchQueryOptions,
|
|
30
30
|
contextProps,
|
|
31
31
|
} from '../../internals/context';
|
|
32
|
+
import { TRPCContextState } from '../../internals/context';
|
|
32
33
|
import { getQueryKey } from '../../internals/getQueryKey';
|
|
33
34
|
|
|
34
35
|
type DecorateProcedure<
|
|
@@ -196,8 +197,10 @@ type AnyDecoratedProcedure = DecorateProcedure<any, any>;
|
|
|
196
197
|
export type CreateReactUtilsProxy<
|
|
197
198
|
TRouter extends AnyRouter,
|
|
198
199
|
TSSRContext,
|
|
199
|
-
> =
|
|
200
|
-
DecoratedProxyTRPCContextProps<TRouter, TSSRContext
|
|
200
|
+
> = ProtectedIntersection<
|
|
201
|
+
DecoratedProxyTRPCContextProps<TRouter, TSSRContext>,
|
|
202
|
+
DecoratedProcedureUtilsRecord<TRouter>
|
|
203
|
+
>;
|
|
201
204
|
|
|
202
205
|
/**
|
|
203
206
|
* @internal
|
package/src/ssg/ssgProxy.ts
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
AnyQueryProcedure,
|
|
10
10
|
AnyRouter,
|
|
11
11
|
Filter,
|
|
12
|
+
ProtectedIntersection,
|
|
12
13
|
inferHandlerInput,
|
|
13
14
|
} from '@trpc/server';
|
|
14
15
|
import {
|
|
@@ -67,10 +68,13 @@ export function createProxySSGHelpers<TRouter extends AnyRouter>(
|
|
|
67
68
|
) {
|
|
68
69
|
const helpers = createSSGHelpers(opts);
|
|
69
70
|
|
|
70
|
-
type CreateProxySSGHelpers =
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
type CreateProxySSGHelpers = ProtectedIntersection<
|
|
72
|
+
{
|
|
73
|
+
queryClient: QueryClient;
|
|
74
|
+
dehydrate: (opts?: DehydrateOptions) => DehydratedState;
|
|
75
|
+
},
|
|
76
|
+
DecoratedProcedureSSGRecord<TRouter>
|
|
77
|
+
>;
|
|
74
78
|
|
|
75
79
|
return createFlatProxy<CreateProxySSGHelpers>((key) => {
|
|
76
80
|
if (key === 'queryClient') {
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
AnyRouter,
|
|
7
7
|
inferProcedureInput,
|
|
8
8
|
} from '@trpc/server';
|
|
9
|
-
import { inferTransformedProcedureOutput } from '@trpc/server/
|
|
9
|
+
import { inferTransformedProcedureOutput } from '@trpc/server/shared';
|
|
10
10
|
import { UseTRPCMutationOptions, UseTRPCQueryOptions } from '../shared';
|
|
11
11
|
|
|
12
12
|
type InferQueryOptions<
|