Prisma'dan Zod'a Dönüştürücü
Prisma şema modellerini TypeScript tip çıkarımıyla Zod doğrulama şemalarına dönüştürün.
Girdi
Çıktı
Readme
Prisma ve Zod Nedir?
Prisma, modeller, alanlar ve ilişkilerle veritabanı yapınızı tanımlamak için bir şema dosyası kullanan bir ORM (Object-Relational Mapping) aracıdır. Zod, çalışma zamanı tip doğrulayıcıları tanımlamanıza olanak sağlayan TypeScript‑ilk şema doğrulama kütüphanesidir. Prisma şemalarını Zod şemalarına dönüştürmek, veritabanı model tanımlarınızı girdi doğrulaması için yeniden kullanmanızı sağlar ve uygulamanız boyunca veritabanı yapısı ile doğrulama mantığı arasında tutarlılık sağlar.
Araç Açıklaması
Bu araç, Prisma şema tanımlarını otomatik olarak Zod doğrulama şemalarına dönüştürür. Prisma modellerinizi, enumlarınızı ve alan tiplerinizi ayrıştırır, ardından uygun tip eşlemeleriyle karşılık gelen Zod şemalarını üretir. Araç, opsiyonel alanları, dizileri ve özel Prisma tiplerini işleyerek, veritabanı yapınızı yansıtan TypeScript‑hazır doğrulama şemaları oluşturur.
Özellikler
- Otomatik Tip Eşleme: Prisma tiplerini (String, Int, DateTime, vb.) ilgili Zod doğrulayıcılarına dönüştürür
- Enum Desteği: Prisma enum tanımlarından Zod enum şemaları üretir
- Dizi İşleme: Prisma liste alanlarını Zod dizi doğrulayıcılarına doğru şekilde dönüştürür
- Opsiyonel Alanlar: Oluşturulan Zod şemalarında opsiyonel alan tanımlarını korur
- TypeScript Tipleri:
z.inferkullanarak TypeScript tip tanımlarını otomatik oluşturur - İlişki Yorumları: Doğrudan dönüştürülemeyen ilişki alanları için yorum ekler
- Çoklu Modeller: Tek bir Prisma şema dosyasındaki tüm modelleri ve enumları işler
- Sözdizimi Vurgulama: Prisma ve TypeScript sözdizimi vurgulamalı kod editörü
Kullanım Durumları
- API Girdi Doğrulaması: İstek gövdelerini veritabanı modellerinizle doğrular
- Form Doğrulaması: Zod şemalarını React Hook Form gibi form kütüphaneleriyle kullanır
- Tip Güvenliği: Çalışma zamanı doğrulamasının veritabanı şemanızla eşleştiğinden emin olur
- Kod Üretimi: Veritabanı modellerinizden doğrulama mantığını otomatik üretir
- Tutarlılık: Doğrulama şemalarını veritabanı yapısıyla senkronize tutar
- GraphQL Çözücüleri: GraphQL mutasyon çözücülerinde girdileri doğrular
- Göç Desteği: Veritabanı modelleri değiştiğinde doğrulama şemalarını günceller
Desteklenen Tip Eşlemeleri
String→z.string()Int,Float,Decimal→z.number()Boolean→z.boolean()DateTime→z.date()Json→z.record(z.any())Bytes→z.instanceof(Buffer)BigInt→z.bigint()- Custom types/enums →
z.lazy(() => TypeSchema) - Lists →
z.array() - Optional fields →
.optional()