# code-swagger-generator

> a script to generate swagger.yml doc

Latest version **1.6.2** (published 2021-11-04) · ISC license · 0 weekly downloads

## Install

```sh
npm install code-swagger-generator
pnpm add code-swagger-generator
yarn add code-swagger-generator
bun add code-swagger-generator
```

Provides the command `code-swagger-generator`.

## 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 | 1.6.2 |
| Published | 2021-11-04 |
| First published | 2021-03-15 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 22.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | obi ubaka |
| Maintainers | obilolo |

## Links

- npm: https://www.npmjs.com/package/code-swagger-generator
- Repository: https://github.com/s4ohub/code-swagger-generator
- Homepage: https://github.com/s4ohub/code-swagger-generator.git#readme
- Issues: https://github.com/s4ohub/code-swagger-generator/issues
- npm.io page: https://npm.io/package/code-swagger-generator

## Dependencies (3)

- [lodash](https://npm.io/package/lodash.md) ^4.17.11
- [pluralize](https://npm.io/package/pluralize.md) ^7.0.0
- [url-parse](https://npm.io/package/url-parse.md) ^1.4.4

## Recent versions

- 1.6.2 (latest) — 2021-11-04
- 1.6.1 — 2021-11-04
- 1.6.0 — 2021-11-04
- 1.5.0 — 2021-05-08
- 1.4.0 — 2021-05-05
- 1.3.0 — 2021-03-15
- 1.2.0 — 2021-03-15
- 1.1.0 — 2021-03-15
- 1.0.0 — 2021-03-15

## README

### installation
```
npm i -g code-swagger-generator
```

### usage
```shell
code-swagger-generator [project-name] [base-url] [project-folder-path] [output-file-path]
```

use [apidocjs](http://apidocjs.com) for route documentation formats, and automatically have your docs converted to swagger

### model examples
```js
/**
 * @apiDefine ListQueryParams
 * Handles querying on a particular collection
 * @apiParam {Number} [_limit] limit response length
 * @apiParam {Number} [_skip] skip the given amount of data
 * @apiParam {String} [_sort] sort by data eg "createdAt:1" in ASC, "createdAt:-1" in DESC
 * @apiParam {String} [_populate] populate dependencies eg 'user'
 * @apiParam {Boolean} [_count] if specified, returns the number count of query result
 * @apiParam {String} [_select] select only specified properties eg 'username,email' exclude '-email,-password'
 */

/**
* @apiDefine PopulateQueryParam
* @apiParam {String} [_populate] populate dependencies eg 'user'
* @apiParam {String} [_select] select only specified properties eg 'username,email' exclude '-email,-password'
*/

/**
 * @apiDefine Authentication
 * Handles requests that require authentication
 * @apiHeader {String} [authorization] jwt authorization token
 * @apiHeaderExample {json} Authorization-Example:
 *     {
 *       "Authorization": "Bearer {jwt token}"
 *     }
 */

/**
* @apiDefine OtherModelParams
* @apiParam {String} [createdAt] date of creation
* @apiParam {String} [updatedAt] date of last update
*/

/**
 * @apiModel ModelCreateDestinationAccountManager
 * @apiParam {String="CRYPTO,FIAT"} [type] type property
 * @apiParam {String} account account property
 * @apiParam {String} accountReservation accountReservation property
 * @apiParam {String} refId refId property
 * @apiParam {Any} [data] data(Mixed) property
 * @apiParam {String} [currentPayment] currentPayment(ObjectId) property
 * @apiParam {Boolean} [acquired] acquired property
 */

/**
 * @apiModel ModelUpdateDestinationAccountManager
 * @apiParam {String="CRYPTO,FIAT"} [type] type property
 * @apiParam {String} [account] account property
 * @apiParam {String} [accountReservation] accountReservation property
 * @apiParam {String} [refId] refId property
 * @apiParam {#ModelDestinationAccountManager} [data] data(Mixed) property
 * @apiParam {String} [currentPayment] currentPayment(ObjectId) property
 * @apiParam {Boolean} [acquired] acquired property
 */

/**
 * @apiDefine ModelDestinationAccountManager
 * @apiSuccess {String="CRYPTO,FIAT"} type type property
 * @apiSuccess {String} account account property
 * @apiSuccess {String} accountReservation accountReservation property
 * @apiSuccess {String} refId refId property
 * @apiSuccess {Any} data data(Mixed) property
 * @apiSuccess {String} currentPayment currentPayment(ObjectId) property
 * @apiSuccess {Boolean} acquired acquired property
 */

```

### route description format (github Markdown)
```js
/**
* @apiDescribe Description
# Header1
This is a multi line md description
# Header2
It would be used in the docs as md
*/
```

### route examples
```js
/**
 * @api {get} /crypto-pay/destinationAccountManagers/:id Get destinationAccountManager by id
 * @apiName GetDestinationAccountManager
 * @apiGroup DestinationAccountManager
 *
 * @apiUse Authentication
 * @apiParam {String} id id of destinationAccountManager to retrieve
 * @apiParam {String} [populate] populate dependencies eg "user,..."
 * @apiParam {String} name name of destinationAccountManager to retrieve
 * @apiParam {String} age age of destinationAccountManager to retrieve
 * @apiUse PopulateQueryParam 
 * @apiResponse 200 #ModelDestinationAccountManager success response
 * @apiResponse 404 #ModelCreateDestinationAccountManager error response
 */

 /**
 * @api {put} /crypto-pay/destinationAccountManagers/:id Update destinationAccountManager by id
 * @apiName UpdateDestinationAccountManager
 * @apiDescription #Description
 * @apiGroup DestinationAccountManager
 *
 * @apiUse Authentication
 * @apiParam {String} id id of destinationAccountManager to retrieve
 * @apiParam {String} name name of destinationAccountManager to retrieve
 * @apiParam {String} age age of destinationAccountManager to retrieve
 * @apiBody default #ModelCreateDestinationAccountManager
 * @apiConsumes application/json
 * @apiProduces application/json
 * @apiResponse 200 #ModelDestinationAccountManager success response
 * @apiResponse 404 #ModelCreateDestinationAccountManager error response
 */
```

### disclaimer
this tool is still under development, user's descretion is adviced

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