یک‌بار تعریف کنید، همه‌جا اعتماد کنید

CtroEnv از چهار کارخانه اعتبارسنج (validator factory) اصلی برای ایمن نگه داشتن متغیرهای محیطی شما استفاده می‌کند.

نحوه عملکرد آن‌ها به این صورت است:

ابزارهای کاربردی برای هر اعتبارسنج:

.default(value) - مقدار جایگزین را در صورت نبود متغیر تعیین می‌کند. • .optional() - اجازه می‌دهد متغیر تعریف‌نشده (undefined) باشد. • .secret() - داده‌های حساس را در لاگ‌های شما مخفی می‌کند. • .describe(text) - مستنداتی برای پیام‌های خطای شما اضافه می‌کند. • .validate(fn) - به شما اجازه می‌دهد منطق سفارشی برای قوانین خاص بنویسید.

CtroEnv در محیط‌های مختلف کار می‌کند:

هنگامی که اعتبارسنجی با شکست مواجه می‌شود، CtroEnv فقط متوقف نمی‌شود. بلکه تمام خطاها را جمع‌آوری کرده و همگی را به یک‌باره نمایش می‌دهد. شما لیست شفافی از موارد مفقود شده، مواردی با نوع داده اشتباه و مواردی که در قوانین سفارشی شما شکست خورده‌اند، دریافت می‌کنید.

این کار باعث می‌شود پیکربندی شما تغییرناپذیر (immutable) و زمان اجرا (runtime) شما قابل پیش‌بینی باقی بماند.

منبع: https://dev.to/ctrotech/define-once-trust-everywhere-ctroenv-deep-dive-3bjl