Можно ли документировать простой объект JavaScript с помощью ESDOC?

Кажется, что ESDOC нацелен только на стиль класса ES6.

Есть ли способ документировать простой объект, такой как:

/**
 * ???
 */
var Foo = {
    /**
     * ???
     */
    info: true
};

export default Foo;

И даже при использовании стиля класса ES6, как задокументировать статическое свойство, например:

class Bar {
}

/**
 * ???
 */
Bar.info = true;

export default Bar;

2 ответа

Короткий ответ. Нет.

ESDOC разработан специально для документирования классов ES6. Это правильно в названии. Из FAQ:

ESDoc поддерживает ES2015 и выше

Если вам нужно задокументировать смесь классов ES6+ и обычных (прототипных) классов, лучше подойдет JSDOC. Он довольно зрелый, и его формат является своего рода стандартом де-факто.

Если вам не нравится или не удается использовать основной пакет JSDOC, существует множество других вариантов. Например, у меня был успех с jsdoc-to-markdown в моих проектах. Вы должны быть в состоянии найти инструменты для преобразования JSDOC в любой нужный вам формат.

Для члена и переменной вы должны использовать @type

/**
* @type {Object}
* @property {boolean} Foo.info describe Foo.info
*/
const Foo = {
   info: true
};

а для статических свойств в es6 вы должны использовать className.method_member

/**
* This is Bar description.
*/
class Bar {
  /**
  * Bar.info
  */
  static info=true
}

проверьте вывод esdoc здесь

Другие вопросы по тегам