Как я могу написать TSDoc для упакованных функций, которые VS Code может распознать? - PullRequest
0 голосов
/ 20 мая 2019

Я написал много упакованных функций, которые выглядят так:

/**
 * 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, похоже, не знает о документации для этой функции, как это обычно бывает:

Missing documentation hints

Если я вместо этого напишу функцию 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);

Я получаю документацию по ожидаемым параметрам: Correct documentation hints

но теперь при попытке автозаполнения функции отсутствует документация:

More missing documentation hints

Есть ли какой-нибудь способ написать мне эту функцию, чтобы я мог иметь подсказки по документации в обоих местах, не просто копируя / вставляя ее и включая ее как во внутреннюю, так и во внешнюю функцию?

...