Convertitore da Prisma a Zod
Converti i modelli di schema Prisma in schemi di validazione Zod con inferenza dei tipi TypeScript
Input
Output
Leggimi
Cosa sono Prisma e Zod?
Prisma è uno strumento ORM (Object-Relational Mapping) che utilizza un file di schema per definire la struttura del database con modelli, campi e relazioni. Zod è una libreria di validazione degli schemi TypeScript-first che consente di definire validatori di tipi a runtime. La conversione degli schemi Prisma in schemi Zod consente di riutilizzare le definizioni dei modelli del database per la validazione degli input, garantendo coerenza tra la struttura del database e la logica di validazione in tutta l'applicazione.
Descrizione dello strumento
Questo strumento converte automaticamente le definizioni degli schemi Prisma in schemi di validazione Zod. Analizza i modelli, le enumerazioni e i tipi di campo Prisma, quindi genera gli schemi Zod corrispondenti con mappature dei tipi appropriate. Lo strumento gestisce campi opzionali, array e tipi speciali Prisma, creando schemi di validazione pronti per TypeScript che rispecchiano la struttura del database.
Funzionalità
- Mappatura automatica dei tipi: Converte i tipi Prisma (String, Int, DateTime, ecc.) nei validatori Zod corrispondenti
- Supporto enumerazioni: Genera schemi di enumerazione Zod dalle definizioni di enumerazione Prisma
- Gestione array: Converte correttamente i campi lista Prisma in validatori array Zod
- Campi opzionali: Mantiene le definizioni dei campi opzionali negli schemi Zod generati
- Tipi TypeScript: Genera automaticamente definizioni di tipo TypeScript utilizzando
z.infer - Commenti sulle relazioni: Aggiunge commenti per i campi di relazione che non possono essere convertiti direttamente
- Modelli multipli: Elabora tutti i modelli e le enumerazioni in un singolo file di schema Prisma
- Evidenziazione sintassi: Editor di codice con evidenziazione della sintassi Prisma e TypeScript
Casi d'uso
- Validazione input API: Validare i corpi delle richieste rispetto ai modelli del database
- Validazione form: Utilizzare schemi Zod con librerie di form come React Hook Form
- Sicurezza dei tipi: Garantire che la validazione runtime corrisponda allo schema del database
- Generazione codice: Generare automaticamente la logica di validazione dai modelli del database
- Coerenza: Mantenere gli schemi di validazione sincronizzati con la struttura del database
- Resolver GraphQL: Validare gli input nei resolver di mutazione GraphQL
- Supporto migrazioni: Aggiornare gli schemi di validazione quando cambiano i modelli del database
Mappature dei tipi supportate
String→z.string()Int,Float,Decimal→z.number()Boolean→z.boolean()DateTime→z.date()Json→z.record(z.any())Bytes→z.instanceof(Buffer)BigInt→z.bigint()- Tipi personalizzati/enumerazioni →
z.lazy(() => TypeSchema) - Liste →
z.array() - Campi opzionali →
.optional()