𝗗𝗲𝗳𝗶𝗻𝗲 𝗢𝗻𝗰𝗲, 𝗧𝗿𝘂𝘀𝘁 𝗘𝘃𝗲𝗿𝘆𝘄𝗵𝗲𝗿𝗲: 𝗖𝘁𝗿𝗼𝗘𝗻𝘃 𝗗𝗲𝗲𝗽 𝗗𝗶𝘃𝗲

CtroEnv કોર API ચાર વેલિડેટર ફેક્ટરીઝ (validator factories) નો ઉપયોગ કરે છે. તમે તમારા એન્વાયરમેન્ટ વેરિયેબલ્સને (environment variables) સરળતાથી સુરક્ષિત કરવા માટે તેનો ઉપયોગ કરી શકો છો.

તે કેવી રીતે કામ કરે છે તે અહીં છે:

• string() — આનો ઉપયોગ ટેક્સ્ટ માટે કરો. તમે URL, ઈમેલ, પોર્ટ અથવા ચોક્કસ લંબાઈ માટે નિયમો ઉમેરી શકો છો. તે કસ્ટમ પેટર્ન માટે regex ને સપોર્ટ કરે છે.

• number() — આનો ઉપયોગ સંખ્યાત્મક મૂલ્યો માટે કરો. તે "3000" જેવા સ્ટ્રિંગ્સને વાસ્તવિક નંબરમાં રૂપાંતરિત કરે છે. તમે પૂર્ણાંક (integers), પોઝિટિવ મૂલ્યો અથવા ચોક્કસ રેન્જ લાગુ કરી શકો છો.

• boolean() — આનો ઉપયોગ true/false મૂલ્યો માટે કરો. તે "true" જેવા સ્ટ્રિંગ્સ અથવા "1" જેવા નંબર્સને આપમેળે હેન્ડલ કરે છે. આ ફીચર ફ્લેગ્સ (feature flags) માટે ઉત્તમ છે.

• pick() — આનો ઉપયોગ મૂલ્યોને ચોક્કસ યાદી સુધી મર્યાદિત કરવા માટે કરો. તે લિટરલ ટાઇપ્સ (literal types) બનાવે છે જેથી તમારો કોડ જાણી શકે કે કયા સ્ટ્રિંગ્સ માન્ય છે. જો તમે ટાઈપો (typo) કરો તો તે સુધારા પણ સૂચવે છે.

દરેક વેલિડેટર માટે ઉપયોગી પદ્ધતિઓ:

CtroEnv વિવિધ એન્વાયરમેન્ટ્સમાં કામ કરે છે:

જ્યારે વેલિડેશન નિષ્ફળ જાય છે, ત્યારે CtroEnv માત્ર અટકી જતું નથી. તે દરેક ભૂલને એકત્રિત કરે છે અને તે બધી એકસાથે બતાવે છે. તમને કી (key), મેસેજ અને તેને કેવી રીતે સુધારવું તેના સૂચનો સાથેનો સ્પષ્ટ રિપોર્ટ મળે છે.

અંતિમ આઉટપુટ એક ફ્રોઝન ઓબ્જેક્ટ (frozen object) છે. આનો અર્થ એ છે કે તમારું કોન્ફિગરેશન રીડ-ઓન્લી (read-only) છે અને રનટાઇમ દરમિયાન અકસ્માતજન્ય ફેરફારોથી સુરક્ષિત છે.

સ્ત્રોત: https://dev.to/ctrotech/define-once-trust-everywhere-ctroenv-deep-dive-3bjl