/** * tRPC v11 Router Generator (T17) * * Reads DMMF and generates a full tRPC v11 router tree: * trpc/ * ├── server.ts — initTRPC + export t, router, procedure * ├── context.ts — context factory (attaches Prisma client) * ├── router.ts — merged appRouter + AppRouter type export * └── routers/ * ├── .ts — per-model router (list/getById/create/update/delete) * └── index.ts — barrel re-export * * TEACHING NOTE: We use string templates (not ts-morph) here because tRPC's * complex generic types are easier to express as literal code strings than * through the ts-morph AST builder API. */ import type { DmmfDocument } from '../types/dmmf.js'; export declare class TRPCGenerator { private outputDir; constructor(outputDir: string); generate(dmmf: DmmfDocument): Promise; private writeServerSetup; private writeContext; private writeModelRouter; private writeRoutersIndex; private writeAppRouter; /** * T17-3: Generate an openapi.ts helper that uses trpc-openapi to produce an * OpenAPI 3.0 document from the appRouter. * The file is guarded so it compiles even when trpc-openapi is not installed. */ private writeOpenAPIHelper; /** * Build the body of a z.object({}) for CREATE input. * Skips auto-generated fields (id, createdAt, updatedAt, @default fields marked readOnly). * Skips relation fields (kind === 'object'). */ private buildCreateSchema; } //# sourceMappingURL=trpc-generator.d.ts.map