Schema Zod a tipo TypeScript
Converti una definizione di schema Zod nella sua interfaccia o tipo TypeScript corrispondente.
Schema Zod a tipo TypeScript
Incolla uno schema Zod —una definizione `z.object({...})`, opzionalmente assegnata a una `const`— e questo strumento genera l'interfaccia TypeScript o l'alias di tipo che `z.infer` produrrebbe. È utile quando lo schema è la fonte di verità e vuoi il tipo statico corrispondente senza eseguire un passaggio di compilazione o una CLI di generazione del codice: per un rapido controllo mentre scrivi codice di convalida, per documentare la forma di un'API dal suo schema Zod, o per portare uno schema in una codebase che ha bisogno solo dei tipi.
Le opzioni di output controllano la forma del codice generato. Scegli tra un'`interface` e un alias `type` (uno schema non-oggetto, come un'unione semplice o una stringa, diventa sempre un alias di tipo, poiché le interfacce TypeScript possono descrivere solo forme di oggetti), e se la dichiarazione è `export`ata. I campi facoltativi possono essere renderizzati come un punto interrogativo (`field?: string`) o come un'unione esplicita `string | undefined`. Un interruttore separato mantiene i membri di `z.enum` come un'unione letterale invece di ridurli a `string`, e un altro trasforma le chiamate `.describe("...")` in un blocco di commenti di documentazione sopra ogni campo.
Gli oggetti annidati, array, tuple, unioni, intersezioni, record, mappe e insiemi si convertono tutti nei loro equivalenti TypeScript, e le chiamate concatenate comuni che aggiungono solo convalida in fase di esecuzione — `.min()`, `.email()`, `.refine()`, `.default()` e simili — vengono riconosciute e ignorate piuttosto che interrompere la conversione. Gli schemi ricorsivi costruiti con `z.lazy(() => Schema)` vengono risolti in un tipo auto-referenziale quando la `const` corrispondente fa parte dello stesso input; disattiva questa opzione per vedere `any` al suo posto. I terminali di linea Windows e Unix vengono gestiti allo stesso modo, e il totale sotto l'output segnala quante dichiarazioni e campi sono stati generati.
Tutto viene eseguito nel tuo browser. Lo schema che incolla non viene mai caricato da nessuna parte, quindi è sicuro da usare con il codice di convalida di un'API non ancora rilasciata. Copia il risultato, scaricalo come file `.txt`, o invialo direttamente a un altro strumento per continuare a lavorare.