JSDoc: назначить тип для встроенной переменной - PullRequest
0 голосов
/ 16 января 2019

Могу ли я назначить тип переменной, которая получает object результат из сторонней библиотеки?

const result = thirdPartyLib.doSomething();

Теперь у меня может быть класс ES6

class MyClass {
  ...
}

И я хочу аннотировать мои result типа MyClass.

Возможно ли это с помощью JSDoc?

1 Ответ

0 голосов
/ 17 января 2019

Тег JSDoc @type {…} может быть применен к локальной переменной для объявления ее типа.

/** @type {MyClass} */
const result = thirdPartyLib.doSomething();

screenshot of WebStorm editor showing type-driven autocompletions after adding this tag

Однако вместо добавления этого объявления везде, где вы вызываете функцию, вы можете использовать тег @external для добавления типов JSDoc в thirdPartyLib.doSomething(), что позволяет правильно выводить типы локальных переменных.

/**
 * @external thirdPartyLib
 */
/**
 * @function external:thirdPartyLib.doSomething
 * @returns {MyClass}
 */

const result = thirdPartyLib.doSomething();

...