javascript - 如何使用 JSDOC3 记录枚举常量

标签 javascript enums jsdoc jsdoc3

我们正在使用 JSDOC 来记录我们面向客户的 SDK,但我们很难让它识别我们的“枚举”(即常量)。我们应该使用哪些标签让 JSDOC 在文档中获取它?这是一个示例:

/**
* @module Enum
*/
export namespace {

    /**
    * @enum WidgetType {string}
    */
    Enum.WidgetType = {
        /** Dashboard */
        Dashboard: 'dashboard',
        /** Form */
        Form: 'entityeditform',
        /** Report */
        Report: 'report'
    };
}

下面是“枚举”在代码中的使用方式:

app.widget({ id: 'account_entityform', type: Enum.WidgetType.Form }).add();

我们如何使用 JSDOC 记录这一点?

最佳答案

我看到这篇旧帖子有评论要求更多说明。我只是从上面弄明白了,并且可以作为一个例子分享我的想法。登陆此页面搜索相同内容的人可能会发现这很有用。

/**
 * The color of a piece or square.
 * @readonly
 * @enum {number}
 * @property {number} WHITE color for a white square or piece.
 * @property {number} BLACK color for a black square or piece.
 */
export const Color = { WHITE: 0, BLACK: 1 }

/** 
 * Each member is an enumeration of direction offsets used to index into the 
 * lists of horzontal, vertical, and diagonal squares radiating from a
 * given Square object. Only useful internally for initialization or externally
 * for test.
 * @package
 * @type {object}
 * @readonly
 * @property {enum} Cross an enumeration of vert and horiz directions.
 * @property {number} Cross.NORTH north
 * @property {number} Cross.EAST  east
 * @property {number} Cross.SOUTH south
 * @property {number} Cross.WEST  west
 * @property {enum} Diagonal an enumeration of diagonal directions.
 * @property {number} Diagonal.NORTHEAST northeast
 * @property {number} Diagonal.SOUTHEAST southeast
 * @property {number} Diagonal.SOUTHWEST southwest
 * @property {number} Diagonal.NORTHWEST northwest
 */
const Direction = {
    Cross: { 
        NORTH: 0, EAST: 1, SOUTH: 2, WEST: 3 
    },
    Diagonal: { 
        NORTHEAST: 0, SOUTHEAST: 1, SOUTHWEST: 2, NORTHWEST: 3 
    },
}

关于javascript - 如何使用 JSDOC3 记录枚举常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36488644/

相关文章:

javascript - 使用保留字作为属性名,重温

javascript - 转换后的内容使 html 卡顿到页面末尾

wpf - 在设置中存储单选按钮选择

c++ - 在 C 中定义的 C++ 中向前声明枚举

javascript - Nodejs 无效的正则表达式

javascript - 外部 .js 仅运行部分代码

javascript - 分层json数据的正确显示

ios - 将值转换为从 Error 继承的枚举

javascript - 如何记录闭包

javascript - JSDoc中如何注解 "@readonly-but-modified-internally"成员/属性?