Esquema Zod a tipo TypeScript
Convierte una definición de esquema Zod en su interfaz o tipo TypeScript correspondiente.
Esquema Zod a tipo TypeScript
Pega un esquema Zod —una definición `z.object({...})`, opcionalmente asignada a una `const`— y esta herramienta genera la interfaz TypeScript o el alias de tipo que `z.infer` produciría. Es útil cuando el esquema es la fuente de verdad y deseas obtener el tipo estático correspondiente sin ejecutar un paso de compilación o una CLI de generación de código: para verificar rápidamente mientras escribes código de validación, para documentar la forma de una API a partir de su esquema Zod, o para portar un esquema a un proyecto que solo necesita los tipos.
Las opciones de salida controlan la forma del código generado. Elige entre una `interface` y un `type` alias (un esquema que no sea de objeto, como una unión simple o una cadena de texto, siempre se convierte en un alias de tipo, ya que las interfaces de TypeScript solo pueden describir formas de objeto). Los campos opcionales pueden representarse como un signo de interrogación (`field?: string`) o como una unión explícita `string | undefined`. Una opción separada mantiene los miembros de `z.enum` como una unión literal en lugar de convertirlos a `string`, y otra convierte las llamadas `.describe("...")` en un comentario de bloque de documentación encima de cada campo.
Los objetos anidados, matrices, tuplas, uniones, intersecciones, registros, mapas y conjuntos se convierten todos en sus equivalentes de TypeScript, y las llamadas encadenadas comunes que solo agregan validación en tiempo de ejecución —`.min()`, `.email()`, `.refine()`, `.default()` y similares— se reconocen y se omiten en lugar de romper la conversión. Los esquemas recursivos construidos con `z.lazy(() => Schema)` se resuelven en un tipo que se auto-referencia cuando la `const` coincidente forma parte de la misma entrada; desactiva esa opción para ver `any` en su lugar. Los saltos de línea de Windows y Unix se manejan de la misma manera, y el recuento debajo de la salida informa cuántas declaraciones y campos se generaron.
Todo se ejecuta en tu navegador. El esquema que pegas nunca se carga en ningún lugar, así que es seguro usar con el código de validación de una API sin lanzar. Copia el resultado, descárgalo como archivo `.txt`, o envíalo directamente a otra herramienta para seguir trabajando.