Zod schéma na TypeScript typ
Konvertuj Zod schéma na odpovídající TypeScript rozhraní nebo typ alias bez dalších kroků.
Zod schéma na TypeScript typ
Vložte Zod schéma — definici `z.object({...})`, volitelně přiřazenou k `const` — a tento nástroj vytvoří TypeScript rozhraní nebo typ alias, který by `z.infer` vytvořil. Je užitečné, když je schéma zdrojem pravdy a chcete odpovídající statický typ bez spuštění kroků buildu nebo CLI codegenu: pro rychlou kontrolu při psaní validačního kódu, pro dokumentaci tvaru API z jeho Zod schématu, nebo pro přenos schématu do kódové báze, která potřebuje pouze typy.
Volby výstupu řídí tvar generovaného kódu. Vyberte si mezi `interface` a typem `type` alias (schéma bez objektu, jako je pouhá unie nebo řetězec, se vždy stane typem alias, protože rozhraní TypeScript mohou popisovat pouze tvary objektů), a zda je deklarace `export`ovaná. Volitelná pole se mohou vykreslit jako otazník (`field?: string`) nebo jako explicitní unie `string | undefined`. Samostatný přepínač udržuje členy `z.enum` jako literální unii místo jejich sbalení na `string`, a další změní volání `.describe("...")` na blok komentářů nad každým polem.
Vnořené objekty, pole, n-tice, unie, průsečíky, záznamy, mapy a množiny se všechny převádějí na jejich TypeScript ekvivalenty, a běžná zřetězená volání, která pouze přidávají validaci za běhu — `.min()`, `.email()`, `.refine()`, `.default()` a podobně — jsou rozpoznána a přeskočena místo přerušení převodu. Rekurzivní schémata vytvořená pomocí `z.lazy(() => Schema)` se řeší zpět na typ odkazující sám na sebe, když se odpovídající `const` nachází ve stejném vstupu; vypněte tuto volbu, chcete-li místo toho vidět `any`. Konce řádků Windows a Unix se zpracovávají stejným způsobem, a počítadlo pod výstupem hlásí, kolik deklarací a polí bylo vygenerováno.
Všechno běží v tvém prohlížeči. Schéma, kterou vložíš, se nikdy nikam nenahraje, takže je bezpečné ji používat s validačním kódem neveřejného API. Zkopíruj výsledek, stáhni ho jako soubor `.txt`, nebo jej pošli přímo do dalšího nástroje, abys pokračoval v práci.