Tip Güvenliği Neden Önemli?
Runtime hataları pahalıdır. Compile-time’da yakalanan hatalar bedavadır.
Tech Stack
- Zod: Runtime şema validasyonu
- tRPC: End-to-end tipli API
- Prisma: Tip-güvenli ORM
Zod ile Şema Tanımlama
import { z } from 'zod';
const UserSchema = z.object({
id: z.string().uuid(),
email: z.string().email(),
name: z.string().min(2),
createdAt: z.date(),
});
type User = z.infer<typeof UserSchema>;
tRPC Router
import { router, publicProcedure } from './trpc';
export const userRouter = router({
getById: publicProcedure
.input(z.string().uuid())
.query(async ({ input }) => {
return db.user.findUnique({ where: { id: input } });
}),
});
Sonuç
Bu stack ile frontend ve backend arasında sıfır type mismatch. Refactoring cesaretle yapılır.