# sw2dts

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

Latest version **2.6.3** (published 2020-06-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install sw2dts
pnpm add sw2dts
yarn add sw2dts
bun add sw2dts
```

Provides the command `sw2dts`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.6.3 |
| Published | 2020-06-18 |
| First published | 2016-05-06 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 16.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 159 |
| Author | mstssk |
| Maintainers | mstssk |
| Keywords | typescript, swagger, json, yaml, d.ts |

## Links

- npm: https://www.npmjs.com/package/sw2dts
- Repository: https://github.com/mstssk/sw2dts
- Homepage: https://github.com/mstssk/sw2dts#readme
- Issues: https://github.com/mstssk/sw2dts/issues
- npm.io page: https://npm.io/package/sw2dts

## Dependencies (3)

- [js-yaml](https://npm.io/package/js-yaml.md) ^3.13.1
- [commandpost](https://npm.io/package/commandpost.md) ^1.4.0
- [dtsgenerator](https://npm.io/package/dtsgenerator.md) ^1.2.0

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 2.6.3 (latest) — 2020-06-18
- 2.7.0-beta.2 (beta) — 2019-09-12
- 2.6.0-alpha.2 (next) — 2018-05-20
- 2.6.2 — 2019-06-05
- 2.6.1 — 2018-08-28
- 2.6.0 — 2018-05-21
- 2.5.0 — 2017-11-18
- 2.5.0-beta.2 — 2017-11-16
- 2.5.0-beta.1 — 2017-11-16
- 2.4.0 — 2017-06-08
- 2.3.0 — 2017-01-04
- 2.2.0 — 2016-12-26
- 2.1.4 — 2016-11-01
- 2.1.2 — 2016-09-15
- 2.1.1 — 2016-09-07
- … 9 more at https://npm.io/package/sw2dts/versions

## README

sw2dts 
------

[![npm version](https://badge.fury.io/js/sw2dts.svg)](https://badge.fury.io/js/sw2dts)
[![Circle CI](https://circleci.com/gh/mstssk/sw2dts.svg?style=svg)](https://circleci.com/gh/mstssk/sw2dts)

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

## Attention

[sw2dts](https://www.npmjs.com/package/sw2dts) wraps [dtsgenerator](https://www.npmjs.com/package/dtsgenerator)
to provides several features for **edge cases**.

I recommend to use [dtsgenerator](https://www.npmjs.com/package/dtsgenerator) directly or other generators such as [Swagger Codegen](https://swagger.io/tools/swagger-codegen/), if you use swagger generally.

## Install

```
$ npm install -g sw2dts
```

or, install with `--save-dev` option to use in [npm scripts](https://docs.npmjs.com/misc/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:

```ts
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
```

---
_Source: https://npm.io/package/sw2dts · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
