Zod schéma do TypeScript typu
Konvertuj Zod schému na zodpovedajúci TypeScript interface alebo typ alias bez ďalších krokov.
Zod schéma do TypeScript typu
Vložte Zod schému — definíciu `z.object({...})`, voliteľne priradenú k `const` — a tento nástroj vygeneruje TypeScript interface alebo typ alias, ktorý by `z.infer` vyprodukoval. Je užitočný, keď je schéma zdrojom pravdy a chcete zodpovedajúci statický typ bez spustenia krokov buildu alebo CLI codegenu: na rýchlu kontrolu pri písaní validačného kódu, na dokumentáciu tvaru API z jeho Zod schémy, alebo na prenos schémy do kódovej základne, ktorá potrebuje iba typy.
Možnosti výstupu riadia tvar generovaného kódu. Vyberte si medzi `interface` a `type` aliasem (schéma bez objektu, ako je holá unia alebo reťazec, sa vždy stane typom alias, pretože TypeScript interfaces môžu opisovať iba tvary objektov), a či je deklarácia `export`ovaná. Voliteľné polia sa môžu vykresliť buď ako otáznik (`field?: string`) alebo ako explicitná unia `string | undefined`. Samostatný prepínač udržiava členy `z.enum` ako literálovú uniju namiesto ich zbalenia na `string`, a ďalší zmení `.describe("...")` volania na blok komentárov nad každým poľom.
Vnorené objekty, polia, n-tice, unie, priesečníky, záznamy, mapy a množiny sa všetky konvertujú na ich TypeScript ekvivalenty, a bežné reťazené volania, ktoré iba pridávajú validáciu za behu — `.min()`, `.email()`, `.refine()`, `.default()` a podobne — sú rozpoznané a preskočené namiesto prerušenia konverzie. Rekurzívne schémy vytvorené s `z.lazy(() => Schema)` sú riešené späť na typ odkazujúci sám na seba, keď sa zodpovedajúca `const` nachádza v tom istom vstupe; vypnite túto možnosť, aby ste namiesto toho videli `any`. Konce riadkov Windows a Unix sa spracúvavajú rovnakým spôsobom, a počítadlo pod výstupom hlási, koľko deklarácií a polí bolo vygenerovaných.
Všetko beží v tvojom prehliadači. Schéma, ktorú vložíš, sa nikdy nikam nenahrá, takže je bezpečné ju používať s validačným kódom neverejného API. Skopíruj výsledok, stiahni ho ako súbor `.txt`, alebo ho pošli priamo do ďalšieho nástroja na pokračovanie v práci.