- 更新
.vscodeignore
文件
- 更新
readme.md
文件
- 修复右键转换
swagger
不生效 - 优化将
schema
相关逻辑抽离到schemaToTs
文件
- 修复
name
为undefined
报错
- 判断联合类型是否可以合并到一个类型里
例如: count1 | count2 | count3, count1已经包含了count2和count3,应该舍弃count2和count3 只保留count1
- 修复 swagger 中类型声明不规范时导致的转换异常
- 支持 swagger 中的
数组
和对象
类型
- 不忽略
node_modules
目录文件
- 剪切板如果是
curl
将自动请求 - 将请求由原来的
webview
改为插件内部请求避免跨域问题
- 支持
swagger json
数据和api接口
转为类型声明 - 废弃掉旧版本
swagger
类型生成
- 修复允许 prefix 为空
配置面板
添加 curl 超时时长设置,默认时长设置为 6000ms
- 使用
curlconverter
替换原有 curl 转 json 的库 - curl 错误逻辑
- curl 文本国际化
- 支持
curl
方式请求。chrome -> network -> copy -> Copy as cURL(bash)
- 类型
{a: string | undefined }
改为{a?: string }
- 对类型进行字符排序,例如
string | number
与number | string
应该是等价的
{
"should_be_ts_map_not_an_interface": {
"key1": {
"a": 1,
"b": 2
},
"key2": {
"a": 3,
"b": 4
},
}
}
// 生成[key:string]: IKey1。 而不是key1:Ikey1、key2:Ikey2 (会进行自动检测)
export interface IRootObject {
should_be_ts_map_not_an_interface: IShouldBeTsMapNotAnInterface;
}
export interface IShouldBeTsMapNotAnInterface {
[key:string]: IKey1;
}
export interface IKey1 {
a: number;
b: number;
}
- 优化自己引用自己代码逻辑
- 变量名称首字母大写
- 数组对象合并可选判断
- 英文的 placeholder 显示不全
- 自己引用自己以及配置面板 (目前支持严格模式)
- 配置面板
严格模式
(类型完全一致才会被认为自己引用自己) |非严格模式
(类型会做一些兼容处理)
- 数组内多个对象
类型
按层级合并 - 暂时去掉自己调用自己(后续会追加)
- 名称不随机生成
- 完善块级注释
- 修复自己调用问题
- 生成的类型顺序
- 修复数组多个对象报错
- 支持
UnaryExpression
- 类型复用以及类型去重
- 添加自定义配置
comments
和prefix
- 添加自定义配置
optional
- 添加配置
openTemporaryFile
和exportType
- 未选择内容时按
ctrl+shift+j
会转换剪切板内容 - 新增在右侧打开临时文件来展示类型声明
- 使用
@babel/traverse
重构 AST 遍历逻辑 - 将复杂类型拆分出一个新的 interface 定义
- 添加日志逻辑,方便用户上报 issue
- 支持字面量正则
- 修复支持中文国际化
- 支持中英文
- 支持接口名称子节点复用
- 修复插件所有功能异常问题
- 添加块级注释行/** */; (快捷键: ctrl+')
- 解决资源无法加载
- 解决 eval 无法通过 csp 问题
- 修改样式让其符合暗黑样式
- 更新 changelog 和 README
- api to ts 功能
- 更新 LOGO 图
- 使用 AST 数据结构重构
- 支持保留原有的注释
- 支持数组一键转换
- 将类型设置为可选类型
- 修复存在变量判断错误问题
- 新增 JS 对象转为 ts 对象
Bug Fixes
- 修改 template.png 和 tutorials.gif
- 新增 CHANGELOG 文件(版本更新记录)
Bug Fixes
- 修复 ApiResponse«List«PlayerAwardVo»» 多个«无法匹配问题
- 新增英文版本 README.md
Bug Fixes
- 将:必选改为?:可选
Feature
- swagger 类型转换为 typescript 类型
- 添加 ctrl+shift+k 快捷键