Проблематика.
Хочу удобный автокомплит.
Который можно сделать динамически, без использования перегрузок, как в примере ниже.
Суть вопроса. Можно ли сделать то-же самое используя дженерик.
type TMap = {
key1: {
value1: string;
};
key2: {
value2: boolean;
}
}
type FunctionOverload = {
(eventName: 'key1', params: TMap['key1']): Promise<void>;
(eventName: 'key2', params: TMap['key2']): Promise<void>;
};
Пример попытки.
При попытке сделать динамически. Выбор происходит из всех значений. Пример ниже.
type FunctionDinamicParams = (eventName: keyof TMap, params: TMap[keyof TMap]) => Promise<void>