Повторное использование документации из другого пространства имен

#jsdoc

#jsdoc

Вопрос:

У меня есть пространство имен, которое присваивает ту же функцию глобальному пространству имен. Например

 /**
 * @namespace Main
 */
module.exports = {
  Sub: require('./sub')(module.exports),
  Sob: require('./sob')(module.exports)
  /* many other namespaces */
};
  

Затем внутри, например, sub.js

 /**
 * @namespace Main.Sub
 */
module.exports = function(mainExports){
  return {
    /**
     * @function Main.Sub.addStuff 
     * // all the rest of documentation in here
     */
    addStuff: mainExports.addStuff = function(){
    }
  };
};
  

Я хочу иметь возможность перечислять одну и ту же функцию с одинаковыми параметрами и все в Main пространстве имен. Прямо сейчас я дублирую блок doc, но меняю имя @function тега на @function Main.addStuff и это работает, но приводит к большому шуму в коде

Ответ №1:

Прямо сейчас JSDoc не предоставляет способа наследовать документацию другого символа.

Для JSDoc 3.3.0 (следующей основной версии) я планирую реализовать эту функцию, добавив поддержку @inheritdoc тега. Эта функция отслеживается как проблема # 53 в репозитории GitHub JSDoc.