yapi-to-typescript-test
TypeScript icon, indicating that this package has built-in type declarations

3.12.21 • Public • Published

YApi to TypeScript Test codecov

根据 YApiSwagger 的接口定义生成 TypeScript/JavaScript 的接口类型及其请求函数代码。

钉钉扫码加入交流群:

预览

特性

  • 支持多服务器、多项目、多分类
  • 支持预处理接口信息
  • 可自定义类型或函数名称
  • 完整的注释
  • 支持生成 React Hooks 的请求代码
  • 支持参数路径
  • 支持上传文件
  • 支持生成 JavaScript 代码
  • 支持 Swagger

环境要求

  • Node >= 10.19.0
  • YApi >= 1.5.12

安装

# yarn
yarn add yapi-to-typescript

# 或者,npm
npm i yapi-to-typescript --save

使用

yapi-to-typescript 基于当前目录下的 ytt.config.{ts,js} 配置文件进行相关操作。

生成配置文件

使用命令 ytt init 可在当前目录自动创建配置文件 ytt.config.{ts,js},如果配置文件已存在,将会询问你是否覆盖:

# yarn
yarn ytt init

# 或者,npm
npx ytt init

修改配置文件

打开当前目录下的 ytt.config.{ts,js} 配置文件,直接修改即可。查看配置说明

生成代码

直接执行命令 ytt 即可抓取 YApi 的接口定义并生成相应的 TypeScript/JavaScript 代码:

# yarn
yarn ytt

# 或者,npm
npx ytt

配置

概论

从实质上而言,配置就是一个服务器列表,各个服务器又包含一个项目列表,各个项目下都有一个分类列表,其类型大致如此:

type Servers = Array<{
  projects: Array<{
    categories: Array<{
      // ...
    }>
  }>
}>

// 配置实质是一个服务器列表
type Config = Servers

因此,你可分别在 服务器级别项目级别分类级别 进行相关配置,如果不同级别存在相同的配置项,低级别的配置项会覆盖高级别的配置项,也就是说:

  • 如果存在相同的配置项,分类级别 的配置会覆盖 项目级别服务器级别 的配置项;
  • 如果存在相同的配置项,项目级别 的配置会覆盖 服务器级别 的配置项。

配置项

具体配置项见:API 文档

参与贡献

为避免无用功,功能新增或变更请提 issue 由维护者评估后再决定是否继续;功能修复以及经评估可行的功能新增或变更请提 PR。

  • 安装依赖:yarn
  • 运行测试:yarn test

许可

MIT (c) Jay Fong

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
3.12.212latest

Version History

VersionDownloads (Last 7 Days)Published
3.12.212
3.12.200
3.12.190
3.12.180
3.12.170
3.12.160
3.12.150
3.12.140
3.12.130
3.12.120
3.12.110
3.12.100
3.12.90
3.12.80
3.12.71
3.12.60
3.12.50
3.12.30
3.12.20
3.12.10
3.11.110
3.11.100
3.11.91
3.11.70
3.11.60
3.11.50
3.11.40
3.11.30
3.11.20
3.11.10
3.10.210
3.10.200
3.10.191
3.10.180
3.10.170
3.10.160
3.10.150
3.10.140
3.10.121
3.10.110
3.10.100
3.10.90
3.10.80
3.10.70
3.10.60
3.10.50
3.10.40
3.10.31
3.10.20
3.10.10
3.10.00

Package Sidebar

Install

npm i yapi-to-typescript-test

Weekly Downloads

7

Version

3.12.21

License

MIT

Unpacked Size

248 kB

Total Files

36

Last publish

Collaborators

  • fengruixiang