Skip to content
This repository has been archived by the owner on Jul 19, 2023. It is now read-only.
/ sw2dts Public archive

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

License

Notifications You must be signed in to change notification settings

mstssk/sw2dts

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published