Можно ли документировать простой объект 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 здесь