@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":"utilsLike.d.ts","sourceRoot":"","sources":["../../../src/shared/polymorphism/utilsLike.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utilsLike.d.ts","sourceRoot":"","sources":["../../../src/shared/polymorphism/utilsLike.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,OAAO,SAAS,SAAS,IAC7C,6BAA6B,CAC3B,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EACpC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAC1B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AnyRouter } from '@trpc/server';
|
|
2
|
-
import { CreateReactQueryHooks } from '../hooks/createHooksInternal';
|
|
1
|
+
import type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';
|
|
2
|
+
import type { CreateReactQueryHooks } from '../hooks/createHooksInternal';
|
|
3
3
|
/**
|
|
4
4
|
* Create proxy for decorating procedures
|
|
5
5
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorationProxy.d.ts","sourceRoot":"","sources":["../../../src/shared/proxy/decorationProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"decorationProxy.d.ts","sourceRoot":"","sources":["../../../src/shared/proxy/decorationProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,SAAS,SAAS,EACzB,WAAW,GAAG,OAAO,EACrB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,WAuBjE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Create proxy for decorating procedures
|
|
7
|
+
* @internal
|
|
8
|
+
*/ function createReactDecoration(name, hooks) {
|
|
9
|
+
return unstableCoreDoNotImport.createRecursiveProxy(({ path , args })=>{
|
|
10
|
+
const pathCopy = [
|
|
11
|
+
name,
|
|
12
|
+
...path
|
|
13
|
+
];
|
|
14
|
+
// The last arg is for instance `.useMutation` or `.useQuery()`
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
16
|
+
const lastArg = pathCopy.pop();
|
|
17
|
+
if (lastArg === 'useMutation') {
|
|
18
|
+
return hooks[lastArg](pathCopy, ...args);
|
|
19
|
+
}
|
|
20
|
+
if (lastArg === '_def') {
|
|
21
|
+
return {
|
|
22
|
+
path: pathCopy
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const [input, ...rest] = args;
|
|
26
|
+
const opts = rest[0] || {};
|
|
27
|
+
return hooks[lastArg](pathCopy, input, opts);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
exports.createReactDecoration = createReactDecoration;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createRecursiveProxy } from '@trpc/server/unstable-core-do-not-import';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Create proxy for decorating procedures
|
|
5
|
+
* @internal
|
|
6
|
+
*/ function createReactDecoration(name, hooks) {
|
|
7
|
+
return createRecursiveProxy(({ path , args })=>{
|
|
8
|
+
const pathCopy = [
|
|
9
|
+
name,
|
|
10
|
+
...path
|
|
11
|
+
];
|
|
12
|
+
// The last arg is for instance `.useMutation` or `.useQuery()`
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
14
|
+
const lastArg = pathCopy.pop();
|
|
15
|
+
if (lastArg === 'useMutation') {
|
|
16
|
+
return hooks[lastArg](pathCopy, ...args);
|
|
17
|
+
}
|
|
18
|
+
if (lastArg === '_def') {
|
|
19
|
+
return {
|
|
20
|
+
path: pathCopy
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const [input, ...rest] = args;
|
|
24
|
+
const opts = rest[0] || {};
|
|
25
|
+
return hooks[lastArg](pathCopy, input, opts);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { createReactDecoration };
|
|
@@ -1,18 +1,24 @@
|
|
|
1
|
-
import { TRPCClientError, TRPCUntypedClient } from '@trpc/client';
|
|
2
|
-
import { AnyProcedure, AnyQueryProcedure,
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
type GetQueryOptions<TConfig extends AnyRootConfig, TProcedure extends AnyProcedure> = <TData = inferTransformedProcedureOutput<TConfig, TProcedure>>(input: inferProcedureInput<TProcedure>, opts?: TrpcQueryOptionsForUseQueries<inferTransformedProcedureOutput<TConfig, TProcedure>, TData, TRPCClientError<TConfig>>) => TrpcQueryOptionsForUseQueries<inferTransformedProcedureOutput<TConfig, TProcedure>, TData, TRPCClientError<TConfig>>;
|
|
1
|
+
import type { TRPCClientError, TRPCUntypedClient } from '@trpc/client';
|
|
2
|
+
import type { AnyProcedure, AnyQueryProcedure, AnyRootTypes, AnyRouter, inferProcedureInput, inferTransformedProcedureOutput, RouterRecord } from '@trpc/server/unstable-core-do-not-import';
|
|
3
|
+
import type { TrpcQueryOptionsForUseQueries, TrpcQueryOptionsForUseSuspenseQueries } from '../../internals/useQueries';
|
|
4
|
+
type GetQueryOptions<TRoot extends AnyRootTypes, TProcedure extends AnyProcedure> = <TData = inferTransformedProcedureOutput<TRoot, TProcedure>>(input: inferProcedureInput<TProcedure>, opts?: TrpcQueryOptionsForUseQueries<inferTransformedProcedureOutput<TRoot, TProcedure>, TData, TRPCClientError<TRoot>>) => TrpcQueryOptionsForUseQueries<inferTransformedProcedureOutput<TRoot, TProcedure>, TData, TRPCClientError<TRoot>>;
|
|
6
5
|
/**
|
|
7
6
|
* @internal
|
|
8
7
|
*/
|
|
9
|
-
export type UseQueriesProcedureRecord<
|
|
10
|
-
[TKey in keyof
|
|
8
|
+
export type UseQueriesProcedureRecord<TRoot extends AnyRootTypes, TRecord extends RouterRecord> = {
|
|
9
|
+
[TKey in keyof TRecord]: TRecord[TKey] extends infer $Value ? $Value extends RouterRecord ? UseQueriesProcedureRecord<TRoot, $Value> : $Value extends AnyQueryProcedure ? GetQueryOptions<TRoot, $Value> : never : never;
|
|
10
|
+
};
|
|
11
|
+
type GetSuspenseQueryOptions<TRoot extends AnyRootTypes, TProcedure extends AnyQueryProcedure> = <TData = inferTransformedProcedureOutput<TRoot, TProcedure>>(input: inferProcedureInput<TProcedure>, opts?: TrpcQueryOptionsForUseSuspenseQueries<inferTransformedProcedureOutput<TRoot, TProcedure>, TData, TRPCClientError<TRoot>>) => TrpcQueryOptionsForUseSuspenseQueries<inferTransformedProcedureOutput<TRoot, TProcedure>, TData, TRPCClientError<TRoot>>;
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export type UseSuspenseQueriesProcedureRecord<TRoot extends AnyRootTypes, TRecord extends RouterRecord> = {
|
|
16
|
+
[TKey in keyof TRecord]: TRecord[TKey] extends infer $Value ? $Value extends RouterRecord ? UseSuspenseQueriesProcedureRecord<TRoot, $Value> : $Value extends AnyQueryProcedure ? GetSuspenseQueryOptions<TRoot, $Value> : never : never;
|
|
11
17
|
};
|
|
12
18
|
/**
|
|
13
19
|
* Create proxy for `useQueries` options
|
|
14
20
|
* @internal
|
|
15
21
|
*/
|
|
16
|
-
export declare function createUseQueries<TRouter extends AnyRouter>(client: TRPCUntypedClient<TRouter>): UseQueriesProcedureRecord<TRouter>;
|
|
22
|
+
export declare function createUseQueries<TRouter extends AnyRouter>(client: TRPCUntypedClient<TRouter>): UseQueriesProcedureRecord<TRouter["_def"]["_config"]["$types"], TRouter["_def"]["record"]>;
|
|
17
23
|
export {};
|
|
18
24
|
//# sourceMappingURL=useQueriesProxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueriesProxy.d.ts","sourceRoot":"","sources":["../../../src/shared/proxy/useQueriesProxy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useQueriesProxy.d.ts","sourceRoot":"","sources":["../../../src/shared/proxy/useQueriesProxy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,+BAA+B,EAC/B,YAAY,EACb,MAAM,0CAA0C,CAAC;AAGlD,OAAO,KAAK,EACV,6BAA6B,EAC7B,qCAAqC,EACtC,MAAM,4BAA4B,CAAC;AAGpC,KAAK,eAAe,CAClB,KAAK,SAAS,YAAY,EAC1B,UAAU,SAAS,YAAY,IAC7B,CAAC,KAAK,GAAG,+BAA+B,CAAC,KAAK,EAAE,UAAU,CAAC,EAC7D,KAAK,EAAE,mBAAmB,CAAC,UAAU,CAAC,EACtC,IAAI,CAAC,EAAE,6BAA6B,CAClC,+BAA+B,CAAC,KAAK,EAAE,UAAU,CAAC,EAClD,KAAK,EACL,eAAe,CAAC,KAAK,CAAC,CACvB,KACE,6BAA6B,CAChC,+BAA+B,CAAC,KAAK,EAAE,UAAU,CAAC,EAClD,KAAK,EACL,eAAe,CAAC,KAAK,CAAC,CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,CACnC,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,IAC1B;KACD,IAAI,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,MAAM,MAAM,GACvD,MAAM,SAAS,YAAY,GACzB,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,GACxC,MAAM,SAAS,iBAAiB,GAChC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,GAC9B,KAAK,GACP,KAAK;CACV,CAAC;AAEF,KAAK,uBAAuB,CAC1B,KAAK,SAAS,YAAY,EAC1B,UAAU,SAAS,iBAAiB,IAClC,CAAC,KAAK,GAAG,+BAA+B,CAAC,KAAK,EAAE,UAAU,CAAC,EAC7D,KAAK,EAAE,mBAAmB,CAAC,UAAU,CAAC,EACtC,IAAI,CAAC,EAAE,qCAAqC,CAC1C,+BAA+B,CAAC,KAAK,EAAE,UAAU,CAAC,EAClD,KAAK,EACL,eAAe,CAAC,KAAK,CAAC,CACvB,KACE,qCAAqC,CACxC,+BAA+B,CAAC,KAAK,EAAE,UAAU,CAAC,EAClD,KAAK,EACL,eAAe,CAAC,KAAK,CAAC,CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iCAAiC,CAC3C,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,IAC1B;KACD,IAAI,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,MAAM,MAAM,GACvD,MAAM,SAAS,YAAY,GACzB,iCAAiC,CAAC,KAAK,EAAE,MAAM,CAAC,GAChD,MAAM,SAAS,iBAAiB,GAChC,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,GACtC,KAAK,GACP,KAAK;CACV,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,SAAS,EACxD,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,8FAuBnC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
|
|
4
|
+
var getQueryKey = require('../../internals/getQueryKey.js');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Create proxy for `useQueries` options
|
|
8
|
+
* @internal
|
|
9
|
+
*/ function createUseQueries(client) {
|
|
10
|
+
return unstableCoreDoNotImport.createRecursiveProxy((opts)=>{
|
|
11
|
+
const arrayPath = opts.path;
|
|
12
|
+
const dotPath = arrayPath.join('.');
|
|
13
|
+
const [input, _opts] = opts.args;
|
|
14
|
+
const options = {
|
|
15
|
+
queryKey: getQueryKey.getQueryKeyInternal(arrayPath, input, 'query'),
|
|
16
|
+
queryFn: ()=>{
|
|
17
|
+
return client.query(dotPath, input, _opts?.trpc);
|
|
18
|
+
},
|
|
19
|
+
..._opts
|
|
20
|
+
};
|
|
21
|
+
return options;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
exports.createUseQueries = createUseQueries;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createRecursiveProxy } from '@trpc/server/unstable-core-do-not-import';
|
|
2
|
+
import { getQueryKeyInternal } from '../../internals/getQueryKey.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Create proxy for `useQueries` options
|
|
6
|
+
* @internal
|
|
7
|
+
*/ function createUseQueries(client) {
|
|
8
|
+
return createRecursiveProxy((opts)=>{
|
|
9
|
+
const arrayPath = opts.path;
|
|
10
|
+
const dotPath = arrayPath.join('.');
|
|
11
|
+
const [input, _opts] = opts.args;
|
|
12
|
+
const options = {
|
|
13
|
+
queryKey: getQueryKeyInternal(arrayPath, input, 'query'),
|
|
14
|
+
queryFn: ()=>{
|
|
15
|
+
return client.query(dotPath, input, _opts?.trpc);
|
|
16
|
+
},
|
|
17
|
+
..._opts
|
|
18
|
+
};
|
|
19
|
+
return options;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { createUseQueries };
|
|
@@ -1,36 +1,35 @@
|
|
|
1
|
-
import { CancelOptions, InfiniteData, InvalidateOptions, InvalidateQueryFilters, Query, RefetchOptions, RefetchQueryFilters, ResetOptions, SetDataOptions, Updater } from '@tanstack/react-query';
|
|
2
|
-
import { TRPCClientError } from '@trpc/client';
|
|
3
|
-
import { AnyQueryProcedure,
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
type DecorateProcedure<TConfig extends AnyRootConfig, TProcedure extends AnyQueryProcedure> = {
|
|
1
|
+
import type { CancelOptions, InfiniteData, InvalidateOptions, InvalidateQueryFilters, Query, RefetchOptions, RefetchQueryFilters, ResetOptions, SetDataOptions, Updater } from '@tanstack/react-query';
|
|
2
|
+
import type { TRPCClientError } from '@trpc/client';
|
|
3
|
+
import type { AnyQueryProcedure, AnyRootTypes, AnyRouter, DeepPartial, inferProcedureInput, inferTransformedProcedureOutput, ProtectedIntersection, RouterRecord } from '@trpc/server/unstable-core-do-not-import';
|
|
4
|
+
import type { DecoratedTRPCContextProps, TRPCContextState, TRPCFetchInfiniteQueryOptions, TRPCFetchQueryOptions, TRPCQueryUtils } from '../../internals/context';
|
|
5
|
+
import type { QueryKeyKnown, QueryType } from '../../internals/getQueryKey';
|
|
6
|
+
import type { ExtractCursorType } from '../hooks/types';
|
|
7
|
+
type DecorateProcedure<TRoot extends AnyRootTypes, TProcedure extends AnyQueryProcedure> = {
|
|
9
8
|
/**
|
|
10
9
|
* @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientfetchquery
|
|
11
10
|
*/
|
|
12
|
-
fetch(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchQueryOptions<inferTransformedProcedureOutput<
|
|
11
|
+
fetch(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchQueryOptions<inferTransformedProcedureOutput<TRoot, TProcedure>, TRPCClientError<TRoot>>): Promise<inferTransformedProcedureOutput<TRoot, TProcedure>>;
|
|
13
12
|
/**
|
|
14
13
|
* @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientfetchinfinitequery
|
|
15
14
|
*/
|
|
16
|
-
fetchInfinite(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchInfiniteQueryOptions<inferProcedureInput<TProcedure>, inferTransformedProcedureOutput<
|
|
15
|
+
fetchInfinite(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchInfiniteQueryOptions<inferProcedureInput<TProcedure>, inferTransformedProcedureOutput<TRoot, TProcedure>, TRPCClientError<TRoot>>): Promise<InfiniteData<inferTransformedProcedureOutput<TRoot, TProcedure>, NonNullable<ExtractCursorType<inferProcedureInput<TProcedure>>> | null>>;
|
|
17
16
|
/**
|
|
18
17
|
* @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientprefetchquery
|
|
19
18
|
*/
|
|
20
|
-
prefetch(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchQueryOptions<inferTransformedProcedureOutput<
|
|
19
|
+
prefetch(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchQueryOptions<inferTransformedProcedureOutput<TRoot, TProcedure>, TRPCClientError<TRoot>>): Promise<void>;
|
|
21
20
|
/**
|
|
22
21
|
* @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientprefetchinfinitequery
|
|
23
22
|
*/
|
|
24
|
-
prefetchInfinite(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchInfiniteQueryOptions<inferProcedureInput<TProcedure>, inferTransformedProcedureOutput<
|
|
23
|
+
prefetchInfinite(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchInfiniteQueryOptions<inferProcedureInput<TProcedure>, inferTransformedProcedureOutput<TRoot, TProcedure>, TRPCClientError<TRoot>>): Promise<void>;
|
|
25
24
|
/**
|
|
26
|
-
* @link https://tanstack.com/query/v5/docs/
|
|
25
|
+
* @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientensurequerydata
|
|
27
26
|
*/
|
|
28
|
-
ensureData(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchQueryOptions<inferTransformedProcedureOutput<
|
|
27
|
+
ensureData(input: inferProcedureInput<TProcedure>, opts?: TRPCFetchQueryOptions<inferTransformedProcedureOutput<TRoot, TProcedure>, TRPCClientError<TRoot>>): Promise<inferTransformedProcedureOutput<TRoot, TProcedure>>;
|
|
29
28
|
/**
|
|
30
29
|
* @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientinvalidatequeries
|
|
31
30
|
*/
|
|
32
31
|
invalidate(input?: DeepPartial<inferProcedureInput<TProcedure>>, filters?: Omit<InvalidateQueryFilters, 'predicate'> & {
|
|
33
|
-
predicate?: (query: Query<inferProcedureInput<TProcedure>, TRPCClientError<
|
|
32
|
+
predicate?: (query: Query<inferProcedureInput<TProcedure>, TRPCClientError<TRoot>, inferProcedureInput<TProcedure>, QueryKeyKnown<inferProcedureInput<TProcedure>, inferProcedureInput<TProcedure> extends {
|
|
34
33
|
cursor?: any;
|
|
35
34
|
} | void ? 'infinite' : 'query'>>) => boolean;
|
|
36
35
|
}, options?: InvalidateOptions): Promise<void>;
|
|
@@ -53,19 +52,19 @@ type DecorateProcedure<TConfig extends AnyRootConfig, TProcedure extends AnyQuer
|
|
|
53
52
|
/**
|
|
54
53
|
* The input of the procedure
|
|
55
54
|
*/
|
|
56
|
-
input: inferProcedureInput<TProcedure>, updater: Updater<inferTransformedProcedureOutput<
|
|
55
|
+
input: inferProcedureInput<TProcedure>, updater: Updater<inferTransformedProcedureOutput<TRoot, TProcedure> | undefined, inferTransformedProcedureOutput<TRoot, TProcedure> | undefined>, options?: SetDataOptions): void;
|
|
57
56
|
/**
|
|
58
57
|
* @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientsetquerydata
|
|
59
58
|
*/
|
|
60
|
-
setInfiniteData(input: inferProcedureInput<TProcedure>, updater: Updater<InfiniteData<inferTransformedProcedureOutput<
|
|
59
|
+
setInfiniteData(input: inferProcedureInput<TProcedure>, updater: Updater<InfiniteData<inferTransformedProcedureOutput<TRoot, TProcedure>, NonNullable<ExtractCursorType<inferProcedureInput<TProcedure>>> | null> | undefined, InfiniteData<inferTransformedProcedureOutput<TRoot, TProcedure>, NonNullable<ExtractCursorType<inferProcedureInput<TProcedure>>> | null> | undefined>, options?: SetDataOptions): void;
|
|
61
60
|
/**
|
|
62
61
|
* @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientgetquerydata
|
|
63
62
|
*/
|
|
64
|
-
getData(input?: inferProcedureInput<TProcedure>): inferTransformedProcedureOutput<
|
|
63
|
+
getData(input?: inferProcedureInput<TProcedure>): inferTransformedProcedureOutput<TRoot, TProcedure> | undefined;
|
|
65
64
|
/**
|
|
66
65
|
* @link https://tanstack.com/query/v5/docs/reference/QueryClient#queryclientgetquerydata
|
|
67
66
|
*/
|
|
68
|
-
getInfiniteData(input?: inferProcedureInput<TProcedure>): InfiniteData<inferTransformedProcedureOutput<
|
|
67
|
+
getInfiniteData(input?: inferProcedureInput<TProcedure>): InfiniteData<inferTransformedProcedureOutput<TRoot, TProcedure>, NonNullable<ExtractCursorType<inferProcedureInput<TProcedure>>> | null> | undefined;
|
|
69
68
|
};
|
|
70
69
|
/**
|
|
71
70
|
* this is the type that is used to add in procedures that can be used on
|
|
@@ -75,22 +74,27 @@ type DecorateRouter = {
|
|
|
75
74
|
/**
|
|
76
75
|
* Invalidate the full router
|
|
77
76
|
* @link https://trpc.io/docs/v10/useContext#query-invalidation
|
|
78
|
-
* @link https://tanstack.com/query/v5/docs/react/guides/query-invalidation
|
|
77
|
+
* @link https://tanstack.com/query/v5/docs/framework/react/guides/query-invalidation
|
|
79
78
|
*/
|
|
80
79
|
invalidate(input?: undefined, filters?: InvalidateQueryFilters, options?: InvalidateOptions): Promise<void>;
|
|
81
80
|
};
|
|
82
81
|
/**
|
|
83
82
|
* @internal
|
|
84
83
|
*/
|
|
85
|
-
export type DecoratedProcedureUtilsRecord<
|
|
86
|
-
[TKey in keyof
|
|
84
|
+
export type DecoratedProcedureUtilsRecord<TRoot extends AnyRootTypes, TRecord extends RouterRecord> = DecorateRouter & {
|
|
85
|
+
[TKey in keyof TRecord]: TRecord[TKey] extends infer $Value ? $Value extends RouterRecord ? DecoratedProcedureUtilsRecord<TRoot, $Value> & DecorateRouter : $Value extends AnyQueryProcedure ? DecorateProcedure<TRoot, $Value> : never : never;
|
|
87
86
|
};
|
|
88
87
|
type AnyDecoratedProcedure = DecorateProcedure<any, any>;
|
|
89
|
-
export type CreateReactUtils<TRouter extends AnyRouter, TSSRContext> = ProtectedIntersection<DecoratedTRPCContextProps<TRouter, TSSRContext>, DecoratedProcedureUtilsRecord<TRouter>>;
|
|
88
|
+
export type CreateReactUtils<TRouter extends AnyRouter, TSSRContext> = ProtectedIntersection<DecoratedTRPCContextProps<TRouter, TSSRContext>, DecoratedProcedureUtilsRecord<TRouter['_def']['_config']['$types'], TRouter['_def']['record']>>;
|
|
89
|
+
export type CreateQueryUtils<TRouter extends AnyRouter> = DecoratedProcedureUtilsRecord<TRouter['_def']['_config']['$types'], TRouter['_def']['record']>;
|
|
90
90
|
export declare const getQueryType: (utilName: keyof AnyDecoratedProcedure) => QueryType;
|
|
91
91
|
/**
|
|
92
92
|
* @internal
|
|
93
93
|
*/
|
|
94
|
-
export declare function createReactQueryUtils<TRouter extends AnyRouter, TSSRContext>(context: TRPCContextState<AnyRouter,
|
|
94
|
+
export declare function createReactQueryUtils<TRouter extends AnyRouter, TSSRContext>(context: TRPCContextState<AnyRouter, TSSRContext>): ProtectedIntersection<DecoratedTRPCContextProps<TRouter, TSSRContext>, DecoratedProcedureUtilsRecord<TRouter["_def"]["_config"]["$types"], TRouter["_def"]["record"]>>;
|
|
95
|
+
/**
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
export declare function createQueryUtilsProxy<TRouter extends AnyRouter>(context: TRPCQueryUtils<TRouter>): CreateQueryUtils<TRouter>;
|
|
95
99
|
export {};
|
|
96
100
|
//# sourceMappingURL=utilsProxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilsProxy.d.ts","sourceRoot":"","sources":["../../../src/shared/proxy/utilsProxy.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utilsProxy.d.ts","sourceRoot":"","sources":["../../../src/shared/proxy/utilsProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var client = require('@trpc/client');
|
|
4
|
+
var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
|
|
5
|
+
var context = require('../../internals/context.js');
|
|
6
|
+
var getQueryKey = require('../../internals/getQueryKey.js');
|
|
7
|
+
|
|
8
|
+
const getQueryType = (utilName)=>{
|
|
9
|
+
switch(utilName){
|
|
10
|
+
case 'fetch':
|
|
11
|
+
case 'ensureData':
|
|
12
|
+
case 'prefetch':
|
|
13
|
+
case 'getData':
|
|
14
|
+
case 'setData':
|
|
15
|
+
return 'query';
|
|
16
|
+
case 'fetchInfinite':
|
|
17
|
+
case 'prefetchInfinite':
|
|
18
|
+
case 'getInfiniteData':
|
|
19
|
+
case 'setInfiniteData':
|
|
20
|
+
return 'infinite';
|
|
21
|
+
case 'cancel':
|
|
22
|
+
case 'invalidate':
|
|
23
|
+
case 'refetch':
|
|
24
|
+
case 'reset':
|
|
25
|
+
return 'any';
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* @internal
|
|
30
|
+
*/ function createRecursiveUtilsProxy(context, key) {
|
|
31
|
+
return unstableCoreDoNotImport.createRecursiveProxy((opts)=>{
|
|
32
|
+
const path = [
|
|
33
|
+
key,
|
|
34
|
+
...opts.path
|
|
35
|
+
];
|
|
36
|
+
const utilName = path.pop();
|
|
37
|
+
const args = [
|
|
38
|
+
...opts.args
|
|
39
|
+
];
|
|
40
|
+
const input = args.shift(); // args can now be spread when input removed
|
|
41
|
+
const queryType = getQueryType(utilName);
|
|
42
|
+
const queryKey = getQueryKey.getQueryKeyInternal(path, input, queryType);
|
|
43
|
+
const contextMap = {
|
|
44
|
+
fetch: ()=>context.fetchQuery(queryKey, ...args),
|
|
45
|
+
fetchInfinite: ()=>context.fetchInfiniteQuery(queryKey, args[0]),
|
|
46
|
+
prefetch: ()=>context.prefetchQuery(queryKey, ...args),
|
|
47
|
+
prefetchInfinite: ()=>context.prefetchInfiniteQuery(queryKey, args[0]),
|
|
48
|
+
ensureData: ()=>context.ensureQueryData(queryKey, ...args),
|
|
49
|
+
invalidate: ()=>context.invalidateQueries(queryKey, ...args),
|
|
50
|
+
reset: ()=>context.resetQueries(queryKey, ...args),
|
|
51
|
+
refetch: ()=>context.refetchQueries(queryKey, ...args),
|
|
52
|
+
cancel: ()=>context.cancelQuery(queryKey, ...args),
|
|
53
|
+
setData: ()=>{
|
|
54
|
+
context.setQueryData(queryKey, args[0], args[1]);
|
|
55
|
+
},
|
|
56
|
+
setInfiniteData: ()=>{
|
|
57
|
+
context.setInfiniteQueryData(queryKey, args[0], args[1]);
|
|
58
|
+
},
|
|
59
|
+
getData: ()=>context.getQueryData(queryKey),
|
|
60
|
+
getInfiniteData: ()=>context.getInfiniteQueryData(queryKey)
|
|
61
|
+
};
|
|
62
|
+
return contextMap[utilName]();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @internal
|
|
67
|
+
*/ function createReactQueryUtils(context$1) {
|
|
68
|
+
return unstableCoreDoNotImport.createFlatProxy((key)=>{
|
|
69
|
+
const contextName = key;
|
|
70
|
+
if (contextName === 'client') {
|
|
71
|
+
return client.createTRPCClientProxy(context$1.client);
|
|
72
|
+
}
|
|
73
|
+
if (context.contextProps.includes(contextName)) {
|
|
74
|
+
return context$1[contextName];
|
|
75
|
+
}
|
|
76
|
+
return createRecursiveUtilsProxy(context$1, key);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @internal
|
|
81
|
+
*/ function createQueryUtilsProxy(context) {
|
|
82
|
+
return unstableCoreDoNotImport.createFlatProxy((key)=>{
|
|
83
|
+
return createRecursiveUtilsProxy(context, key);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
exports.createQueryUtilsProxy = createQueryUtilsProxy;
|
|
88
|
+
exports.createReactQueryUtils = createReactQueryUtils;
|
|
89
|
+
exports.getQueryType = getQueryType;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { createTRPCClientProxy } from '@trpc/client';
|
|
2
|
+
import { createFlatProxy, createRecursiveProxy } from '@trpc/server/unstable-core-do-not-import';
|
|
3
|
+
import { contextProps } from '../../internals/context.mjs';
|
|
4
|
+
import { getQueryKeyInternal } from '../../internals/getQueryKey.mjs';
|
|
5
|
+
|
|
6
|
+
const getQueryType = (utilName)=>{
|
|
7
|
+
switch(utilName){
|
|
8
|
+
case 'fetch':
|
|
9
|
+
case 'ensureData':
|
|
10
|
+
case 'prefetch':
|
|
11
|
+
case 'getData':
|
|
12
|
+
case 'setData':
|
|
13
|
+
return 'query';
|
|
14
|
+
case 'fetchInfinite':
|
|
15
|
+
case 'prefetchInfinite':
|
|
16
|
+
case 'getInfiniteData':
|
|
17
|
+
case 'setInfiniteData':
|
|
18
|
+
return 'infinite';
|
|
19
|
+
case 'cancel':
|
|
20
|
+
case 'invalidate':
|
|
21
|
+
case 'refetch':
|
|
22
|
+
case 'reset':
|
|
23
|
+
return 'any';
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* @internal
|
|
28
|
+
*/ function createRecursiveUtilsProxy(context, key) {
|
|
29
|
+
return createRecursiveProxy((opts)=>{
|
|
30
|
+
const path = [
|
|
31
|
+
key,
|
|
32
|
+
...opts.path
|
|
33
|
+
];
|
|
34
|
+
const utilName = path.pop();
|
|
35
|
+
const args = [
|
|
36
|
+
...opts.args
|
|
37
|
+
];
|
|
38
|
+
const input = args.shift(); // args can now be spread when input removed
|
|
39
|
+
const queryType = getQueryType(utilName);
|
|
40
|
+
const queryKey = getQueryKeyInternal(path, input, queryType);
|
|
41
|
+
const contextMap = {
|
|
42
|
+
fetch: ()=>context.fetchQuery(queryKey, ...args),
|
|
43
|
+
fetchInfinite: ()=>context.fetchInfiniteQuery(queryKey, args[0]),
|
|
44
|
+
prefetch: ()=>context.prefetchQuery(queryKey, ...args),
|
|
45
|
+
prefetchInfinite: ()=>context.prefetchInfiniteQuery(queryKey, args[0]),
|
|
46
|
+
ensureData: ()=>context.ensureQueryData(queryKey, ...args),
|
|
47
|
+
invalidate: ()=>context.invalidateQueries(queryKey, ...args),
|
|
48
|
+
reset: ()=>context.resetQueries(queryKey, ...args),
|
|
49
|
+
refetch: ()=>context.refetchQueries(queryKey, ...args),
|
|
50
|
+
cancel: ()=>context.cancelQuery(queryKey, ...args),
|
|
51
|
+
setData: ()=>{
|
|
52
|
+
context.setQueryData(queryKey, args[0], args[1]);
|
|
53
|
+
},
|
|
54
|
+
setInfiniteData: ()=>{
|
|
55
|
+
context.setInfiniteQueryData(queryKey, args[0], args[1]);
|
|
56
|
+
},
|
|
57
|
+
getData: ()=>context.getQueryData(queryKey),
|
|
58
|
+
getInfiniteData: ()=>context.getInfiniteQueryData(queryKey)
|
|
59
|
+
};
|
|
60
|
+
return contextMap[utilName]();
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* @internal
|
|
65
|
+
*/ function createReactQueryUtils(context) {
|
|
66
|
+
return createFlatProxy((key)=>{
|
|
67
|
+
const contextName = key;
|
|
68
|
+
if (contextName === 'client') {
|
|
69
|
+
return createTRPCClientProxy(context.client);
|
|
70
|
+
}
|
|
71
|
+
if (contextProps.includes(contextName)) {
|
|
72
|
+
return context[contextName];
|
|
73
|
+
}
|
|
74
|
+
return createRecursiveUtilsProxy(context, key);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @internal
|
|
79
|
+
*/ function createQueryUtilsProxy(context) {
|
|
80
|
+
return createFlatProxy((key)=>{
|
|
81
|
+
return createRecursiveUtilsProxy(context, key);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export { createQueryUtilsProxy, createReactQueryUtils, getQueryType };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryClient.d.ts","sourceRoot":"","sources":["../../src/shared/queryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"queryClient.d.ts","sourceRoot":"","sources":["../../src/shared/queryClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,gCAAgC,GACxC;IACE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iBAAiB,CAAC,EAAE,KAAK,CAAC;CAC3B,GACD;IACE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC;AAEN;;GAEG;AACH,eAAO,MAAM,cAAc,WAAY,gCAAgC,gBACN,CAAC"}
|
package/dist/shared/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { QueryClient } from '@tanstack/react-query';
|
|
3
|
-
import { AnyRouter, MaybePromise } from '@trpc/server';
|
|
2
|
+
import type { QueryClient } from '@tanstack/react-query';
|
|
3
|
+
import type { AnyRouter, MaybePromise } from '@trpc/server/unstable-core-do-not-import';
|
|
4
4
|
/**
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACb,MAAM,0CAA0C,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,CAAC,IAAI,EAAE;QAChB;;WAEG;QACH,UAAU,EAAE,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QACxC,WAAW,EAAE,WAAW,CAAC;QACzB;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,QAAQ,SAAS,SAAS;IAChE;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAC5C,CAAC;IAEF;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;CAC9B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { QueryClient } from '@tanstack/react-query';
|
|
2
|
+
import type { CreateTRPCClient } from '@trpc/client';
|
|
3
|
+
import { TRPCUntypedClient } from '@trpc/client';
|
|
4
|
+
import type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';
|
|
5
|
+
import type { TRPCQueryUtils } from '../shared';
|
|
6
|
+
export interface CreateQueryUtilsOptions<TRouter extends AnyRouter> {
|
|
7
|
+
/**
|
|
8
|
+
* The `TRPCClient`
|
|
9
|
+
*/
|
|
10
|
+
client: CreateTRPCClient<TRouter> | TRPCUntypedClient<TRouter>;
|
|
11
|
+
/**
|
|
12
|
+
* The `QueryClient` from `react-query`
|
|
13
|
+
*/
|
|
14
|
+
queryClient: QueryClient;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Creates a set of utility functions that can be used to interact with `react-query`
|
|
18
|
+
* @param opts the `TRPCClient` and `QueryClient` to use
|
|
19
|
+
* @returns a set of utility functions that can be used to interact with `react-query`
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare function createUtilityFunctions<TRouter extends AnyRouter>(opts: CreateQueryUtilsOptions<TRouter>): TRPCQueryUtils<TRouter>;
|
|
23
|
+
//# sourceMappingURL=createUtilityFunctions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createUtilityFunctions.d.ts","sourceRoot":"","sources":["../../src/utils/createUtilityFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAoB,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,WAAW,uBAAuB,CAAC,OAAO,SAAS,SAAS;IAChE;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC/D;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,SAAS,SAAS,EAC9D,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,GACrC,cAAc,CAAC,OAAO,CAAC,CA8GzB"}
|