Skip to content

Commit 8a8e943

Browse files
committed
Generate type annotations in JS model constructors
Fixes #3207
1 parent 40e4970 commit 8a8e943

File tree

18 files changed

+46
-46
lines changed

18 files changed

+46
-46
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -882,8 +882,8 @@ public Map<String, Object> postProcessModels(Map<String, Object> objs) {
882882
// Collect each model's required property names in *document order*.
883883
// NOTE: can't use 'mandatory' as it is built from ModelImpl.getRequired(), which sorts names
884884
// alphabetically and in any case the document order of 'required' and 'properties' can differ.
885-
List<String> required = new ArrayList<String>();
886-
List<String> allRequired = supportsInheritance ? new ArrayList<String>() : required;
885+
List<CodegenProperty> required = new ArrayList<>();
886+
List<CodegenProperty> allRequired = supportsInheritance ? new ArrayList<CodegenProperty>() : required;
887887
cm.vendorExtensions.put("x-required", required);
888888
cm.vendorExtensions.put("x-all-required", allRequired);
889889

@@ -893,14 +893,14 @@ public Map<String, Object> postProcessModels(Map<String, Object> objs) {
893893
var.vendorExtensions.put("x-jsdoc-type", jsDocType);
894894

895895
if (Boolean.TRUE.equals(var.required)) {
896-
required.add(var.name);
896+
required.add(var);
897897
}
898898
}
899899

900900
if (supportsInheritance) {
901901
for (CodegenProperty var : cm.allVars) {
902902
if (Boolean.TRUE.equals(var.required)) {
903-
allRequired.add(var.name);
903+
allRequired.add(var);
904904
}
905905
}
906906
}

modules/swagger-codegen/src/main/resources/Javascript/partial_model_generic.mustache

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
* @class{{#useInheritance}}{{#parent}}
1515
* @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}}
1616
* @implements module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{.}}{{/interfaces}}{{/useInheritance}}{{#vendorExtensions.x-all-required}}
17-
* @param {{.}}{{/vendorExtensions.x-all-required}}
17+
* @param {{name}} {{{vendorExtensions.x-jsdoc-type}}} {{#description}}{{{description}}}{{/description}}{{/vendorExtensions.x-all-required}}
1818
*/
1919
{{/emitJSDoc}}
20-
var exports = function({{#vendorExtensions.x-all-required}}{{.}}{{^-last}}, {{/-last}}{{/vendorExtensions.x-all-required}}) {
20+
var exports = function({{#vendorExtensions.x-all-required}}{{name}}{{^-last}}, {{/-last}}{{/vendorExtensions.x-all-required}}) {
2121
var _this = this;
2222
{{#parent}}{{^parentModel}}{{#vendorExtensions.x-isArray}} _this = new Array();
2323
Object.setPrototypeOf(_this, exports);
24-
{{/vendorExtensions.x-isArray}}{{/parentModel}}{{/parent}}{{#useInheritance}}{{#parentModel}} {{classname}}.call(_this{{#vendorExtensions.x-all-required}}, {{.}}{{/vendorExtensions.x-all-required}});{{/parentModel}}
25-
{{#interfaceModels}} {{classname}}.call(_this{{#vendorExtensions.x-all-required}}, {{.}}{{/vendorExtensions.x-all-required}});
24+
{{/vendorExtensions.x-isArray}}{{/parentModel}}{{/parent}}{{#useInheritance}}{{#parentModel}} {{classname}}.call(_this{{#vendorExtensions.x-all-required}}, {{name}}{{/vendorExtensions.x-all-required}});{{/parentModel}}
25+
{{#interfaceModels}} {{classname}}.call(_this{{#vendorExtensions.x-all-required}}, {{name}}{{/vendorExtensions.x-all-required}});
2626
{{/interfaceModels}}{{/useInheritance}}{{#vars}}{{#required}} _this['{{baseName}}'] = {{name}};{{/required}}
2727
{{/vars}}{{#parent}}{{^parentModel}} return _this;
2828
{{/parentModel}}{{/parent}} };

samples/client/petstore/javascript-promise/README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This SDK is automatically generated by the [Swagger Codegen](https://github.com/
66

77
- API version: 1.0.0
88
- Package version: 1.0.0
9-
- Build date: 2016-06-29T21:42:46.755+08:00
9+
- Build date: 2016-06-29T13:53:04.955-07:00
1010
- Build package: class io.swagger.codegen.languages.JavascriptClientCodegen
1111

1212
## Installation
@@ -131,12 +131,6 @@ Class | Method | HTTP request | Description
131131
## Documentation for Authorization
132132

133133

134-
### api_key
135-
136-
- **Type**: API key
137-
- **API key parameter name**: api_key
138-
- **Location**: HTTP header
139-
140134
### petstore_auth
141135

142136
- **Type**: OAuth
@@ -146,3 +140,9 @@ Class | Method | HTTP request | Description
146140
- write:pets: modify pets in your account
147141
- read:pets: read your pets
148142

143+
### api_key
144+
145+
- **Type**: API key
146+
- **API key parameter name**: api_key
147+
- **Location**: HTTP header
148+

samples/client/petstore/javascript-promise/src/ApiClient.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@
6464
* @type {Array.<String>}
6565
*/
6666
this.authentications = {
67-
'api_key': {type: 'apiKey', 'in': 'header', name: 'api_key'},
68-
'petstore_auth': {type: 'oauth2'}
67+
'petstore_auth': {type: 'oauth2'},
68+
'api_key': {type: 'apiKey', 'in': 'header', name: 'api_key'}
6969
};
7070
/**
7171
* The default HTTP headers to be included for all API calls.

samples/client/petstore/javascript-promise/src/model/Animal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
* Constructs a new <code>Animal</code>.
5353
* @alias module:model/Animal
5454
* @class
55-
* @param className
55+
* @param className {String}
5656
*/
5757
var exports = function(className) {
5858
var _this = this;

samples/client/petstore/javascript-promise/src/model/Cat.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
* @alias module:model/Cat
5454
* @class
5555
* @extends module:model/Animal
56-
* @param className
56+
* @param className {String}
5757
*/
5858
var exports = function(className) {
5959
var _this = this;

samples/client/petstore/javascript-promise/src/model/Dog.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
* @alias module:model/Dog
5454
* @class
5555
* @extends module:model/Animal
56-
* @param className
56+
* @param className {String}
5757
*/
5858
var exports = function(className) {
5959
var _this = this;

samples/client/petstore/javascript-promise/src/model/FormatTest.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@
5252
* Constructs a new <code>FormatTest</code>.
5353
* @alias module:model/FormatTest
5454
* @class
55-
* @param _number
56-
* @param _byte
57-
* @param _date
58-
* @param password
55+
* @param _number {Number}
56+
* @param _byte {String}
57+
* @param _date {Date}
58+
* @param password {String}
5959
*/
6060
var exports = function(_number, _byte, _date, password) {
6161
var _this = this;

samples/client/petstore/javascript-promise/src/model/Name.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
* Model for testing model name same as property name
5454
* @alias module:model/Name
5555
* @class
56-
* @param name
56+
* @param name {Integer}
5757
*/
5858
var exports = function(name) {
5959
var _this = this;

samples/client/petstore/javascript-promise/src/model/Pet.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@
5252
* Constructs a new <code>Pet</code>.
5353
* @alias module:model/Pet
5454
* @class
55-
* @param name
56-
* @param photoUrls
55+
* @param name {String}
56+
* @param photoUrls {Array.<String>}
5757
*/
5858
var exports = function(name, photoUrls) {
5959
var _this = this;

0 commit comments

Comments
 (0)