typeof-jsonc 将 JSONC/JSON 转换为 TypeScript 声明

5,049 阅读1分钟

1、TypeScript 带来的好处

TypeScript 提供了静态类型检查,带来了如下好处:

  • 质量:静态类型检查,规避类型错误
  • 高效:结合编辑器,智能提示,加快开发速度和保证代码质量
  • 重构:静态类型检查,重构低风险
  • 可读:类型声明使代码更可读

2、开发中存在的类型声明成本

开发过程中需要更多的类型,以让 TypeScript 的效果更好,特别是前后端协作时,将接口文档信息转换为 TypeScript 类型声明,来保证项目质量。 但是手动的根据后端接口文档进行编辑,带来很高的编辑成本。

3、降低接口文档到 TS 声明成本的方案

typeof-jsonc lib 库支持将 jsonc 字符串转换为 TS 声明

待转换接口示例

{
  "code": 0,
  "data": {
        // this is name
        "name": "hello",
        // this is age
        "age": 18
  },
  "msg": "success"
}

typeof-jsonc 转换结果

export interface IResponseData {
    code: number;
    data: IData;
    msg: string;
}

export interface IData {
    /**
     * this is name
     */
    name: string;
    /**
     * this is age
     */
    age: number;
}

线上工具截图

4、typeof-jsonc 特性

  • 支持基本类型
  • 支持数组类型合并
  • 支持注释解析
  • 自定义类型名
  • 支持 jsonc、json、非标准的 jsonc/json 格式