lastuniverse
@lastuniverse
Всегда вокруг да около IT тем

Как исправить ошибку при декомпозиции кортежа?

Начал постигать TypeScript и столкнулся с проблемой, которую не смог решить.

И так, есть код
// нужно чтобы возвращало тип функции с последовательно указанными параметрами
type EventReceiver<T> = (...params: T ) => void; 

// тестируем
type FeatureOptions0 = EventReceiver<[string, number]> 
// возвращает то что нужно - type FeatureOptions0 = (params_0: string, params_1: number) => void


Но vscode подсвечивает ошибку
633d965fbeaa0145834505.png

При этом в FeatureOptions0 лежит именно то что надо
633d96f86395e541125060.png

В общем вопрос такой, как исправить эту ошибку (тип EventReceiver) и получить конечный вариант (тип функции)?

Что пробовал:
- явное преобразование кортежа (T) к массиву (ошибка остается)
- прямую подстановку кортежа [string, number] вместо (Т) (ошибки нет, на выходе правильный тип функции, но нужен именно автоматический тип для фанки, зависящий от переданного из вне кортежа с типами)

Буду благодарен за решение вопроса, даже без пояснений (пояснения сам погуглю))))
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы