Git Product home page Git Product logo

swagger-typescript-api's Introduction

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(#swagger-typescript-api channel)


๐Ÿ‘€ 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")
  -t, --templates <path>    path to folder containing templates (default: "./src/templates")
  -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  
  --union-enums             generate all "enum" types as union types (T1 | T2 | TN) (default: false)
  --route-types             generate type definitions for API routes (default: false)
  --no-client               do not generate an API class
  --js                      generate js api module with declaration file (default: false)
  -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))

// example with parsed schema  
generateApi({
  name: "ApiModule.ts", // name of output typescript file
  spec: {
    swagger: "2.0",
    info: {
      version: "1.0.0",
      title: "Swagger Petstore",
    },
    host: "petstore.swagger.io",
    basePath: "/api",
    schemes: ["http"],
    consumes: ["application/json"],
    produces: ["application/json"],
    paths: {
      // ...
    }
    // ...
  }
})
  .then(sourceFile => fs.writeFile(path, sourceFile))
  .catch(e => console.error(e))

๐Ÿ“„ Mass media

๐Ÿš€ 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.

swagger-typescript-api's People

Contributors

azz avatar greenkeeper[bot] avatar js2me avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.