设计文档 - wulunyi/typeof-jsonc GitHub Wiki

目标

将 jsonc 转换为 typescript 声明

  • 将行级注释和块级注释转换为声明注释
  • 支持普通类型 string、number、undefined、null、boolean
  • 支持 object
  • 支持 array

注释转换规则

  • leading 注释转换为后置属性描述
  • trailing 注释转换为前置属性的描述
  • jsDoc 注释转换为后置属性描述
  • 如果多个注释作用域一个属性描述则合并

leading 注释

// message info
"msg": "success" 

转换为

/**
 * message info
 */
"msg": string

Trailing

"msg": "success" // message info

转换为

/**
 * message info
 */
"msg": string

jsDoc

/**
 * message info
 */
"msg": "success" 

转换为

/**
 * message info
 */
"msg": string

多个规则

/**
 * message info
 */
"msg": "success"  // success

转换为

/**
 * message info
 * success
 */
"msg": string