BlitzB
tRPC3y ago
1 reply
Blitz

Need help with type hinting a function that accepts a trpc client router

interface CreateModelProps<GetResult> {
    name: string,
    procedures: DecoratedProcedureRecord<{
        read: BuildProcedure<"query", any, any>
        create: BuildProcedure<"mutation", any, any>,
        update: BuildProcedure<"mutation", any, any>,
        delete: BuildProcedure<"mutation", any, any>,
    }, any>,
}


got this so far, but a router with all these routes defined raises a veryyy long type error. so im assuming im doing something very wrong. Anyway, here is the full trace
Type 'DecoratedProcedureRecord<{ hello: BuildProcedure<"query", { _config: RootConfig<{ ctx: { session: Session | null; prisma: PrismaClient<PrismaClientOptions, never, DefaultArgs>; }; meta: object; errorShape: { ...; }; transformer: typeof SuperJSON; }>; ... 5 more ...; _output_out: unique symbol; }, { ...; }>; getAll: ...' is missing the following properties from type 'DecoratedProcedureRecord<{ read: BuildProcedure<"query", any, any>; create: BuildProcedure<"mutation", any, any>; update: BuildProcedure<"mutation", any, any>; delete: BuildProcedure<...>; }, any, "">': read, create, update, deletets(2739)
models.tsx(155, 5): The expected type comes from property 'procedures' which is declared here on type 'CreateModelProps<{ tags: { id: string; name: string; }[]; } & { id: string; name: string; content: string; }>'
Was this page helpful?