Schéma Zod vers type TypeScript
Convertissez une définition de schéma Zod en son interface ou type TypeScript correspondant.
Schéma Zod vers type TypeScript
Collez un schéma Zod —une définition `z.object({...})`, éventuellement assignée à une `const`— et cet outil génère l'interface TypeScript ou l'alias de type que `z.infer` produirait. C'est utile quand le schéma est la source de vérité et que vous voulez le type statique sans exécuter une étape de compilation ou une CLI de génération de code : pour vérifier rapidement lors de l'écriture de code de validation, pour documenter la forme d'une API à partir de son schéma Zod, ou pour porter un schéma dans une base de code qui n'a besoin que des types.
Les options de sortie contrôlent la forme du code généré. Choisissez entre une `interface` et un alias `type` (un schéma autre qu'un objet, comme une union simple ou une chaîne, devient toujours un alias de type, car les interfaces TypeScript ne peuvent décrire que des formes d'objets), et si la déclaration est `export`ée. Les champs optionnels peuvent être rendus soit comme un point d'interrogation (`field?: string`), soit comme une union explicite `string | undefined`. Une bascule garde les membres de `z.enum` comme une union littérale au lieu de les réduire à `string`, et une autre transforme `.describe("...")` en commentaires de documentation au-dessus de chaque champ.
Les objets imbriqués, tableaux, tuples, unions, intersections, enregistrements, cartes et ensembles se convertissent tous en leurs équivalents TypeScript, et les appels enchaînés courants qui valident au moment de l'exécution — `.min()`, `.email()`, `.refine()`, `.default()` et autres — sont reconnus et ignorés plutôt que de briser la conversion. Les schémas récursifs construits avec `z.lazy(() => Schema)` sont résolus en un type auto-référencé quand la `const` correspondante fait partie de l'entrée ; désactivez cette option pour voir `any` à la place. Les sauts de ligne Windows et Unix sont traités de manière identique, et le total sous la sortie indique le nombre de déclarations et de champs générés.
Tout s'exécute dans votre navigateur. Le schéma que vous collez n'est jamais téléchargé nulle part, il est donc sûr à utiliser avec le code de validation d'une API non lancée. Copiez le résultat, téléchargez-le en tant que fichier `.txt`, ou envoyez-le directement à un autre outil pour continuer à travailler.