tendies123
tendies1237mo ago

Get Name of All Query Routes or Mutation Routes

Typescript is pretty unhappy with my methods of doing this manually, so wondering if there are any official ways although they i'm pretty sure they should work objectively i.e.
export type MutationRoutes = {
[K in RouteNames]: TRPCProxyClientType[K] extends {
mutate: (...args: any[]) => any;
}
? K
: never;
}[RouteNames];
export type MutationRoutes = {
[K in RouteNames]: TRPCProxyClientType[K] extends {
mutate: (...args: any[]) => any;
}
? K
: never;
}[RouteNames];
If I use this
// This expression is not callable.
const manageTRPCMutationForXState = async <T extends MutationRoutes>(name: T) => {
const mutator = trpcProxyClient[name];
mutator.mutate()
...
}
// This expression is not callable.
const manageTRPCMutationForXState = async <T extends MutationRoutes>(name: T) => {
const mutator = trpcProxyClient[name];
mutator.mutate()
...
}
But if I do
const mutator = trpcProxyClient[name as MutationRoutes];
const mutator = trpcProxyClient[name as MutationRoutes];
It works https://trpc.io/docs/client/vanilla/infer-types
Inferring Types | tRPC
It is often useful to access the types of your API within your clients. For this purpose, you are able to infer the types contained in your AppRouter.
0 Replies
No replies yetBe the first to reply to this messageJoin