Prisma-zu-Zod-Konverter
Konvertieren Sie Prisma-Schema-Modelle in Zod-Validierungsschemata mit TypeScript-Typinferenz
Eingabe
Ausgabe
Readme
Was sind Prisma und Zod?
Prisma ist ein ORM-Tool (Object-Relational Mapping), das eine Schemadatei verwendet, um Ihre Datenbankstruktur mit Modellen, Feldern und Beziehungen zu definieren. Zod ist eine TypeScript-First-Schema-Validierungsbibliothek, mit der Sie Laufzeit-Typ-Validatoren definieren können. Die Konvertierung von Prisma-Schemas in Zod-Schemas ermöglicht es Ihnen, Ihre Datenbankmodelldefinitionen für die Eingabevalidierung wiederzuverwenden und so Konsistenz zwischen Ihrer Datenbankstruktur und Validierungslogik in Ihrer gesamten Anwendung sicherzustellen.
Tool-Beschreibung
Dieses Tool konvertiert automatisch Prisma-Schema-Definitionen in Zod-Validierungsschemas. Es analysiert Ihre Prisma-Modelle, Enums und Feldtypen und generiert dann entsprechende Zod-Schemas mit korrektem Typ-Mapping. Das Tool verarbeitet optionale Felder, Arrays und spezielle Prisma-Typen und erstellt TypeScript-fertige Validierungsschemas, die Ihre Datenbankstruktur widerspiegeln.
Funktionen
- Automatisches Typ-Mapping: Konvertiert Prisma-Typen (String, Int, DateTime usw.) in entsprechende Zod-Validatoren
- Enum-Unterstützung: Generiert Zod-Enum-Schemas aus Prisma-Enum-Definitionen
- Array-Behandlung: Konvertiert Prisma-Listenfelder korrekt in Zod-Array-Validatoren
- Optionale Felder: Behält optionale Felddefinitionen in den generierten Zod-Schemas bei
- TypeScript-Typen: Generiert automatisch TypeScript-Typdefinitionen mit
z.infer - Beziehungskommentare: Fügt Kommentare für Beziehungsfelder hinzu, die nicht direkt konvertiert werden können
- Mehrere Modelle: Verarbeitet alle Modelle und Enums in einer einzigen Prisma-Schemadatei
- Syntax-Hervorhebung: Code-Editor mit Prisma- und TypeScript-Syntax-Hervorhebung
Anwendungsfälle
- API-Eingabevalidierung: Anfrage-Bodys gegen Ihre Datenbankmodelle validieren
- Formularvalidierung: Zod-Schemas mit Formularbibliotheken wie React Hook Form verwenden
- Typsicherheit: Sicherstellen, dass die Laufzeitvalidierung mit Ihrem Datenbankschema übereinstimmt
- Code-Generierung: Validierungslogik automatisch aus Ihren Datenbankmodellen generieren
- Konsistenz: Validierungsschemas mit der Datenbankstruktur synchronisiert halten
- GraphQL-Resolver: Eingaben in GraphQL-Mutations-Resolvern validieren
- Migrationsunterstützung: Validierungsschemas aktualisieren, wenn sich Datenbankmodelle ändern
Unterstützte Typ-Mappings
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()- Benutzerdefinierte Typen/Enums →
z.lazy(() => TypeSchema) - Listen →
z.array() - Optionale Felder →
.optional()