tendies123
tendies123
TtRPC
Created by tendies123 on 12/13/2023 in #❓-help
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
2 replies