转发源为变量的对象成员的 JSDoc

问题描述 投票:0回答:1

我有一个用 JSDoc 记录的函数,然后它成为对象文字的一部分。

如何将函数的文档转发到对象文字,从而使其可用于外部作用域(例如外部函数或不同模块之外)?

我可以在对象文字本身上编写 JSDoc,但我不想从函数中移动 JSDoc。

const { printRandom } = (() => {
    /**
     * Prints a random number
     */
    const printRandom = () => console.log(Math.random())

    return {
        printRandom
    }
})()

换句话说,在 VSCode 中,当将鼠标悬停在外部作用域中的

printRandom
变量上时,我希望看到文本
Prints a random number
而不仅仅是函数签名。

enter image description here

一些补充说明

  • 虽然 VS Code 不会在从函数/模块导出的变量处显示 JS 文档,但它会在函数调用站点处显示:

    enter image description here

    但是它不会在任意变量/属性的使用站点上这样做,所以这个问题仍然有用。

typescript jsdoc
1个回答
0
投票

还有另一种选择:)您可以单独记录该函数,然后将其分配给对象属性:

/**
 * Prints a random number
 * @function
 */
const printRandom = () => console.log(Math.random());

const obj = {
    printRandom
};

const { printRandom: exportedPrintRandom } = obj;
© www.soinside.com 2019 - 2024. All rights reserved.