Я написал много упакованных функций, которые выглядят так:
/**
* Adds two numbers
* @param the first number
* @param the second number
*/
const add = wrapped((a:number, b:number) => a + b);
Где wrapped
- это какая-то функция, которая берет функцию и возвращает функцию с такой же сигнатурой, как:
function wrapped<F extends (...args: any[]) => any>(f:F): F {
// ...whatever...
return f;
}
Однако, когда я использую эту функцию где-то в коде Visual Studio, VS Code, похоже, не знает о документации для этой функции, как это обычно бывает:
Если я вместо этого напишу функцию add
с документацией по внутренней функции следующим образом:
/**
* Adds two numbers
* @param the first number
* @param the second number
*/
const _add = (a:number, b:number):number => a + b;
const add = wrapped(_add);
Я получаю документацию по ожидаемым параметрам:
но теперь при попытке автозаполнения функции отсутствует документация:
Есть ли какой-нибудь способ написать мне эту функцию, чтобы я мог иметь подсказки по документации в обоих местах, не просто копируя / вставляя ее и включая ее как во внутреннюю, так и во внешнюю функцию?