Merge pull request #3254 from delenius/jsdoc-paramtypes2

Generate type annotations in JS model constructors
This commit is contained in:
wing328 2016-06-30 11:33:54 +08:00 committed by GitHub
commit 75bd838d23
18 changed files with 46 additions and 46 deletions

View File

@ -882,8 +882,8 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo
// Collect each model's required property names in *document order*.
// NOTE: can't use 'mandatory' as it is built from ModelImpl.getRequired(), which sorts names
// alphabetically and in any case the document order of 'required' and 'properties' can differ.
List<String> required = new ArrayList<String>();
List<String> allRequired = supportsInheritance ? new ArrayList<String>() : required;
List<CodegenProperty> required = new ArrayList<>();
List<CodegenProperty> allRequired = supportsInheritance ? new ArrayList<CodegenProperty>() : required;
cm.vendorExtensions.put("x-required", required);
cm.vendorExtensions.put("x-all-required", allRequired);
@ -893,14 +893,14 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo
var.vendorExtensions.put("x-jsdoc-type", jsDocType);
if (Boolean.TRUE.equals(var.required)) {
required.add(var.name);
required.add(var);
}
}
if (supportsInheritance) {
for (CodegenProperty var : cm.allVars) {
if (Boolean.TRUE.equals(var.required)) {
allRequired.add(var.name);
allRequired.add(var);
}
}
}

View File

@ -14,15 +14,15 @@
* @class{{#useInheritance}}{{#parent}}
* @extends {{#parentModel}}module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{classname}}{{/parentModel}}{{^parentModel}}{{#vendorExtensions.x-isArray}}Array{{/vendorExtensions.x-isArray}}{{#vendorExtensions.x-isMap}}Object{{/vendorExtensions.x-isMap}}{{/parentModel}}{{/parent}}{{#interfaces}}
* @implements module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{.}}{{/interfaces}}{{/useInheritance}}{{#vendorExtensions.x-all-required}}
* @param {{.}}{{/vendorExtensions.x-all-required}}
* @param {{name}} {{{vendorExtensions.x-jsdoc-type}}} {{#description}}{{{description}}}{{/description}}{{/vendorExtensions.x-all-required}}
*/
{{/emitJSDoc}}
var exports = function({{#vendorExtensions.x-all-required}}{{.}}{{^-last}}, {{/-last}}{{/vendorExtensions.x-all-required}}) {
var exports = function({{#vendorExtensions.x-all-required}}{{name}}{{^-last}}, {{/-last}}{{/vendorExtensions.x-all-required}}) {
var _this = this;
{{#parent}}{{^parentModel}}{{#vendorExtensions.x-isArray}} _this = new Array();
Object.setPrototypeOf(_this, exports);
{{/vendorExtensions.x-isArray}}{{/parentModel}}{{/parent}}{{#useInheritance}}{{#parentModel}} {{classname}}.call(_this{{#vendorExtensions.x-all-required}}, {{.}}{{/vendorExtensions.x-all-required}});{{/parentModel}}
{{#interfaceModels}} {{classname}}.call(_this{{#vendorExtensions.x-all-required}}, {{.}}{{/vendorExtensions.x-all-required}});
{{/vendorExtensions.x-isArray}}{{/parentModel}}{{/parent}}{{#useInheritance}}{{#parentModel}} {{classname}}.call(_this{{#vendorExtensions.x-all-required}}, {{name}}{{/vendorExtensions.x-all-required}});{{/parentModel}}
{{#interfaceModels}} {{classname}}.call(_this{{#vendorExtensions.x-all-required}}, {{name}}{{/vendorExtensions.x-all-required}});
{{/interfaceModels}}{{/useInheritance}}{{#vars}}{{#required}} _this['{{baseName}}'] = {{name}};{{/required}}
{{/vars}}{{#parent}}{{^parentModel}} return _this;
{{/parentModel}}{{/parent}} };

View File

@ -6,7 +6,7 @@ This SDK is automatically generated by the [Swagger Codegen](https://github.com/
- API version: 1.0.0
- Package version: 1.0.0
- Build date: 2016-06-29T21:42:46.755+08:00
- Build date: 2016-06-29T13:53:04.955-07:00
- Build package: class io.swagger.codegen.languages.JavascriptClientCodegen
## Installation
@ -131,12 +131,6 @@ Class | Method | HTTP request | Description
## Documentation for Authorization
### api_key
- **Type**: API key
- **API key parameter name**: api_key
- **Location**: HTTP header
### petstore_auth
- **Type**: OAuth
@ -146,3 +140,9 @@ Class | Method | HTTP request | Description
- write:pets: modify pets in your account
- read:pets: read your pets
### api_key
- **Type**: API key
- **API key parameter name**: api_key
- **Location**: HTTP header

View File

@ -64,8 +64,8 @@
* @type {Array.<String>}
*/
this.authentications = {
'api_key': {type: 'apiKey', 'in': 'header', name: 'api_key'},
'petstore_auth': {type: 'oauth2'}
'petstore_auth': {type: 'oauth2'},
'api_key': {type: 'apiKey', 'in': 'header', name: 'api_key'}
};
/**
* The default HTTP headers to be included for all API calls.

View File

@ -52,7 +52,7 @@
* Constructs a new <code>Animal</code>.
* @alias module:model/Animal
* @class
* @param className
* @param className {String}
*/
var exports = function(className) {
var _this = this;

View File

@ -53,7 +53,7 @@
* @alias module:model/Cat
* @class
* @extends module:model/Animal
* @param className
* @param className {String}
*/
var exports = function(className) {
var _this = this;

View File

@ -53,7 +53,7 @@
* @alias module:model/Dog
* @class
* @extends module:model/Animal
* @param className
* @param className {String}
*/
var exports = function(className) {
var _this = this;

View File

@ -52,10 +52,10 @@
* Constructs a new <code>FormatTest</code>.
* @alias module:model/FormatTest
* @class
* @param _number
* @param _byte
* @param _date
* @param password
* @param _number {Number}
* @param _byte {String}
* @param _date {Date}
* @param password {String}
*/
var exports = function(_number, _byte, _date, password) {
var _this = this;

View File

@ -53,7 +53,7 @@
* Model for testing model name same as property name
* @alias module:model/Name
* @class
* @param name
* @param name {Integer}
*/
var exports = function(name) {
var _this = this;

View File

@ -52,8 +52,8 @@
* Constructs a new <code>Pet</code>.
* @alias module:model/Pet
* @class
* @param name
* @param photoUrls
* @param name {String}
* @param photoUrls {Array.<String>}
*/
var exports = function(name, photoUrls) {
var _this = this;

View File

@ -6,7 +6,7 @@ This SDK is automatically generated by the [Swagger Codegen](https://github.com/
- API version: 1.0.0
- Package version: 1.0.0
- Build date: 2016-06-29T21:39:55.793+08:00
- Build date: 2016-06-29T13:53:00.479-07:00
- Build package: class io.swagger.codegen.languages.JavascriptClientCodegen
## Installation
@ -134,12 +134,6 @@ Class | Method | HTTP request | Description
## Documentation for Authorization
### api_key
- **Type**: API key
- **API key parameter name**: api_key
- **Location**: HTTP header
### petstore_auth
- **Type**: OAuth
@ -149,3 +143,9 @@ Class | Method | HTTP request | Description
- write:pets: modify pets in your account
- read:pets: read your pets
### api_key
- **Type**: API key
- **API key parameter name**: api_key
- **Location**: HTTP header

View File

@ -64,8 +64,8 @@
* @type {Array.<String>}
*/
this.authentications = {
'api_key': {type: 'apiKey', 'in': 'header', name: 'api_key'},
'petstore_auth': {type: 'oauth2'}
'petstore_auth': {type: 'oauth2'},
'api_key': {type: 'apiKey', 'in': 'header', name: 'api_key'}
};
/**
* The default HTTP headers to be included for all API calls.

View File

@ -52,7 +52,7 @@
* Constructs a new <code>Animal</code>.
* @alias module:model/Animal
* @class
* @param className
* @param className {String}
*/
var exports = function(className) {
var _this = this;

View File

@ -53,7 +53,7 @@
* @alias module:model/Cat
* @class
* @extends module:model/Animal
* @param className
* @param className {String}
*/
var exports = function(className) {
var _this = this;

View File

@ -53,7 +53,7 @@
* @alias module:model/Dog
* @class
* @extends module:model/Animal
* @param className
* @param className {String}
*/
var exports = function(className) {
var _this = this;

View File

@ -52,10 +52,10 @@
* Constructs a new <code>FormatTest</code>.
* @alias module:model/FormatTest
* @class
* @param _number
* @param _byte
* @param _date
* @param password
* @param _number {Number}
* @param _byte {String}
* @param _date {Date}
* @param password {String}
*/
var exports = function(_number, _byte, _date, password) {
var _this = this;

View File

@ -53,7 +53,7 @@
* Model for testing model name same as property name
* @alias module:model/Name
* @class
* @param name
* @param name {Integer}
*/
var exports = function(name) {
var _this = this;

View File

@ -52,8 +52,8 @@
* Constructs a new <code>Pet</code>.
* @alias module:model/Pet
* @class
* @param name
* @param photoUrls
* @param name {String}
* @param photoUrls {Array.<String>}
*/
var exports = function(name, photoUrls) {
var _this = this;