Generates TypeScript definition file(d.ts) from swagger.json
sw2dts wraps dtsgenerator to provides several features for edge cases.
$ npm install -g sw2dts
or, install with --save-dev
option to use in npm scripts.
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.
$ 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
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);
});
./setup.sh
npm test