Μετατροπέας Prisma σε Zod
Μετατρέψτε μοντέλα σχήματος Prisma σε σχήματα επικύρωσης Zod με συμπερασμό τύπου TypeScript
Είσοδος
Έξοδος
Readme
Τι είναι το Prisma και το Zod;
Το Prisma είναι ένα εργαλείο ORM (Object-Relational Mapping) που χρησιμοποιεί ένα αρχείο σχήματος για να ορίσει τη δομή της βάσης δεδομένων σας με μοντέλα, πεδία και σχέσεις. Το Zod είναι μια βιβλιοθήκη επικύρωσης σχήματος με προσανατολισμό στο TypeScript που σας επιτρέπει να ορίσετε επικυρωτές τύπων χρόνου εκτέλεσης. Η μετατροπή σχημάτων Prisma σε σχήματα Zod σας επιτρέπει να επαναχρησιμοποιήσετε τους ορισμούς του μοντέλου της βάσης δεδομένων σας για επικύρωση εισόδου, διασφαλίζοντας συνέπεια μεταξύ της δομής της βάσης δεδομένων και της λογικής επικύρωσης σε όλη την εφαρμογή σας.
Περιγραφή εργαλείου
Αυτό το εργαλείο μετατρέπει αυτόματα τους ορισμούς σχήματος Prisma σε σχήματα επικύρωσης Zod. Αναλύει τα μοντέλα, τις απαριθμήσεις και τους τύπους πεδίων του Prisma, στη συνέχεια δημιουργεί αντίστοιχα σχήματα Zod με σωστές αντιστοιχίσεις τύπων. Το εργαλείο χειρίζεται προαιρετικά πεδία, πίνακες και ειδικούς τύπους Prisma, δημιουργώντας σχήματα επικύρωσης έτοιμα για TypeScript που αντικατοπτρίζουν τη δομή της βάσης δεδομένων σας.
Χαρακτηριστικά
- Αυτόματη Αντιστοίχιση Τύπων: Μετατρέπει τους τύπους Prisma (String, Int, DateTime, κ.λπ.) σε αντίστοιχους επικυρωτές Zod
- Υποστήριξη Απαριθμήσεων: Δημιουργεί σχήματα απαρίθμησης Zod από ορισμούς απαρίθμησης Prisma
- Χειρισμός Πινάκων: Μετατρέπει σωστά τα πεδία λίστας Prisma σε επικυρωτές πίνακα Zod
- Προαιρετικά Πεδία: Διατηρεί τους ορισμούς προαιρετικών πεδίων στα δημιουργημένα σχήματα Zod
- Τύποι TypeScript: Δημιουργεί αυτόματα ορισμούς τύπων TypeScript χρησιμοποιώντας
z.infer - Σχόλια Σχέσεων: Προσθέτει σχόλια για πεδία σχέσεων που δεν μπορούν να μετατραπούν απευθείας
- Πολλαπλά Μοντέλα: Επεξεργάζεται όλα τα μοντέλα και τις απαριθμήσεις σε ένα αρχείο σχήματος Prisma
- Επισήμανση Σύνταξης: Επεξεργαστής κώδικα με επισήμανση σύνταξης Prisma και TypeScript
Περιπτώσεις Χρήσης
- Επικύρωση Εισόδου API: Επικυρώστε σώματα αιτημάτων σε σχέση με τα μοντέλα της βάσης δεδομένων σας
- Επικύρωση Φορμών: Χρησιμοποιήστε σχήματα Zod με βιβλιοθήκες φορμών όπως το React Hook Form
- Ασφάλεια Τύπων: Διασφαλίστε ότι η επικύρωση χρόνου εκτέλεσης ταιριάζει με το σχήμα της βάσης δεδομένων σας
- Δημιουργία Κώδικα: Δημιουργήστε αυτόματα λογική επικύρωσης από τα μοντέλα της βάσης δεδομένων σας
- Συνέπεια: Διατηρήστε τα σχήματα επικύρωσης συγχρονισμένα με τη δομή της βάσης δεδομένων
- Επιλύτες GraphQL: Επικυρώστε εισόδους σε επιλύτες μεταλλάξεων GraphQL
- Υποστήριξη Μετανάστευσης: Ενημερώστε τα σχήματα επικύρωσης όταν αλλάζουν τα μοντέλα της βάσης δεδομένων
Υποστηριζόμενες Αντιστοιχίσεις Τύπων
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()- Προσαρμοσμένοι τύποι/απαριθμήσεις →
z.lazy(() => TypeSchema) - Λίστες →
z.array() - Προαιρετικά πεδία →
.optional()