• This repository has been archived on 19/Jul/2023
  • Stars
    star
    161
  • Rank 233,470 (Top 5 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[Unmaintained] Generates TypeScript definition file(d.ts) from swagger.json for edge cases.

sw2dts

npm version GitHub Actions

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

npm cit