Как сделать type guard для массива?
Есть массив, который может быть двух типов, например I1[] | I2[]
(интерфейсы).
Как правильно описать функцию isI1
, если массив может быть пустым, а тип проверить нужно (также тип можно передать женериком, но я пока не смог разобраться, как это использовать для гуарда)
export function isI1<T>(
paths: I1[] | I2[] | T[] //Может быть пустым
): paths is I1[] {
return
}
Источник: Stack Overflow на русском