NodeJS JSDoc对象定义中有多行

t2a7ltrp  于 2023-03-29  发布在  Node.js
关注(0)|答案(2)|浏览(124)

我是一个门面NodeJS模块,它简化了与Shopify API的交互,以满足我的后端需求。我有一个函数,它返回一个promise,当解析时,包含一个带有商店详细信息(id,电子邮件,国家,货币等)的对象。
我想使用JSDoc来记录这些属性,以使我们的开发人员的生活更轻松(我们都使用VSCode和Intellisense挑选JSDoc类型定义,零配置)。
不幸的是,该API调用返回的字段列表很大,所以我最终得到了一行跨越多个列的代码,如下所示:

@return {Promise<{id, name, email, domain, province, country, address1, zip, city, source, phone, latitude, longitude, primary_locale, address2, created_at, updated_at, country_code, country_name, currency, customer_email, timezone, shop_owner, money_format, weight_unit, province_code, taxes_included.....

有没有一种方法可以将其分成单独的行,并在JSDoc和工作的Intellisense中保持VSCode语法突出显示?

ewm0tg9j

ewm0tg9j1#

我知道这个问题很久以前就被问到了,但我发现了一个可能对其他用户感兴趣的解决方案:
只需在新行中显示的项目之间放置一个<br>标记。它在VS代码和创建的文档中都有效!

brgchamk

brgchamk2#

如果你使用的是typescript(我假设是从泛型定义中),我建议将泛型类型提取到一个单独的接口中:

/**
 * Return type of something
 */
interface PromiseReturnType {
    /**
     * The unique identifyer
     */
    id: number
    /**
     * JSDoc hint for the name
     */
    name: string
}

const a: Promise<PromiseReturnType> = new Promise(...)
const props = await a
props.id // you will get the hint here

相关问题