ഒരൊറ്റ തവണ നിർവചിക്കുക, എല്ലായിടത്തും വിശ്വസിക്കാം

നിങ്ങളുടെ എൻവയോൺമെന്റ് വേരിയബിളുകൾ (environment variables) സുരക്ഷിതമായി സൂക്ഷിക്കുന്നതിനായി CtroEnv നാല് പ്രധാന വാലിഡേറ്റർ ഫാക്ടറികൾ (validator factories) ഉപയോഗിക്കുന്നു.

അവ എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നത് എന്ന് താഴെ നൽകുന്നു:

ഓരോ വാലിഡേറ്ററിനും ഉപയോഗപ്രദമായ ടൂളുകൾ:

.default(value) - വേരിയബിൾ ലഭ്യമല്ലെങ്കിൽ ഒരു പകരമുള്ള മൂല്യം (fallback) നിശ്ചയിക്കുന്നു. • .optional() - വേരിയബിൾ 'undefined' ആയിരിക്കാൻ അനുവദിക്കുന്നു. • .secret() - നിങ്ങളുടെ ലോഗുകളിൽ (logs) സെൻസിറ്റീവ് ഡാറ്റ മറച്ചുവെക്കുന്നു. • .describe(text) - നിങ്ങളുടെ എറർ മെസ്സേജുകൾക്കായി ഡോക്യുമെന്റേഷൻ ചേർക്കുന്നു. • .validate(fn) - പ്രത്യേക നിയമങ്ങൾക്കായി കസ്റ്റം ലോജിക് എഴുതാൻ നിങ്ങളെ അനുവദിക്കുന്നു.

CtroEnv വിവിധ എൻവയോൺമെന്റുകളിൽ പ്രവർത്തിക്കുന്നു:

വാലിഡേഷൻ പരാജയപ്പെടുമ്പോൾ, CtroEnv വെറുതെ നിൽക്കുകയല്ല ചെയ്യുന്നത്. അത് ഓരോ പിശകും ശേഖരിക്കുകയും അവയെല്ലാം ഒരേസമയം കാണിക്കുകയും ചെയ്യുന്നു. എന്താണ് വിട്ടുപോയത്, ഏതിനാണ് തെറ്റായ ടൈപ്പ്, ഏതാണ് നിങ്ങളുടെ കസ്റ്റം നിയമങ്ങൾ പരാജയപ്പെട്ടത് എന്നതിനെക്കുറിച്ചുള്ള വ്യക്തമായ പട്ടിക നിങ്ങൾക്ക് ലഭിക്കും.

ഇത് നിങ്ങളുടെ കോൺഫിഗറേഷൻ മാറ്റമില്ലാത്തതായും (immutable) റൺടൈം പ്രവചിക്കാവുന്നതായും (predictable) നിലനിർത്തുന്നു.

Source: https://dev.to/ctrotech/define-once-trust-everywhere-ctroenv-deep-dive-3bjl