我想记录我创建的枚举,例如
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
*/
还有其他选择吗?我只需要在文档中指出它们的存在,最好是低开销,因为 它们通常只是我们根本不在乎的简单值。
答案 0 :(得分:1)
@lends
累了吗?像这样记录静态成员似乎是合法的
CMD.initEnum(/** @lends CMD */{
REBOOT: { byte: 0x00 },
SLEEP: { byte: 0x01 },
});