hashwarp
hashwarp3mo ago

Typing on trpc.createClient?

Basically I want an asyncQuery I can call later, the way asyncMutate works. I can do this:
const profileData = await trpcClient.query(
'seer.evolution.getProfile',
'name'
);
const profileData = await trpcClient.query(
'seer.evolution.getProfile',
'name'
);
But I can't do this:
const profileData = await trpcClient.seer.evolution.getProfile.query('name');
const profileData = await trpcClient.seer.evolution.getProfile.query('name');
My code is like this:
// Define the merged router type
type MergedRouter = {
relay: RelayRouter;
evolution: EvolutionRouter;
seer: SeerRouter;
};

// Initialize tRPC with the merged context if needed
const t = initTRPC
.context<{
// Define any shared context here if necessary
}>()
.create();

// Create the root router
export const createRouter = () =>
t.router<MergedRouter>({
relay: createRelayRouter(),
evolution: createEvolutionRouter(),
seer: createSeerRouter(),
});

// Create a single tRPC instance
export const trpc = createTRPCReact<AppRouter>();

// Create the tRPC client with the combined link
export const trpcClient = trpc.createClient({
links: [combinedLink],
});
// Define the merged router type
type MergedRouter = {
relay: RelayRouter;
evolution: EvolutionRouter;
seer: SeerRouter;
};

// Initialize tRPC with the merged context if needed
const t = initTRPC
.context<{
// Define any shared context here if necessary
}>()
.create();

// Create the root router
export const createRouter = () =>
t.router<MergedRouter>({
relay: createRelayRouter(),
evolution: createEvolutionRouter(),
seer: createSeerRouter(),
});

// Create a single tRPC instance
export const trpc = createTRPCReact<AppRouter>();

// Create the tRPC client with the combined link
export const trpcClient = trpc.createClient({
links: [combinedLink],
});
Version: v11
0 Replies
No replies yetBe the first to reply to this messageJoin

Did you find this page helpful?