New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@lauginwing/openapi-gen

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lauginwing/openapi-gen

根据swagger文档生成api代码及其类型

  • 0.0.4
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

openapi-gen

根据 swagger 文档生成 api 代码及其类型

安装

yarn add @lauginwing/openapi-gen

使用

  • cli 使用
openapi-gen -c ./config.js
// -c : 设定配置文件所在地址,不传则默认取终端当前目录下的genapiconfig.js

// 本地使用
npx openapi-gen -c ./config.js
  • js 调用
import {gen} from '@lauginwing/openapi-gen'
import config from './genapiconfig.ts'

gen(config)

配置

一般情况下,只需配置前四项即可

例子

// config.js
const path = require('path')

module.exports = [
    {
        api: `https://petstore.swagger.io/v2/swagger.json`,
        sdkDir: path.join(__dirname, './src/api/pet'),
        namespace: 'Pet',
        prefix: '/pet',
    },
]

完整类型:

参考 https://github.com/zhang740/openapi-generator#readme

interface config {
    /** api文档地址 **/
    api: string
    /** 生成目录 */
    sdkDir: string
    /** 复杂类型命名空间 */
    namespace?: string
    /** 在每个请求的请求地址前加的前缀 */
    prefix?: string

    saveOpenAPIData?: boolean
    autoClear?: boolean
    /** 自动清除旧文件时忽略列表 */
    ignoreDelete?: string[]
    /** 参数类型的模板的地址 */
    paramInterfaceTemplatePath?: string
    /** Service模板文件路径 */
    templatePath?: string
    /** Interface模板文件路径 */
    interfaceTemplatePath?: string
    /** 生成请求库 */
    requestLib?: boolean
    /** filename style, true 为大驼峰,lower 为小驼峰 */
    camelCase?: boolean | 'lower'
    /** gen type */
    type?: 'ts' | 'js'
    /** 生成 Service 类型 */
    serviceType?: 'function' | 'class'
    /** 拿到 swagger json ,做前置处理,返回处理好的数据 **/
    beforeParseSwagger?: (data: SwaggerJSon | OpenApiJson) => Promise<SwaggerJSon | OpenApiJson>
    /** 数据处理钩子 */
    hook?: {
        /** 自定义函数名称 */
        customFunctionName?: (data: OperationObject) => string
        /** 自定义类名 */
        customClassName?: (tagName: string) => string
    }
    /** path过滤 */
    filter?: (RegExp | ((data: APIDataType) => boolean))[]
}

FAQs

Package last updated on 23 May 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc