如何记录从使用 jsDoc 的函数调用返回的 class

How do document a class that is returned from a function call with jsDoc

我有一个庞大的现有 Javascript 代码库,其中大部分是在由自定义库创建的 classes 中组织的。大部分类似这样:

/** 
 * @memberOf nameSpace.subNameSpace1
 * @class 
 */
nameSpace.subNameSpace1.ClassName1 = nameSpace.subNameSpace2.ClassName2.subClass({
  ctor: function () {

  },

  /**
   * method1 is a special method that does special things.
   * @param config {Object}
   * @returns {Boolean}
   */
  method1: function (config) {
  },

  method2: function () {
  }
})

subClass 方法在 Object 原型上定义并创建一个 class 继承自调用它的对象。我想记录以这种方式创建的 classes 的方法,但不幸的是,jsDoc 没有选择像上面的 method1 文档这样的文档(class 本身的文档工作正常)。我如何以 jsDoc 能够理解的方式记录这些方法?

事实证明,使用来自 npm 的最新版本的 jsdoc 解决了这个问题,并且如果用 @function

正确注释,它会识别出这些方法是给定 class 的一部分