Preskoči na vsebino
100% lokalno

Zod shema v TypeScript tip

Pretvori Zod shemo v ustrezni TypeScript vmesnik ali tip. Nauči se, kako z.infer ustvari tipe iz tvojih shem brez gradilnika.

Vhod
Izhod

Zod shema v TypeScript tip

Prilepi Zod shemo — definicijo `z.object({...})` ali dodeljeno konstanti — in to orodje bo izpisalo TypeScript vmesnik ali alias tipa, ki bi ga `z.infer` ustvaril. Uporabno je, ko je shema vir resnice in rabiš ujemajući statični tip brez zagon gradilnika ali CLI orodja. Uporabi ga za hitro preverjanje med pisanjem validacijske kode, za dokumentiranje oblike API-ja iz Zod sheme ali za prenos sheme v projekt, ki potrebuje samo tipe.

Mogočnosti izpisa nadzorujejo obliko generirane kode. Izberi med `interface` in `type` aliasom — ne-objektna shema, kot je gola unija ali niz, je vedno alias tipa, ker TypeScript vmesniki lahko opisujejo samo oblike objektov. Opcijska polja se lahko prikazujejo kot vprašaj (`polje?: string`) ali kot eksplicitna `string | undefined` unija. Ločen preklopnik ohrani člane `z.enum` kot dobesedne unije namesto porušitve na `string`. Drugi preklopnik `.describe("...")` klice pretvori v komentarje nad vsako poljem.

Ugnezdeni objekti, matrike, nabori, unije, križišča, zapisi, zemljevidi in nizi se vsi pretvorijo v njihove TypeScript ekvivalente. Pogosti verizni klici, ki le dodajo preverjanje med izvajanjem — `.min()`, `.email()`, `.refine()`, `.default()` in podobno — se prepoznajo in preskočijo, namesto da bi prekinili pretvorbo. Rekurzivne sheme, zgrajene z `z.lazy(() => Schema)`, se razrešijo nazaj na samoreferencirni tip, ko je ujemajoči `const` del istega vnosa; izključi to možnost, da vidišz `any` namesto tega. Konci vrstic za Windows in Unix se obravnavajo enako, tabel pod izpisom pa prikaže, koliko deklaracij in polj je bilo ustvarjenih.

Vse se izvaja v brskalnik. Shema, ki jo prilepish, se nikoli ne pošlje nikamor drugam, zato je varno uporabiti z neobjavljenimi API-ji. Kopiraj rezultat, presledi kot `.txt` datoteko ali ga pošlji neposredno v drugo orodje.

FAQ

Katero različico Zoda to orodje podpira?
Pogoste tovarne in verizni klici iz Zoda v3 in v4 — objekti, matrike, unije, zapisi in drugo. Prilagojeni pretvorbeni in provjere se razčlenijo in preskočijo, ker se njihov vpliv na tip ne more zaključiti samo iz besedila sheme.
Kaj se zgodi s .refine(), .transform() in podobnimi klici?
Prepoznavajo se in se zanemarijo: orodje ohrani tip, ki ga je imela shema pred klicem, ker ne more vrednotiti poljubne funkcije, da bi vedel, kako se oblika spremeniti pri transformaciji.
Ali lahko obravnava shemo, razdeljeno med več deklaracij const?
Da. Vsaka deklarirama shema v vnosu se pretvori v svoj lastni vmesnik ali tip, v vrstnem redu pojavljanja, zato se skupna pod-shema, nanašana po imenu v drugo, pravilno razreši.
Zakaj moja shema prikazuje napako namesto pretvorbe?
Ponavadi manjka zaprta ograda, oklepaj ali narekovaj kjer v prilepljeni kodi. Preveri, da je vsak z.object({ ... }) in doslovna matrika pravilno zaprta.
Ali se moja shema pošilja kam drugam?
Ne. Pretvorba se izvršava v celoti v brskalnik — tvoja shema nikoli ne zapusti tvojega naprave.