типизированный кортеж или хеш на основании её параметров? Поясню (ну, очень условно):
const addComponents = <T extends UIObject>(args: T[]) => {
return args.map(item => item);
}
addComponents([new Button(), new Label()]); // -> (Button | Label)[]
А хочется вместо (Button | Label)[] получить что-то что можно деструктуризовать и сразу использовать, например:
const [, $Label] = addComponents([new Button(), new Label()]);
$Label.setLabel('')
Можно попробовать описывать как T extends UIObject[] и args: T
по идее можно через перегрузки любую длину (то есть вариадики) вы не получите, но 1 2 3 4 вполне
Обсуждают сегодня