Skip to content
/ sw2dts Public
forked from mstssk/sw2dts

Generates TypeScript definition file(d.ts) from swagger.json

License

Notifications You must be signed in to change notification settings

Maym0re/sw2dts

 
 

Repository files navigation

sw2dts

npm version Circle CI

Generates TypeScript definition file(d.ts) from swagger.json

sw2dts wraps dtsgenerator to provides several features for edge cases.

Install

$ npm install -g sw2dts

or, install with --save-dev option to use in npm scripts.

Usage

  Usage: sw2dts [options] [--] [input_filename]

  Options:

    -w, --with-query                With GET query parameters.
    -s, --sort-props                Sort type properties order.
    -o, --output <output_filename>  Output to file.
    -n, --namespace <namespace>     Use namespace.
    --stdin                         [Deprecated] Input from standard input.
  • input_filename should be swagger.json(or yaml) file.

Example

$ sw2dts swagger.json > output.d.ts
$ sw2dts -o output.d.ts swagger.json
$ sw2dts --namespace foo -o output.d.ts swagger.json
$ cat swagger.json | sw2dts -swo output.d.ts

Tips

Use sw2dts in your script.

Sample:

import * as sw2dts from 'sw2dts';

let data: sw2dts.SwaggerSpec = { /* swagger data */ };

let option: sw2dts.ConverterOptions = {
    namespace: 'foo',
    
    // includes GET query parameters.
    withQuery: true, 
    
    // modify GET query parameters interface name.
    nameResolver: (path: string, pathDefinition: sw2dts.PathDefinition, options: sw2dts.ConverterOptions) => {
        return 'any name as you like'; // WARN: sw2dts will convert this name to PascalCase.
    }
};

sw2dts.convert(data, option).then(dts => {
    console.log(dts);
});

How to build

./setup.sh
npm test

About

Generates TypeScript definition file(d.ts) from swagger.json

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 86.8%
  • JavaScript 13.0%
  • Shell 0.2%