Skip to content

genaby/swagger-typescript-api

This branch is 3 commits ahead of, 964 commits behind acacode/swagger-typescript-api:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9d69e17 Β· Mar 2, 2020
Feb 28, 2020
Feb 28, 2020
Feb 28, 2020
Mar 2, 2020
Feb 28, 2020
Feb 28, 2020
Feb 22, 2020
Feb 28, 2020
Jan 14, 2020
Feb 28, 2020
Feb 28, 2020
Feb 28, 2020
Feb 28, 2020
Feb 28, 2020
Mar 2, 2020

Repository files navigation

swagger-typescript-api

Greenkeeper badge NPM badge

Generate api via swagger scheme.
Supports OA 3.0, 2.0, JSON, yaml
Generated api module use Fetch Api to make requests.



Any questions you can ask here or in our slack


πŸ‘€ Examples

All examples you can find here

πŸ“„ Usage

Usage: sta [options]
Usage: swagger-typescript-api [options]

Options:
  -v, --version             output the current version
  -p, --path <path>         path/url to swagger scheme
  -o, --output <output>     output path of typescript api file (default: "./")
  -n, --name <name>         name of output typescript api file (default: "Api.ts")
  -d, --default-as-success  use "default" response status code as success response too.
                            some swagger schemas use "default" response status code
                            as success response type by default. (default: false)
  -r, --responses           generate additional information about request responses  
                            also add typings for bad responses  
  --route-types             generate type definitions for API routes (default: false)
  --no-client               do not generate an API class
  -h, --help                output usage information

Also you can use npx:

 npx swagger-typescript-api -p ./swagger.json -o ./src -n myApi.ts

You can use this package from nodejs:

const { generateApi } = require('swagger-typescript-api');

// example with url  
generateApi({
  name: "MySuperbApi.ts", // name of output typescript file
  url: 'http://api.com/swagger.json', // url where located swagger schema
})
  .then(sourceFile => fs.writeFile(path, sourceFile))
  .catch(e => console.error(e))

// example with local file  
generateApi({
  name: "ApiModule.ts", // name of output typescript file
  input: resolve(process.cwd(), './foo/swagger.json') // path to swagger schema
})
  .then(sourceFile => fs.writeFile(path, sourceFile))
  .catch(e => console.error(e))

πŸš€ How it looks

πŸ› οΈ Contribution

You can manually check your changes at schemas in tests folder before create a PR.
To do that have scripts:
- npm run generate - generate API modules from schemas in tests folder
- npm run validate - validate generated API modules via TypeScript

πŸ“ License

Licensed under the MIT License.

About

TypeScript API generator via Swagger scheme (fork of https://github.com/acacode/swagger-typescript-api/ to fix typescript error)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 93.1%
  • JavaScript 6.0%
  • HTML 0.9%