تايب سكريبت - التأكد من أن المصفوفة تحتوي على جميع القيم الممكنة لنوعها


أحتاج إلى مصفوفة تحتوي على جميع القيم الممكنة لنوعين معرفين في مكتبتين طرف ثالث مختلفتين. هذا الجزء بسيط، ولكن كيف يمكنني التأكد من أن المصفوفة تحتوي على جميع القيم؟ آمل أن يكون هذا ممكنًا من خلال تكييف النوع WithLegs.

// Out of my control as defined in third party lib
type WithFourLegs = 'Cat' | 'Cow' | 'Dog';
type WithTwoLegs = 'Human' | 'Ostrich';

// In my control
type WithLegs = WithFourLegs | WithTwoLegs;

// Should fail because 'Dog' and 'Ostrich' are missing
const allWithLegs: WithLegs[] = [ 'Human', 'Cow', 'Cat' ];