Zod séma TypeScript típusra
A Zod séma definícióját a megfelelő TypeScript interfészre vagy típusra konvertálja. Számos kimeneteli opció és támogatott sémaelem.
Zod séma TypeScript típusra
Illesszen be egy Zod sémát — egy `z.object({...})` definícióját, opcionálisan egy `const`-hoz rendelve — és ez az eszköz kimenete a TypeScript interfész vagy típusselv, amely a `z.infer` előhozna belőle. Hasznos, amikor a séma az igazság forrása, és szeretné a megfelelő statikus típust, anélkül hogy futtatna egy build lépést vagy egy codegen parancssori eszközt: gyors hibaellenőrzéshez validációs kód írása közben, egy API alakjának dokumentálásához a Zod sémájából, vagy egy séma áttelepítéséhez olyan kódbázisba, amely csak típusokat igényel.
A kimeneti opciók szabályozzák a generált kód alakját. Válasszon az `interface` és a `type` alias között (egy nem-objektum séma, például egy meztelen unió vagy string, mindig típusselv lesz, mivel a TypeScript interfészek csak objektumformákat tudnak leírni), és hogy a deklaráció `export`-álva van-e. Az opcionális mezők vagy kérdőjelként (`field?: string`) vagy explicit `string | undefined` unióként renderelhetők. Egy külön kapcsoló megtartja a `z.enum` tagjait szó szerinti unióként ahelyett, hogy `string` szintjére zsugorítaná őket, és egy másik a `.describe("...")` hívásokat docblock megjegyzésekké alakítja az egyes mezők fölött.
A beágyazott objektumok, tömbök, sorpárok, uniók, metszések, rekordok, térképek és halmazok mindegyike a TypeScript megfelelőire konvertálódik, és a közös láncolható hívások, amelyek csak futtatási idejű validációt adnak hozzá — `.min()`, `.email()`, `.refine()`, `.default()` és hasonlók — felismerésre kerülnek és kihagyásra az átalakítás megtöréséhez helyett. A `z.lazy(() => Schema)` segítségével készített rekurzív sémák önmagára hivatkozó típusra kerülnek feloldásra, ha a megfelelő `const` ugyanabban a bemenetben van; kapcsolja ki ezt az opciót, hogy helyette `any` legyen. A Windows és Unix vonal végei ugyanúgy kezelésre kerülnek, és az output alatti számlálás azt jelzi, hogy hány deklaráció és mező lett generálva.
Everything runs in your browser. The schema you paste is never uploaded anywhere, so it is safe to use with an unreleased API's validation code. Copy the result, download it as a `.txt` file, or send it straight into another tool to keep working on it.