JSDoc 记录导出对象中的重复属性
JSDoc Documenting repeated properties in exported object
我有几个模块,它们都以相同的方式工作,并在一个对象内导出多个函数,如下所示:
module.exports = {
a:function(paramA,paramB) {
return 1;
},
b:function(paramC,paramD) {
return 'a';
}
}
它们都遵循相同的模式(接受这些参数,做事,return这个类型)。我希望能够在同一个文件中记录所有这些文件,这样文档就不会到处重复。我 运行 遇到的问题是,如果我创建一个 @typedef
并指定了这些函数,那么它会被忽略:
/**
* @typedef {Object} myModuleType
* @property {functionType} a
*/
/**
* @module A
* @type {myModuleType}
*/
module.exports = {}
如果我创建一个接口,它会抱怨说方法没有实现:
/**
* @interface myModuleType
*/
/**
* @function
* @name myModuleType#a
* @param paramA
* @param paramB
* @return {number}
*/
/**
* @module A
* @implements {myModuleType}
*/
module.exports = {}
关于如何让它工作的任何想法?
所以原来的 @type
注释确实有效,它只是在被记录后不会像 WebStorm 中应该的那样自动完成。
WebStorm 正在 YouTrack 跟踪此问题何时修复。
编辑:截至 2017 年 12 月 18 日,此问题已在 WebStorm 的最新版本中得到修复,应该很快就会进入主分支。
我有几个模块,它们都以相同的方式工作,并在一个对象内导出多个函数,如下所示:
module.exports = {
a:function(paramA,paramB) {
return 1;
},
b:function(paramC,paramD) {
return 'a';
}
}
它们都遵循相同的模式(接受这些参数,做事,return这个类型)。我希望能够在同一个文件中记录所有这些文件,这样文档就不会到处重复。我 运行 遇到的问题是,如果我创建一个 @typedef
并指定了这些函数,那么它会被忽略:
/**
* @typedef {Object} myModuleType
* @property {functionType} a
*/
/**
* @module A
* @type {myModuleType}
*/
module.exports = {}
如果我创建一个接口,它会抱怨说方法没有实现:
/**
* @interface myModuleType
*/
/**
* @function
* @name myModuleType#a
* @param paramA
* @param paramB
* @return {number}
*/
/**
* @module A
* @implements {myModuleType}
*/
module.exports = {}
关于如何让它工作的任何想法?
所以原来的 @type
注释确实有效,它只是在被记录后不会像 WebStorm 中应该的那样自动完成。
WebStorm 正在 YouTrack 跟踪此问题何时修复。
编辑:截至 2017 年 12 月 18 日,此问题已在 WebStorm 的最新版本中得到修复,应该很快就会进入主分支。