У меня есть функция, которая объединяет элемент типа A
с некоторым массивом элементов типа B
.
Аргументы функции будут выглядеть примерно так: function merge<A, B>(elem: A, ar: B[])
. Результатом может быть что-то вроде [A, B, B, B, ..., B]
. Число элементов B и, следовательно, общая длина массива неизвестны.
Я знаю, что мог бы определить тип, такой как Array<A | B>
, но это не дало бы полной безопасности типов, потому что любой элемент мог бы быть либо A
, либо B
. Я также знаю, что могу определять типы, такие как [A, B]
, [A, B, B]
и так далее. Но, насколько я понимаю, их можно использовать только для массивов известных размеров.
Есть ли способ определения типа, подобного [A, B, B, B, ..., B]
в TypeScript?