Zod-schema till TypeScript-typ
Konvertera Zod-schemadefinitioner till TypeScript-gränssnitt eller typ-alias. Generera den exakta typ som z.infer skulle producera för ditt schema.
Zod-schema till TypeScript-typ
Klistra in ett Zod-schema — en `z.object({...})`-definition, valfritt tilldelad till en `const` — och detta verktyg matar ut TypeScript-gränssnittet eller typ-alias som `z.infer` skulle producera för det. Det är användbart när schemat är sanningskällan och du vill ha motsvarande statisk typ utan ett buildsteg eller CLI-kodgenerering: för snabb sanitetskontroll vid skrivning av valideringskod, för att dokumentera en API:s form från dess Zod-schema, eller för att portera ett schema till en kodbas som bara behöver typerna.
Utgångsoptions styr formen på den genererade koden. Välj mellan ett `interface` och ett `type`-alias (ett icke-objekt-schema, som en enkel union eller sträng, blir alltid ett typ-alias, eftersom TypeScript-gränssnitt endast kan beskriva objektformer), och om deklarationen är `export`erad. Valfria fält kan renderas antingen som ett frågetecken (`field?: string`) eller som en explicit `string | undefined`-union. En separat växel behåller medlemmarna i `z.enum` som en bokstavlig union i stället för att kollapsera dem till `string`, och en annan förvandlar `.describe("...")`-anrop till en docblock-kommentar ovanför varje fält.
Kapslade objekt, arrayer, tupler, unioner, skärningar, poster, kartor och uppsättningar konverteras alla till sina TypeScript-motsvarigheter, och vanliga kedjade anrop som bara lägger till körtidsvalidering — `.min()`, `.email()`, `.refine()`, `.default()` och liknande — känns igen och hoppas över i stället för att bryta konverteringen. Rekursiva scheman byggda med `z.lazy(() => Schema)` löses tillbaka till en självreferensierande typ när motsvarande `const` är en del av samma inmatning; stäng av det alternativet för att se `any` istället. Windows- och Unix-radslut hanteras på samma sätt, och sammanfattningen under utmatningen rapporterar hur många deklarationer och fält som genererades.
Allt körs i din webbläsare. Det schema du klistrar in laddas aldrig upp någonstans, så det är säkert att använda med en opublicerad API:s valideringskod. Kopiera resultatet, ladda ned det som en `.txt`-fil, eller skicka det direkt till ett annat verktyg för att fortsätta arbeta med det.