عرّف مرة واحدة، وثق في كل مكان: غوص عميق في CtroEnv

تستخدم واجهة برمجة التطبيقات (API) الأساسية لـ CtroEnv أربعة مصانع للمدققين (validator factories). يمكنك استخدامها لتأمين متغيرات البيئة الخاصة بك بكل سهولة.

إليك كيفية عملها:

string() — استخدم هذا للنصوص. يمكنك إضافة قواعد لروابط URL، أو رسائل البريد الإلكتروني، أو المنافذ (ports)، أو أطوال محددة. كما يدعم التعبيرات النمطية (regex) للأنماط المخصصة.

number() — استخدم هذا للقيم الرقمية. يقوم بتحويل النصوص مثل "3000" إلى أرقام فعلية. يمكنك فرض الأعداد الصحيحة، أو القيم الموجبة، أو نطاقات محددة.

boolean() — استخدم هذا لقيم true/false. يتعامل تلقائياً مع النصوص مثل "true" أو الأرقام مثل "1". هذا مثالي لأعلام الميزات (feature flags).

pick() — استخدم هذا لتقييد القيم بقائمة محددة. يقوم بإنشاء أنواع حرفية (literal types) بحيث يعرف الكود الخاص بك بالضبط السلاسل النصية المسموح بها. بل ويقترح تصحيحات في حال ارتكبت خطأً مطبعياً.

طرق مفيدة لكل مدقق:

يعمل CtroEnv عبر بيئات مختلفة:

عند فشل عملية التحقق، لا يتوقف CtroEnv فحسب، بل يجمع كل خطأ على حدة ويعرضها جميعاً في وقت واحد. ستحصل على تقرير واضح يتضمن المفتاح (key)، والرسالة، وحتى اقتراحات حول كيفية إصلاح الخطأ.

المخرج النهائي هو كائن مجمد (frozen object). وهذا يعني أن إعداداتك للقراءة فقط وآمنة من التغييرات العرضية أثناء وقت التشغيل (runtime).

المصدر: https://dev.to/ctrotech/define-once-trust-everywhere-ctroenv-deep-dive-3bjl