sw2dts

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

  • sw2dts

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
sw2dts
16172.6.34 years ago8 years agoMinified + gzip package size for sw2dts in KB

Readme

sw2dts

npm version Circle CI
Generates TypeScript definition file(d.ts) from swagger.json for edge cases.

Attention

sw2dts wraps dtsgenerator to provides several features for edge cases.
I recommend to use dtsgenerator directly or other generators such as Swagger Codegen, if you use swagger generally.

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.

  • inputfilename 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

npm cit