İçeriğe atla
%100 yerel

Zod şemasını TypeScript türüne

Zod şema tanımını eşleşen TypeScript arayüzüne veya türüne dönüştürür. Birçok çıktı seçeneği ve desteklenen şema öğesi içerir.

Giriş
Çıkış

Zod şemasını TypeScript türüne

Bir Zod şeması yapıştırın — bir `z.object({...})` tanımını, isteğe bağlı olarak bir `const`'a atanmış şekilde — ve bu araç, `z.infer` için üretecek TypeScript arayüzü veya tür takma adını çıktı verir. Şema doğruluk kaynağı olduğunda ve bir derleme adımı veya codegen komut satırı aracı çalıştırmadan eşleşen statik türü istediğinizde kullanışlıdır: doğrulama kodu yazarken hızlı bir sağlık kontrolü için, bir API'nin şeklini Zod şemasından belgelemek için veya bir şemayı yalnızca türlere ihtiyaç duyan bir kod tabanına taşımak için.

Çıktı seçenekleri, oluşturulan kodun şeklini kontrol eder. `interface` ile `type` takma adı arasında seçin (nesne olmayan bir şema, örneğin çıplak bir birleşim veya dize, her zaman bir tür takma adı olur, çünkü TypeScript arayüzleri yalnızca nesne şekillerini açıklayabilir) ve bildirim `export` edilip edilmediği. İsteğe bağlı alanlar, soru işareti (`field?: string`) olarak veya açık `string | undefined` birleşimi olarak oluşturulabilir. Ayrı bir geçiş, `z.enum` üyelerini `string` düzeyine daraltmak yerine edebi bir birleşim olarak tutar ve diğer bir geçiş `.describe("...")` çağrılarını her alan üzerinde docblock yorumlarına dönüştürür.

İç içe nesneler, diziler, demet, birleşimler, kesişimler, kayıtlar, haritalar ve kümeler hepsi TypeScript eşdeğerlerine dönüştürülür ve yalnızca çalışma zamanı doğrulama ekleyen yaygın zincirli çağrılar — `.min()`, `.email()`, `.refine()`, `.default()` vb — tanınır ve dönüştürmeyi kırmak yerine atlanır. `z.lazy(() => Schema)` ile oluşturulan özyinelemeli şemalar, eşleşen `const` aynı girişte olduğunda kendine referans veren bir türe çözümlenir; yerine `any` görmek için bu seçeneği kapatın. Windows ve Unix satır sonları aynı şekilde işlenir ve çıktının altındaki sayaç, kaç bildirim ve alanın oluşturulduğunu rapor eder.

Her şey tarayıcınızda çalışır. Yapıştırdığınız şema hiçbir yere yüklenmez, bu nedenle yayınlanmamış bir API'nin doğrulama kodu ile kullanılması güvenlidir. Sonucu kopyalayın, `.txt` dosyası olarak indirin veya başka bir araca göndererek çalışmaya devam edin.

FAQ

Hangi Zod versiyonlarını destekliyor?
Zod v3 ve v4'ten yaygın fabrika işlevleri ve zincirli yöntemleri — nesneler, diziler, birleşimler, kayıtlar ve diğerleri. Özel dönüşümler ve refinement'lar ayrıştırılır ve atlanır, çünkü türe etkileri şema metinden tek başına çıkarılamaz.
.refine(), .transform() ve benzer çağrılara ne olur?
Tanınırlar ve göz ardı edilirler: araç, bir dönüşümün şekli nasıl değiştireceğini bilmek için keyfi bir işlevi değerlendiremiyor, çünkü çağrıdan önce şemada olan türü tutar.
Birden fazla const bildirimine bölünmüş bir şemayı işleyebilir mi?
Evet. Girişte bildirilen her şema, görüntülendikleri sırada kendi arayüzüne veya türüne dönüştürülür, bu nedenle başka birinde ad ile başvurulan paylaşılan bir alt şema doğru şekilde çözülür.
Sémam neden dönüştürülmek yerine hata gösteriyor?
Genellikle yapıştırılan kodda bir yerde eksik bir kapanış parantezi, parantezi veya alıntısı vardır. Her z.object({ ... }) ve dizi kelimenin uygun şekilde kapalı olduğunu kontrol edin.
Sémam bir yere yüklendi mi?
Hayır. Dönüştürme tamamen tarayıcınızda çalışır — şemanız asla cihazınızı terk etmez.