Zod هي مكتبة التحقق الأكثر شهرة في نظام TypeScript البيئي. باستخدام Zod، يمكنك إنشاء مخطط والتحقق من صحة بياناتك وفقًا للمخطط. لاحظ المخطط أدناه:
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' }
Zod قادر على إجراء أنواع مختلفة من عمليات التحقق من صحة بياناتك، لذا تأكد من قراءة الوثائق لمزيد من التفاصيل.
يمكننا استخدام Zod للتحقق من صحة القيم الموجودة فيprocess.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