Получить экспортированные имена функций из файла в Typescript - PullRequest
1 голос
/ 04 февраля 2020

Мне нужно получить экспортированные имена функций из файла для целей intelliSense.

Допустим, у нас есть следующий файл с некоторыми функциями:

//demo.ts
export const foo = () => {};
export const bor = () => {};

Теперь давайте импортируем все из файла и передает его обобщенной c функции:

import * as demo from './demo'

function myGenericFunction<T>(module: T, functionName: ? ){
}

myGenericFunction(demo ,'foo');

Вопрос в том, как установить тип functionName, чтобы он стал похож на foo|bar.

1 Ответ

1 голос
/ 04 февраля 2020

Вы можете использовать keyof T так же, как и для ключа любого другого типа:

import * as demo from './demo'

function myGenericFunction<T>(module: T, functionName: keyof T ){
}

myGenericFunction(demo ,'foo');
myGenericFunction(demo ,'bor');
myGenericFunction(demo ,'bar'); // error
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...