@aiwha/ngx-from-swagger-json
TypeScript icon, indicating that this package has built-in type declarations

1.0.13 • Public • Published

ngx-from-swagger-json

This packages allows you to generated services and their models from a swagger.json file

Installation

Yarn: Run yarn global add @aiwha/ngx-from-swagger-json

NPM: Run npm install -g @aiwha/ngx-from-swagger-json

Configuration

After installing this package create a ngx-from-swagger-json.json file and set the configuration Example config:

[
	{
		"location": "https://example.com/docs",
		"destinationDir": "services",
		"apiBasePath": null,
		"moduleName": null,
		"filtersAlsoAsArray": false,
		"filtersAlsoAsArrayExcludes": ['page', 'per_page', 'order_by', 'order_direction'],
		"flatten": false,
		"ignoreTls": false
	}
]

The following can be configured:

Name Description
location The location of the swagger docs
destinationDir Where to compile them to this is relative from where ngx-from-swagger-json is executed
moduleName Custom module name e.g. company-data -> CompanyDataModule -> company-data.module.ts
flatten If all services start with the same root folder, that folder will not be created e.g. destinationDir: /services, all paths start with /api, result with flatten false, /services/api/api.module.ts result with flatten true, /services/api.module.ts
filtersAlsoAsArray Enable this and all FILTER models will change their type to a duo type array and non-array for example ID can be a number? that would be id: number, now becomes: id: number|number[]
filtersAlsoAsArrayExcludes Once filtersAlsoAsArray is enabled you can define a list here which will be excluded from the multitype if not defined, it will be 'page', 'per_page', 'order_by', 'order_direction'
ignoreTls If you want to generate them from a dev environment you can disable Tls verification
apiBasePath If you need to add something to the path of your api calls you can use this variable for example you can set it to /api, you should not add a trailing slash

Execution

Run ngx-from-swagger-json to start the export of the models

The following command line arguments are available

Argument Description
-v Verbose output
--verbose see -v
--config file custom config file if you want to run it for multiple api's

Note: All files ending in .enum.ts and .model.generated.ts will be overwritten each time this script is run, all other files will need to be deleted if you want to re-generate them.

Output example

Look for an example in this repo's examples directory

Todo

Missing IN Parameter {
  paramSource: 'formData',
  swaggerName: 'attachment',
  name: 'attachment',
  type: 'any'
}
Missing IN Parameter {
  paramSource: 'formData',
  swaggerName: 'body',
  name: 'body',
  type: 'string'
}
ERROR unknown :{"name":"lead_import_file","in":"formData","description":"Lead import file","required":true,"type":"file"}

Readme

Keywords

Package Sidebar

Install

npm i @aiwha/ngx-from-swagger-json

Weekly Downloads

6

Version

1.0.13

License

ISC

Unpacked Size

910 kB

Total Files

1484

Last publish

Collaborators

  • sadrichem