एक बार परिभाषित करें, हर जगह भरोसा करें

CtroEnv आपके environment variables को सुरक्षित रखने के लिए चार मुख्य validator factories का उपयोग करता है।

वे इस प्रकार काम करते हैं:

प्रत्येक validator के लिए उपयोगी टूल्स:

.default(value) - यदि वेरिएबल गायब है तो एक fallback सेट करता है। • .optional() - वेरिएबल को undefined रहने की अनुमति देता है। • .secret() - आपके लॉग्स में संवेदनशील डेटा को मास्क (mask) करता है। • .describe(text) - आपके त्रुटि संदेशों (error messages) के लिए दस्तावेज़ीकरण (documentation) जोड़ता है। • .validate(fn) - आपको विशिष्ट नियमों के लिए कस्टम लॉजिक लिखने की अनुमति देता है।

CtroEnv विभिन्न वातावरणों (environments) में काम करता है:

जब वैलिडेशन विफल होता है, तो CtroEnv केवल रुकता नहीं है। यह प्रत्येक त्रुटि को इकट्ठा करता है और उन सभी को एक साथ दिखाता है। आपको एक स्पष्ट सूची मिलती है कि क्या गायब है, किसका प्रकार (type) गलत है, और कौन से आपके कस्टम नियमों में विफल रहा।

यह आपके कॉन्फ़िगरेशन को अपरिवर्तनीय (immutable) और आपके रनटाइम को पूर्वानुमेय (predictable) रखता है।

स्रोत: https://dev.to/ctrotech/define-once-trust-everywhere-ctroenv-deep-dive-3bjl