Я хотел бы создать интерфейс, в котором значения одного атрибута массива могут быть только подмножеством значений другого атрибута массива. Итак, это будет работать так:
interface Arrays {
array: string[],
subArray: ... // some type, string[] is not enough
}
const arrayOne: Arrays = {
array: ['a', 'b', 'c'],
subArray: ['a', 'b'], // ok, both 'a' and 'b' are in array
};
const arrayTwo: Arrays = {
array: ['a', 'b', 'c'],
subArray: ['a', 'd'], // incorrect type, 'd' is not in array
};
Я могу проверить это во время выполнения, но есть ли способ сделать это в машинописном тексте?