@trpc/react-query 10.7.0 → 10.8.1

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 (40) hide show
  1. package/dist/{createHooksInternal-de11647d.mjs → createHooksInternal-9c1f8ad9.mjs} +18 -9
  2. package/dist/{createHooksInternal-9b01c277.js → createHooksInternal-d8e5577b.js} +19 -7
  3. package/dist/createTRPCReact.d.ts +18 -6
  4. package/dist/createTRPCReact.d.ts.map +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.mjs +1 -1
  7. package/dist/internals/context.d.ts +35 -19
  8. package/dist/internals/context.d.ts.map +1 -1
  9. package/dist/internals/getClientArgs.d.ts +2 -0
  10. package/dist/internals/getClientArgs.d.ts.map +1 -0
  11. package/dist/internals/useHookResult.d.ts +10 -0
  12. package/dist/internals/useHookResult.d.ts.map +1 -0
  13. package/dist/shared/hooks/createHooksInternal.d.ts +19 -116
  14. package/dist/shared/hooks/createHooksInternal.d.ts.map +1 -1
  15. package/dist/shared/hooks/deprecated/createHooksInternal.d.ts +61 -0
  16. package/dist/shared/hooks/deprecated/createHooksInternal.d.ts.map +1 -0
  17. package/dist/shared/hooks/types.d.ts +78 -0
  18. package/dist/shared/hooks/types.d.ts.map +1 -0
  19. package/dist/shared/index.d.ts +12 -0
  20. package/dist/shared/index.d.ts.map +1 -1
  21. package/dist/shared/index.js +4 -1
  22. package/dist/shared/index.mjs +1 -1
  23. package/dist/shared/proxy/utilsProxy.d.ts +5 -4
  24. package/dist/shared/proxy/utilsProxy.d.ts.map +1 -1
  25. package/dist/ssg/ssgProxy.d.ts +3 -3
  26. package/dist/ssg/ssgProxy.d.ts.map +1 -1
  27. package/dist/utils/inferReactQueryProcedure.d.ts +1 -1
  28. package/dist/utils/inferReactQueryProcedure.d.ts.map +1 -1
  29. package/package.json +8 -6
  30. package/src/createTRPCReact.tsx +64 -21
  31. package/src/internals/context.tsx +53 -45
  32. package/src/internals/getClientArgs.ts +7 -0
  33. package/src/internals/useHookResult.ts +18 -0
  34. package/src/shared/hooks/createHooksInternal.tsx +71 -309
  35. package/src/shared/hooks/deprecated/createHooksInternal.tsx +628 -0
  36. package/src/shared/hooks/types.ts +151 -0
  37. package/src/shared/index.ts +17 -0
  38. package/src/shared/proxy/utilsProxy.ts +6 -3
  39. package/src/ssg/ssgProxy.ts +8 -4
  40. 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;
@@ -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
- > = DecoratedProcedureUtilsRecord<TRouter> &
200
- DecoratedProxyTRPCContextProps<TRouter, TSSRContext>;
200
+ > = ProtectedIntersection<
201
+ DecoratedProxyTRPCContextProps<TRouter, TSSRContext>,
202
+ DecoratedProcedureUtilsRecord<TRouter>
203
+ >;
201
204
 
202
205
  /**
203
206
  * @internal
@@ -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
- queryClient: QueryClient;
72
- dehydrate: (opts?: DehydrateOptions) => DehydratedState;
73
- } & DecoratedProcedureSSGRecord<TRouter>;
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/dist/shared';
9
+ import { inferTransformedProcedureOutput } from '@trpc/server/shared';
10
10
  import { UseTRPCMutationOptions, UseTRPCQueryOptions } from '../shared';
11
11
 
12
12
  type InferQueryOptions<