Prisma til Zod‑konverter
Konverter Prisma‑skjema modeller til Zod‑valideringsskjemaer med TypeScript‑typeinferens
Inndata
Utdata
Les meg
Hva er Prisma og Zod?
Prisma er et ORM-verktøy (Object-Relational Mapping) som bruker en skjemafil for å definere databasestrukturen din med modeller, felter og relasjoner. Zod er et TypeScript-først skjemavalideringsbibliotek som lar deg definere kjøretids-typevalidatorer. Å konvertere Prisma-skjemaer til Zod-skjemaer lar deg gjenbruke databasemodelldefinisjonene dine for inndatavalidering, og sikrer konsistens mellom databasestrukturen og valideringslogikken gjennom hele applikasjonen.
Verktøybeskrivelse
Dette verktøyet konverterer automatisk Prisma-skjemadefinisjoner til Zod-valideringsskjemaer. Det analyserer dine Prisma-modeller, enums og felttyper, og genererer deretter tilsvarende Zod-skjemaer med riktig type-mapping. Verktøyet håndterer valgfrie felter, arrays og spesielle Prisma-typer, og skaper TypeScript-klare valideringsskjemaer som speiler databasestrukturen din.
Funksjoner
- Automatisk type-mapping: Konverterer Prisma-typer (String, Int, DateTime, osv.) til tilsvarende Zod-validatorer
- Enum-støtte: Genererer Zod-enum-skjemaer fra Prisma-enum-definisjoner
- Array-håndtering: Konverterer Prisma-listefelt korrekt til Zod-array-validatorer
- Valgfrie felter: Beholder valgfrie feltdefinisjoner i de genererte Zod-skjemaene
- TypeScript-typer: Genererer automatisk TypeScript-typedefinisjoner ved hjelp av
z.infer - Relasjonskommentarer: Legger til kommentarer for relasjonsfelt som ikke kan konverteres direkte
- Flere modeller: Behandler alle modeller og enums i en enkelt Prisma-skjemafil
- Syntaksutheving: Koderedigerer med Prisma- og TypeScript-syntaksutheving
Brukstilfeller
- API-inndatavalidering: Valider forespørselskropper mot databasemodellene dine
- Skjemavalidering: Bruk Zod-skjemaer med skjemabiblioteker som React Hook Form
- Typesikkerhet: Sikre at kjøretidsvalidering samsvarer med databaseskjemaet ditt
- Kodegenerering: Automatisk generer valideringslogikk fra databasemodellene dine
- Konsistens: Hold valideringsskjemaer synkronisert med databasestrukturen
- GraphQL-resolvere: Valider inndata i GraphQL-mutasjonsresolvere
- Migrasjonsstøtte: Oppdater valideringsskjemaer når databasemodeller endres
Støttede type-mappinger
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()- Egendefinerte typer/enums →
z.lazy(() => TypeSchema) - Lister →
z.array() - Valgfrie felter →
.optional()