JSDoc对象定义中的多行

时间:2018-04-12 09:33:03

标签: node.js visual-studio-code shopify jsdoc

我是一个外观NodeJS模块,它简化了与Shopify API的交互,以满足我后端的需求。我有一个函数,它返回一个承诺,当它被解析时,包含一个带有商店详细信息的对象(id,email,country,currency等)。

我想使用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语法高亮?

1 个答案:

答案 0 :(得分:0)

如果您正在使用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