Prisma से Zod कनवर्टर
Prisma स्कीमा मॉडल्स को Zod वैलिडेशन स्कीमा में TypeScript टाइप इनफ़रेंस के साथ रूपांतरित करें
इनपुट
आउटपुट
रीडमी
Prisma और Zod क्या हैं?
Prisma एक ORM (Object-Relational Mapping) टूल है जो एक schema फ़ाइल का उपयोग करके आपके डेटाबेस की संरचना को मॉडल, फ़ील्ड और रिलेशनशिप के साथ परिभाषित करता है। Zod एक TypeScript‑first schema वैलिडेशन लाइब्रेरी है जो आपको रनटाइम टाइप वैलिडेटर परिभाषित करने देती है। Prisma schemas को Zod schemas में बदलने से आप अपने डेटाबेस मॉडल परिभाषाओं को इनपुट वैलिडेशन के लिए पुनः उपयोग कर सकते हैं, जिससे आपके एप्लिकेशन में डेटाबेस संरचना और वैलिडेशन लॉजिक के बीच संगतता सुनिश्चित होती है।
टूल विवरण
यह टूल Prisma schema परिभाषाओं को स्वचालित रूप से Zod वैलिडेशन schemas में बदलता है। यह आपके Prisma मॉडल, enums, और फ़ील्ड टाइप्स को पार्स करता है, फिर उचित टाइप मैपिंग के साथ संबंधित Zod schemas उत्पन्न करता है। टूल optional फ़ील्ड्स, arrays, और विशेष Prisma टाइप्स को संभालता है, जिससे TypeScript‑ready वैलिडेशन schemas बनते हैं जो आपके डेटाबेस संरचना को प्रतिबिंबित करते हैं।
विशेषताएँ
- ऑटोमैटिक टाइप मैपिंग: Prisma टाइप्स (String, Int, DateTime, आदि) को संबंधित Zod वैलिडेटर्स में बदलता है
- Enum समर्थन: Prisma enum परिभाषाओं से Zod enum schemas उत्पन्न करता है
- Array हैंडलिंग: Prisma list फ़ील्ड्स को सही ढंग से Zod array वैलिडेटर्स में बदलता है
- Optional फ़ील्ड्स: उत्पन्न Zod schemas में optional फ़ील्ड परिभाषाओं को बनाए रखता है
- TypeScript टाइप्स:
z.inferका उपयोग करके स्वचालित रूप से TypeScript टाइप परिभाषाएँ उत्पन्न करता है - Relation कमेंट्स: उन relation फ़ील्ड्स के लिए कमेंट्स जोड़ता है जिन्हें सीधे परिवर्तित नहीं किया जा सकता
- एकाधिक मॉडल्स: एक ही Prisma schema फ़ाइल में सभी मॉडल और enums को प्रोसेस करता है
- सिंटैक्स हाइलाइटिंग: Prisma और TypeScript सिंटैक्स हाइलाइटिंग वाला कोड एडिटर
उपयोग केस
- API इनपुट वैलिडेशन: आपके डेटाबेस मॉडल्स के विरुद्ध अनुरोध बॉडीज़ को वैलिडेट करें
- फ़ॉर्म वैलिडेशन: React Hook Form जैसी फ़ॉर्म लाइब्रेरीज़ के साथ Zod schemas का उपयोग करें
- टाइप सुरक्षा: सुनिश्चित करें कि रनटाइम वैलिडेशन आपके डेटाबेस schema से मेल खाता है
- कोड जेनरेशन: आपके डेटाबेस मॉडल्स से स्वचालित रूप से वैलिडेशन लॉजिक उत्पन्न करें
- संगतता: वैलिडेशन schemas को डेटाबेस संरचना के साथ सिंक्रनाइज़ रखें
- GraphQL रिजॉल्वर: GraphQL म्यूटेशन रिजॉल्वर में इनपुट्स को वैलिडेट करें
- माइग्रेशन समर्थन: जब डेटाबेस मॉडल बदलें तो वैलिडेशन schemas को अपडेट करें
समर्थित टाइप मैपिंग्स
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()- कस्टम टाइप्स/enum →
z.lazy(() => TypeSchema) - Lists →
z.array() - Optional फ़ील्ड्स →
.optional()