JSDoc 内联对象 typedef

ice*_*itz 7 javascript node.js jsdoc

有没有一种方法可以将复杂对象的 typedef 写入内联对象键而不是全部放在一个块中?例如,根据 JSDoc 文档https://jsdoc.app/tags-property.html,可以:

/**
 * Config type definition
 * @typedef {Object} Config
 * @property {string} prop1
 * @property {string} [prop2]
 */
let Config = {
     prop1: 'value1',
     prop2: 'value2',
};
Run Code Online (Sandbox Code Playgroud)

变成这样:

/**
 * Config type definition
 * @typedef {Object} Config
 */
let Config = {
     /** @property {string} prop1 */
     prop1: 'value1',
     /** @property {string} [prop2] */
     prop2: 'value2',
};
Run Code Online (Sandbox Code Playgroud)

我已经尝试过各种标签组合,例如 @namespace、@typedef、@member、@memberof 等,但我无法通过尝试任何一种在一个 JSDoc 块中声明所有内容时获得漂亮的属性表。内联格式的标签组合。

在一个块中定义 typedef 是可以的,直到您尝试定义一个跨越数百行的巨大配置对象。必须跳到文件顶部才能找到该键的属性描述,非常麻烦。

q0r*_*ban 0

@type在您的每个属性中使用而不是@property.


/**
 * @name Config
 */
let Config = {
    /** @type {string} */
    prop1: 'value1',
    /** @type {?string} */
    prop2: 'value2',
};
Run Code Online (Sandbox Code Playgroud)