我是一个外观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语法高亮?
答案 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