@zoff-tech/swagger-typescript

4.0.9 • Public • Published

This is a Fork of https://github.com/hosseinmd/swagger-typescript

For Example: Get method of '/Account' path will be this code in services.ts

import { getAccount } from "./services";

const response = await getAccount({ id: 1234 });

install

$ yarn add @zoff-tech/swagger-typescript

get start

Before running, add your config to swagger.config.json

swagger.config.json

{
  "url": "http://example.com/api/swagger.json",
  "dir": "./test"
}
{
  "file": "./api.yaml",
  "dir": "./test"
}
{
  "file": "./api.json",
  "dir": "./test"
}

run

yarn swag-ts

config.ts

This file automatically will be create after first run. You could change this file for customization. Don't change other files, if you want another config create Issue or PR.

baseConfig

const baseConfig: AxiosRequestConfig = {
  baseURL: "", // <--- Add your base url
  //other static configs
};

Now you can use APIs, So for advanced config read below.

swagger.config.json

For Example:

{
    "url": "https://generator3.swagger.io/openapi.json",
    "dir": "./test",
    "language": "typescript",
    "modelNaming":"camel",
    "modelPropertyNaming":"original",
    "enumPropertyNaming":"pascal",
    "serviceNaming":"canel",
    "tagNaming":"snake-upper",
    "ignore": {
        "headerParams": [
            "terminalId"
        ]
    }
}
[Key] [default] Comment
url Optional Address of swagger.json
file Optional Path of file swagger.json or swagger.yaml
dir Required Address of output
language typescript export to "javascript" or "typescript"
methodName {method}{path} Supported mixed of "{method}{path}{operationId}". for Example: 'service{method}{path}'
modelNaming original camel or pascal or snake or snake-upper or original
modelPropertyNaming original camel or pascal or snake or snake-upper or original
enumPropertyNaming original camel or pascal or snake or snake-upper or original
serviceNaming original camel or pascal or snake or snake-upper or original
tagNaming original camel or pascal or snake or snake-upper or original
ignore Optional Ignore headers from type for Example: "ignore": { "headerParams": ["terminalId"]}

config.ts

This file automatically will be created after first run. You could change this file for customization. Don't change other files, if you want another config create Issue or PR.

getAxiosInstance

getAxiosInstance used for create an instance of axios request you can customize that for what you needed

baseConfig

baseConfig used for get static configs and headers. if you need some dynamic configs like add authentication to headers use requestConfig.headers.authorization into of axiosInstance.interceptors.request.use function.

Typescript / Factories

Operations grouped by tags like Swagger UI.


import { getApi, getService } from "../apis-generated/serviceFactory";

// Api factory
const apiUsuario = getApi("Usuario");

// Service factory
let response = await getService("Usuario","getUsuario")({ id: this.controller.IdUsuario });

Package Sidebar

Install

npm i @zoff-tech/swagger-typescript

Weekly Downloads

1

Version

4.0.9

License

MIT

Unpacked Size

76.3 kB

Total Files

33

Last publish

Collaborators

  • rzoff