使用JSDoc记录Objects中包含的函数

时间:2018-01-02 07:10:13

标签: javascript documentation jsdoc

我正在寻找一种方法来使用JSDoc 3在Javascript中记录Dictionary中包含的函数。

即使我告诉JSDoc有@function的函数,它也不包含在生成的文档中。

是否有JSDoc标签可以提供帮助?还是有比我更方便的方法?

由于

/**
 * @namespace Minitel
 */ 
var Minitel = Minitel || {}

/**
 * @callback actionCallback 
 * @param {Stream} stream The Minitel Stream to which add the Videotex codes
 * @param {Object} data Data object
 * @param {?number} offsetX X offset
 * @param {?number} offsetY Y offset
 */

/**
 * Action callbacks
 * @member {Object.<string, actionCallback>}
 */
Minitel.actions = {}

/**
 * Handles "content-string" actions. The value should already be ready to be
 * sent in the stream.
 * @function
 */
Minitel.actions["content-string"] = function(stream, data) {
    /* ... */
}

/**
 * Handles "content-block" actions. It only supports left, center and right
 * alignment.
 * @function
 */
Minitel.actions["content-block"] = function(stream, data, offsetX, offsetY) {
    /* ... */
}

我正在使用jsdoc -p -c jsdoc.json app/*.js library/minitel/*.js生成文档

以下是jsdoc.json

{
    "plugins": ["plugins/markdown"],
    "opts": {
        "template": "../docdash"
    }
}

1 个答案:

答案 0 :(得分:0)

我不确定(因为jsdoc有时并不详细),但看起来@member不能生孩子。解决方案可以是@namespace

因此,您的actions将记录如下:

/**
 * Action callbacks
 * @namespace
 */

@namespace的一个问题是您无法为其定义类型。但在这种情况下,即使没有@function作为静态方法,也会记录所有方法。