1.0.1 • Published 16 days ago

tswagger v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
16 days ago

TSwagger

TS-Swagger plugin generator CLI

npm package github stars

Installation

npm i -D tswagger

Basic Usage

in project directory

npx tswagger https://api.server.foo/swagger.json

in script code

import { setAxios, api } from './api'
import axios from 'axios'
setInstance(axios.create({ baseURL: 'http://localhost:8080', timeout: 100 })) // optional
const foo = await api().bar.get()

Path param mode

see form option

/* default (1.1.0+) */
api().foo.bar(1).get(2)
api().foo.bar.get()

/* underscore */
api().foo._bar.get(1, 2)
api().foo.bar.get()

Options

options priority : command line > tswagger.config > package.json

tswagger argument1 --option1 value1 --option2 value2
optiondescriptiondefaultexample
(first argument)Swagger schema JSON path(required)http://.. or ./foo/swagger.json
srcsame as first argumentfirst argumentsame as above
plugins-dirDirectorylib
plugin-nameName for generated flileapi
export-nameExport name{plugin-name}''(export default)
type-pathPath for scheme type file{plugins-dir}/{plugin-name}/{types.ts}./types/models.ts
base-pathbase path/v1/v2
skip-headerIgnore parameter in headerfalsetrue
formPath param interface mode(undefined)underscore

Set options using tswagger.config

import { TSwaggerOptions } from 'tswagger'

const option: Partial<TSwaggerOptions> = {
  pluginName: 'foo'
}

export default option

Set options using package.json

{
  "tswagger": {
    "pluginsDir": "api"
  }
}

tsconfig.json

{
  "compilerOptions": {
    "types": ["tswagger/types"]
  }
}

and npm run swagger or npx tswagger

License

ISC License Copyright (c) 2023, Elevista

1.0.1

16 days ago

1.0.0

6 months ago

1.0.0-alpha.5

10 months ago

1.0.0-alpha.4

1 year ago

1.0.0-alpha.3

1 year ago

1.0.0-alpha.2

1 year ago

1.0.0-alpha.1

1 year ago

1.0.0-alpha.0

1 year ago