hashwarpH
tRPC16mo ago
hashwarp

v11: inferRouterInputs is returning `void | <zod object>` so it's unusable?

can't see what I'm doing different than docs
would be really cool if this worked

    updateAreaType: procedure
      .input(z.object({ areaTypeId: z.string(), data: AreaType.partial() }).required())
      .output(z.any())
      .mutation(async ({ input, ctx }) => ctx.app.service.Area.updateAreaType(input, ctx)),


import { inferRouterInputs, inferRouterOutputs } from '@trpc/server';
import type { Router } from './area.router';

type RouterInput = inferRouterInputs<Router>;
type RouterOutput = inferRouterOutputs<Router>;


  async updateAreaType(input: RouterInput['updateAreaType'], ctx: Context): RouterOutput['updateAreaType'] {
    console.log('Area.Service.updateAreaType', input.areaTypeId, input.data);
    const updatedAreaType = await ctx.app.model.AreaType.findByIdAndUpdate(input.areaTypeId, input.data, { new: true })
      .lean()
      .exec();
    if (!updatedAreaType) {
      throw new Error('AreaType update failed');
    }
    return updatedAreaType as AreaType;
  }
image.png
image.png
Was this page helpful?
v11: inferRouterInputs is returning `void | <zod object>` so it's unusable? - tRPC