【发布时间】:2018-06-24 19:22:13
【问题描述】:
我想记录我创建的枚举,例如,
import { Enum } from 'enumify';
class CMD extends Enum {};
CMD.initEnum({
REBOOT: { byte: 0x00 },
SLEEP: { byte: 0x01 },
});
export default CMD;
在主线代码中,它们的访问方式如下:
import CMD from './command';
console.log(CMD.REBOOT);
由于枚举附加到CMD,并在initEnum 调用期间创建,
无法将定义嵌入到创作中。
我能想到的唯一解决方法是提取值,
记录每个const,并使用initEnum中的值:
/** Some doc */
const REBOOT = { byte: 0x00 };
/** More doc */
const SLEEP = { byte: 0x01 };
CMD.initEnum({
REBOOT,
SLEEP,
});
这并不糟糕,但它并没有使层次结构清晰,例如,它是 CMD.REBOOT 到外面的世界。
使用 @name 失败,因为我无法在名称中嵌入枚举的“容器”
不引用它,并且引用显示在文档中。我还必须用
实际情况并非如此,所以 JSDoc 知道如何记录它:
/**
* @name 'CMD.REBOOT'
* @global
*/
还有其他选择吗?我只需要在文档中指出它们存在,最好是低开销,因为 它们通常只是我们甚至不关心的简单值。
【问题讨论】:
标签: javascript jsdoc jsdoc3