AzLearn

الفحص الشامل

Exhaustive Checks

مفهوم ~20 دقيقة

الفحص الشامل — Exhaustive Checks

عندما تستخدم union للحالات، تريد التأكد أنك عالجت كل حالة. TypeScript يمكن أن يساعدك باستخدام never. في فرع default, تمرر القيمة إلى دالة assertNever. إذا أضفت حالة جديدة ولم تضف case لها، سيظهر خطأ.

هذا النمط مهم في production لأن الحالات تتغير. اليوم لديك success وerror; غداً تضيف empty. الفحص الشامل يمنع نسيان UI أو منطق للحالة الجديدة.

مثال عملي

index.ts

في الوضع الحالي، default لا يصل إليه التنفيذ. لكن لو أضفت "pending" للـ union ولم تضف case "pending", سيظهر خطأ في assertNever لأن TypeScript لا يعود يعتبر status هنا never.

تحدي — Challenge