הגדירו פעם אחת, בטחו בכל מקום: צלילה עמוקה ל-CtroEnv

ה-API הליבתי של CtroEnv משתמש בארבעה validator factories. תוכלו להשתמש בהם כדי לאבטח את משתני הסביבה שלכם בקלות.

כך הם עובדים:

• string() — השתמשו בזה עבור טקסט. ניתן להוסיף כללים עבור URLs, אימיילים, פורטים (ports) או אורכים ספציפיים. הוא תומך ב-regex עבור תבניות מותאמות אישית.

• number() — השתמשו בזה עבור ערכים מספריים. הוא ממיר מחרוזות כמו "3000" למספרים ממשיים. ניתן לאכוף מספרים שלמים, ערכים חיוביים או טווחים ספציפיים.

• boolean() — השתמשו בזה עבור ערכי true/false. הוא מטפל באופן אוטומטי במחרוזות כמו "true" או במספרים כמו "1". זה מושלם עבור feature flags.

• pick() — השתמשו בזה כדי להגביל ערכים לרשימה ספציפית. הוא יוצר literal types כך שהקוד שלכם ידע בדיוק אילו מחרוזות מותרות. הוא אפילו מציע תיקונים אם תעשו טעות הקלדה.

שיטות (methods) שימושיות עבור כל validator:

CtroEnv עובד בסביבות שונות:

כאשר הולידציה נכשלת, CtroEnv לא רק עוצר. הוא אוסף כל שגיאה ושגיאה ומציג את כולן בבת אחת. אתם מקבלים דוח ברור עם המפתח (key), ההודעה, ואפילו הצעות כיצד לתקן אותה.

הפלט הסופי הוא אובייקט קפוא (frozen object). המשמעות היא שהקונפיגורציה שלכם היא לקריאה בלבד (read-only) ובטוחה מפני שינויים מקריים בזמן ריצה (runtime).

מקור: https://dev.to/ctrotech/define-once-trust-everywhere-ctroenv-deep-dive-3bjl