ज़ोड टाइपस्क्रिप्ट पारिस्थितिकी तंत्र में सबसे प्रसिद्ध सत्यापन लाइब्रेरी है। ज़ॉड के साथ, आप एक स्कीमा बनाते हैं और स्कीमा के अनुसार अपने डेटा को मान्य करते हैं। नीचे दिए गए स्कीमा का निरीक्षण करें:
import { z } from 'zod' const UserSchema = z.object({ name: z.string().min(1), age: z.number({ coerce: true }).min(18), email: z.string().email(), })
इस स्कीम का उपयोग किसी ऑब्जेक्ट को सत्यापित करने के लिए निम्नानुसार किया जा सकता है:
const data = { name: 'John Doe', age: 18, email: '[email protected]', } // If there is a validation error, it throws an error const validatedData = UserSchema.parse(data) // If there is a validation error, it returns an error object for you to handle later const safeValidatedData = UserSchema.safeParse(data) // => { success: false; error: ZodError } // => { success: true; data: 'billie' }
ज़ॉड आपके डेटा पर विभिन्न प्रकार के सत्यापन करने में सक्षम है, इसलिए अधिक विवरण के लिए दस्तावेज़ को अवश्य पढ़ें।
हम प्रक्रिया.env में मौजूद मूल्यों को मान्य करने के लिए ज़ॉड का उपयोग कर सकते हैं और यहां तक कि हमारे एप्लिकेशन में पर्यावरण चर का उपयोग करने से पहले उन्हें संसाधित भी कर सकते हैं। आमतौर पर, मैं एक वातावरण.ts फ़ाइल बनाना पसंद करता हूँ, जैसा कि नीचे दिए गए उदाहरण में है:
import { z } from 'zod' const environmentSchema = z.object({ // Define the possible values for NODE_ENV, always leaving a default value: NODE_ENV: z.enum(['test', 'development', 'production']).default('production'), // Environment variables are always defined as strings. Here, convert the string to a number and set a default value: PORT: z.number({ coerce: true }).default(3000), }) export const env = environmentSchema.parse(process.env)
फिर, बस वेरिएबल आयात करें और इसे मेरे पूरे एप्लिकेशन में उपयोग करें:
import Fastify from 'fastify' import { env } from './environment.js' const app = Fastify({ logger: true }) app.listen({ port: env.PORT }, (err) => { if (err) { app.log.error(err) process.exit(1) } })
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3