import { fooZodSchema } from './foo.validators'
type Controllers = {
// is it possible to infer opts properly?
create: (opts: any) => {
id: number
name: string
}
// is it possible to infer opts properly?
get: (opts: any) => {
id: number
name: string
}
}
export const t = initTRPC.create()
export const fooRouter = (controllers: Controllers) =>
t.router({
create: t.procedure.input(fooZodSchema.create).query(controllers.create),
get: t.procedure.query(controllers.get),
})
export type FooRouter = ReturnType<typeof fooRouter>
import { fooZodSchema } from './foo.validators'
type Controllers = {
// is it possible to infer opts properly?
create: (opts: any) => {
id: number
name: string
}
// is it possible to infer opts properly?
get: (opts: any) => {
id: number
name: string
}
}
export const t = initTRPC.create()
export const fooRouter = (controllers: Controllers) =>
t.router({
create: t.procedure.input(fooZodSchema.create).query(controllers.create),
get: t.procedure.query(controllers.get),
})
export type FooRouter = ReturnType<typeof fooRouter>