сталкивался.
Хочу в функцию прокинуть массив функций и в результате сохранить типы параметров по-элементно.
С объектом вроде получилось, а с массивом в лучшем случае обобщается до union'а :(
https://tsplay.dev/8w8vrm (см. 5 строку)
Видел ишью по теме, но что-то советуемые костыли не подошли. Можно ли такое сделать сейчас?
Выше же было: https://github.com/microsoft/TypeScript/pull/39094 Без variadic tuple походу никак...
UPD: вроде вот так получилось - но с variadic не пришлось бы делать as const https://bit.ly/39vd4a6
Да, тут можно не выделять случай массивов отдельно, mapped types всё равно ведь их обработают: play. Тип тождественной функции (<T>(fns: T): T) тоже подходит.
Обсуждают сегодня