Esquema Zod para tipo TypeScript
Converter uma definição de esquema Zod na sua interface ou tipo TypeScript correspondente. Útil para verificar códigos de validação sem compilação.
Esquema Zod para tipo TypeScript
Cole um esquema Zod — uma definição `z.object({...})`, opcionalmente atribuída a uma `const` — e esta ferramenta gera a interface TypeScript ou alias de tipo que `z.infer` produziria. É útil quando um esquema é a fonte de verdade e você quer o tipo estático correspondente sem executar uma etapa de compilação ou um CLI de geração de código: para uma verificação rápida ao escrever código de validação, para documentar a forma da API a partir do seu esquema Zod, ou para portar um esquema para um projeto que só precisa dos tipos.
As opções de saída controlam a forma do código gerado. Escolha entre uma `interface` e um `type` alias (um esquema não-objeto, como uma união nua ou string, sempre se torna um alias de tipo, pois interfaces TypeScript apenas descrevem formas de objeto), e se a declaração é `export`ada. Campos opcionais podem aparecer como ponto de interrogação (`campo?: string`) ou como uma união explícita `string | undefined`. Um interruptor separado mantém os membros de `z.enum` como uma união literal em vez de colapsá-los para `string`, e outro transforma chamadas `.describe("...")` em comentários docblock acima de cada campo.
Objetos aninhados, arrays, tuplas, uniões, interseções, registros, mapas e conjuntos convertem para seus equivalentes TypeScript, e chamadas encadeadas comuns que apenas adicionam validação em tempo de execução — `.min()`, `.email()`, `.refine()`, `.default()` e similares — são reconhecidas e ignoradas em vez de quebrar a conversão. Esquemas recursivos construídos com `z.lazy(() => Schema)` são resolvidos de volta a um tipo auto-referenciado quando a `const` correspondente faz parte da mesma entrada; desative essa opção para ver `any`. Finais de linha do Windows e Unix são tratados da mesma forma, e a contagem sob a saída informa quantas declarações e campos foram gerados.
Tudo é executado no seu navegador. O esquema que você cola nunca é enviado para lugar nenhum, portanto é seguro usar com código de validação de APIs não divulgadas. Copie o resultado, baixe como arquivo `.txt` ou envie diretamente para outra ferramenta.