diff --git a/modules/swagger-codegen/src/main/resources/Javascript/model.mustache b/modules/swagger-codegen/src/main/resources/Javascript/model.mustache
index 11b9ec74e0b..db480f05b1d 100644
--- a/modules/swagger-codegen/src/main/resources/Javascript/model.mustache
+++ b/modules/swagger-codegen/src/main/resources/Javascript/model.mustache
@@ -15,91 +15,6 @@
}(this, function(ApiClient{{#imports}}, {{import}}{{/imports}}) {
'use strict';
-{{#models}}{{#model}}{{#emitJSDoc}} /**
- * The {{classname}} model module.
- * @module {{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{classname}}
- * @version {{projectVersion}}
- */
-
- /**
- * Constructs a new {{classname}}
.{{#description}}
- * {{description}}{{/description}}
- * @alias module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{classname}}
- * @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}}
- */
-{{/emitJSDoc}} var exports = function({{#vendorExtensions.x-all-required}}{{.}}{{^-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}});
-{{/interfaceModels}}{{/useInheritance}}{{#vars}}{{#required}} _this['{{baseName}}'] = {{name}};{{/required}}
-{{/vars}}{{#parent}}{{^parentModel}} return _this;
-{{/parentModel}}{{/parent}} };
-
-{{#emitJSDoc}} /**
- * Constructs a {{classname}}
from a plain JavaScript object, optionally creating a new instance.
- * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
- * @param {Object} data The plain JavaScript object bearing properties of interest.
- * @param {{=< >=}}{module:<#invokerPackage>/<#modelPackage>/}<={{ }}=> obj Optional instance to populate.
- * @return {{=< >=}}{module:<#invokerPackage>/<#modelPackage>/}<={{ }}=> The populated {{classname}}
instance.
- */
-{{/emitJSDoc}} exports.constructFromObject = function(data, obj) {
- if (data){{! TODO: support polymorphism: discriminator property on data determines class to instantiate.}} {
- obj = obj || new exports();
-{{#parent}}{{^parentModel}} ApiClient.constructFromObject(data, obj, {{vendorExtensions.x-itemType}});
-{{/parentModel}}{{/parent}}{{#useInheritance}}{{#parentModel}} {{classname}}.constructFromObject(data, obj);{{/parentModel}}
-{{#interfaces}} {{.}}.constructFromObject(data, obj);
-{{/interfaces}}{{/useInheritance}}{{#vars}} if (data.hasOwnProperty('{{baseName}}')) {
- obj['{{baseName}}']{{{defaultValueWithParam}}}
- }
-{{/vars}} }
- return obj;
- }
-{{#useInheritance}}{{#parentModel}}
- exports.prototype = Object.create({{classname}}.prototype);
- exports.prototype.constructor = exports;
-{{/parentModel}}{{/useInheritance}}
-{{#vars}}{{#emitJSDoc}}
- /**{{#description}}
- * {{{description}}}{{/description}}
- * @member {{{vendorExtensions.x-jsdoc-type}}} {{baseName}}{{#defaultValue}}
- * @default {{{defaultValue}}}{{/defaultValue}}
- */
-{{/emitJSDoc}} exports.prototype['{{baseName}}'] = {{#defaultValue}}{{{defaultValue}}}{{/defaultValue}}{{^defaultValue}}undefined{{/defaultValue}};
-{{/vars}}{{#useInheritance}}{{#interfaceModels}}
- // Implement {{classname}} interface:{{#allVars}}{{#emitJSDoc}}
- /**{{#description}}
- * {{{description}}}{{/description}}
- * @member {{{vendorExtensions.x-jsdoc-type}}} {{baseName}}{{#defaultValue}}
- * @default {{{defaultValue}}}{{/defaultValue}}
- */
-{{/emitJSDoc}} exports.prototype['{{baseName}}'] = {{#defaultValue}}{{{defaultValue}}}{{/defaultValue}}{{^defaultValue}}undefined{{/defaultValue}};
-{{/allVars}}{{/interfaceModels}}{{/useInheritance}}
-{{#emitModelMethods}}{{#vars}}{{#emitJSDoc}} /**{{#description}}
- * Returns {{{description}}}{{/description}}{{#minimum}}
- * minimum: {{minimum}}{{/minimum}}{{#maximum}}
- * maximum: {{maximum}}{{/maximum}}
- * @return {{{vendorExtensions.x-jsdoc-type}}}
- */
-{{/emitJSDoc}} exports.prototype.{{getter}} = function() {
- return this['{{baseName}}'];
- }
-
-{{#emitJSDoc}} /**{{#description}}
- * Sets {{{description}}}{{/description}}
- * @param {{{vendorExtensions.x-jsdoc-type}}} {{name}}{{#description}} {{{description}}}{{/description}}
- */
-{{/emitJSDoc}} exports.prototype.{{setter}} = function({{name}}) {
- this['{{baseName}}'] = {{name}};
- }
-
-{{/vars}}{{/emitModelMethods}}
-{{#vars}}{{#isEnum}}{{>enumClass}}{{/isEnum}}{{#items.isEnum}}{{#items}}
-{{>enumClass}}{{/items}}*/{{/items.isEnum}}{{/vars}}
-
- return exports;
-{{/model}}{{/models}}}));
+{{#models}}{{#model}}
+{{#isEnum}}{{>partial_model_enum_class}}{{/isEnum}}{{^isEnum}}{{>partial_model_generic}}{{/isEnum}}
+{{/model}}{{/models}}
diff --git a/samples/client/petstore/javascript/README.md b/samples/client/petstore/javascript/README.md
index 9c0393eb502..651e1e6047f 100644
--- a/samples/client/petstore/javascript/README.md
+++ b/samples/client/petstore/javascript/README.md
@@ -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-05-02T23:24:54.621+08:00
+- Build date: 2016-05-03T11:05:41.851+08:00
- Build package: class io.swagger.codegen.languages.JavascriptClientCodegen
## Installation
diff --git a/samples/client/petstore/javascript/src/model/Animal.js b/samples/client/petstore/javascript/src/model/Animal.js
index 591b2530758..e42874c669b 100644
--- a/samples/client/petstore/javascript/src/model/Animal.js
+++ b/samples/client/petstore/javascript/src/model/Animal.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The Animal model module.
* @module model/Animal
@@ -51,7 +54,6 @@
return obj;
}
-
/**
* @member {String} className
*/
@@ -62,3 +64,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/ApiResponse.js b/samples/client/petstore/javascript/src/model/ApiResponse.js
index 6d03d2767db..6d4c970264b 100644
--- a/samples/client/petstore/javascript/src/model/ApiResponse.js
+++ b/samples/client/petstore/javascript/src/model/ApiResponse.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The ApiResponse model module.
* @module model/ApiResponse
@@ -58,17 +61,14 @@
return obj;
}
-
/**
* @member {Integer} code
*/
exports.prototype['code'] = undefined;
-
/**
* @member {String} type
*/
exports.prototype['type'] = undefined;
-
/**
* @member {String} message
*/
@@ -79,3 +79,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/Cat.js b/samples/client/petstore/javascript/src/model/Cat.js
index 9a19820832a..a6b25bc6d58 100644
--- a/samples/client/petstore/javascript/src/model/Cat.js
+++ b/samples/client/petstore/javascript/src/model/Cat.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient, Animal) {
'use strict';
+
+
+
/**
* The Cat model module.
* @module model/Cat
@@ -55,7 +58,6 @@
exports.prototype = Object.create(Animal.prototype);
exports.prototype.constructor = exports;
-
/**
* @member {Boolean} declawed
*/
@@ -66,3 +68,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/Category.js b/samples/client/petstore/javascript/src/model/Category.js
index 9956525e037..9e2e19ac5bb 100644
--- a/samples/client/petstore/javascript/src/model/Category.js
+++ b/samples/client/petstore/javascript/src/model/Category.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The Category model module.
* @module model/Category
@@ -54,12 +57,10 @@
return obj;
}
-
/**
* @member {Integer} id
*/
exports.prototype['id'] = undefined;
-
/**
* @member {String} name
*/
@@ -70,3 +71,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/Dog.js b/samples/client/petstore/javascript/src/model/Dog.js
index 2ec22654277..ee17ae3467f 100644
--- a/samples/client/petstore/javascript/src/model/Dog.js
+++ b/samples/client/petstore/javascript/src/model/Dog.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient, Animal) {
'use strict';
+
+
+
/**
* The Dog model module.
* @module model/Dog
@@ -55,7 +58,6 @@
exports.prototype = Object.create(Animal.prototype);
exports.prototype.constructor = exports;
-
/**
* @member {String} breed
*/
@@ -66,3 +68,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/EnumClass.js b/samples/client/petstore/javascript/src/model/EnumClass.js
index 2b26b447e8e..2ff3398113a 100644
--- a/samples/client/petstore/javascript/src/model/EnumClass.js
+++ b/samples/client/petstore/javascript/src/model/EnumClass.js
@@ -15,40 +15,30 @@
}(this, function(ApiClient) {
'use strict';
- /**
- * The EnumClass model module.
- * @module model/EnumClass
- * @version 1.0.0
- */
/**
- * Constructs a new EnumClass
.
- * @alias module:model/EnumClass
- * @class
+ * Enum class EnumClass.
+ * @enum {}
+ * @readonly
*/
- var exports = function() {
- var _this = this;
-
- };
-
- /**
- * Constructs a EnumClass
from a plain JavaScript object, optionally creating a new instance.
- * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
- * @param {Object} data The plain JavaScript object bearing properties of interest.
- * @param {module:model/EnumClass} obj Optional instance to populate.
- * @return {module:model/EnumClass} The populated EnumClass
instance.
- */
- exports.constructFromObject = function(data, obj) {
- if (data) {
- obj = obj || new exports();
-
- }
- return obj;
- }
-
-
-
-
+ exports.EnumClass = {
+ /**
+ * value: _abc
+ * @const
+ */
+ "_abc": "_abc",
+ /**
+ * value: -efg
+ * @const
+ */
+ "-efg": "-efg",
+ /**
+ * value: (xyz)
+ * @const
+ */
+ "(xyz)": "(xyz)" };
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/EnumTest.js b/samples/client/petstore/javascript/src/model/EnumTest.js
index d4f6923dae2..6f8f0de3836 100644
--- a/samples/client/petstore/javascript/src/model/EnumTest.js
+++ b/samples/client/petstore/javascript/src/model/EnumTest.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The EnumTest model module.
* @module model/EnumTest
@@ -58,17 +61,14 @@
return obj;
}
-
/**
* @member {module:model/EnumTest.EnumStringEnum} enum_string
*/
exports.prototype['enum_string'] = undefined;
-
/**
* @member {module:model/EnumTest.EnumIntegerEnum} enum_integer
*/
exports.prototype['enum_integer'] = undefined;
-
/**
* @member {module:model/EnumTest.EnumNumberEnum} enum_number
*/
@@ -127,3 +127,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/FormatTest.js b/samples/client/petstore/javascript/src/model/FormatTest.js
index 8f3a531bad5..ed9e0cfcaf8 100644
--- a/samples/client/petstore/javascript/src/model/FormatTest.js
+++ b/samples/client/petstore/javascript/src/model/FormatTest.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The FormatTest model module.
* @module model/FormatTest
@@ -102,67 +105,54 @@
return obj;
}
-
/**
* @member {Integer} integer
*/
exports.prototype['integer'] = undefined;
-
/**
* @member {Integer} int32
*/
exports.prototype['int32'] = undefined;
-
/**
* @member {Integer} int64
*/
exports.prototype['int64'] = undefined;
-
/**
* @member {Number} number
*/
exports.prototype['number'] = undefined;
-
/**
* @member {Number} float
*/
exports.prototype['float'] = undefined;
-
/**
* @member {Number} double
*/
exports.prototype['double'] = undefined;
-
/**
* @member {String} string
*/
exports.prototype['string'] = undefined;
-
/**
* @member {String} byte
*/
exports.prototype['byte'] = undefined;
-
/**
* @member {String} binary
*/
exports.prototype['binary'] = undefined;
-
/**
* @member {Date} date
*/
exports.prototype['date'] = undefined;
-
/**
* @member {Date} dateTime
*/
exports.prototype['dateTime'] = undefined;
-
/**
* @member {String} uuid
*/
exports.prototype['uuid'] = undefined;
-
/**
* @member {String} password
*/
@@ -173,3 +163,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/Model200Response.js b/samples/client/petstore/javascript/src/model/Model200Response.js
index 908e264fe22..1d83d420287 100644
--- a/samples/client/petstore/javascript/src/model/Model200Response.js
+++ b/samples/client/petstore/javascript/src/model/Model200Response.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The Model200Response model module.
* @module model/Model200Response
@@ -51,7 +54,6 @@
return obj;
}
-
/**
* @member {Integer} name
*/
@@ -62,3 +64,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/ModelReturn.js b/samples/client/petstore/javascript/src/model/ModelReturn.js
index 156ee977eee..d0236e77b17 100644
--- a/samples/client/petstore/javascript/src/model/ModelReturn.js
+++ b/samples/client/petstore/javascript/src/model/ModelReturn.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The ModelReturn model module.
* @module model/ModelReturn
@@ -51,7 +54,6 @@
return obj;
}
-
/**
* @member {Integer} return
*/
@@ -62,3 +64,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/Name.js b/samples/client/petstore/javascript/src/model/Name.js
index 63616e26d29..93d1d55deb2 100644
--- a/samples/client/petstore/javascript/src/model/Name.js
+++ b/samples/client/petstore/javascript/src/model/Name.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The Name model module.
* @module model/Name
@@ -60,17 +63,14 @@
return obj;
}
-
/**
* @member {Integer} name
*/
exports.prototype['name'] = undefined;
-
/**
* @member {Integer} snake_case
*/
exports.prototype['snake_case'] = undefined;
-
/**
* @member {String} property
*/
@@ -81,3 +81,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/Order.js b/samples/client/petstore/javascript/src/model/Order.js
index f5c2ee1f4e0..57f77d84ccd 100644
--- a/samples/client/petstore/javascript/src/model/Order.js
+++ b/samples/client/petstore/javascript/src/model/Order.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The Order model module.
* @module model/Order
@@ -70,33 +73,27 @@
return obj;
}
-
/**
* @member {Integer} id
*/
exports.prototype['id'] = undefined;
-
/**
* @member {Integer} petId
*/
exports.prototype['petId'] = undefined;
-
/**
* @member {Integer} quantity
*/
exports.prototype['quantity'] = undefined;
-
/**
* @member {Date} shipDate
*/
exports.prototype['shipDate'] = undefined;
-
/**
* Order Status
* @member {module:model/Order.StatusEnum} status
*/
exports.prototype['status'] = undefined;
-
/**
* @member {Boolean} complete
* @default false
@@ -129,3 +126,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/Pet.js b/samples/client/petstore/javascript/src/model/Pet.js
index c4f68d17eca..fe14361dbf2 100644
--- a/samples/client/petstore/javascript/src/model/Pet.js
+++ b/samples/client/petstore/javascript/src/model/Pet.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient, Category, Tag) {
'use strict';
+
+
+
/**
* The Pet model module.
* @module model/Pet
@@ -72,32 +75,26 @@
return obj;
}
-
/**
* @member {Integer} id
*/
exports.prototype['id'] = undefined;
-
/**
* @member {module:model/Category} category
*/
exports.prototype['category'] = undefined;
-
/**
* @member {String} name
*/
exports.prototype['name'] = undefined;
-
/**
* @member {Array.} photoUrls
*/
exports.prototype['photoUrls'] = undefined;
-
/**
* @member {Array.} tags
*/
exports.prototype['tags'] = undefined;
-
/**
* pet status in the store
* @member {module:model/Pet.StatusEnum} status
@@ -130,3 +127,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/SpecialModelName.js b/samples/client/petstore/javascript/src/model/SpecialModelName.js
index 3f0ef79cebf..d5a0e992a73 100644
--- a/samples/client/petstore/javascript/src/model/SpecialModelName.js
+++ b/samples/client/petstore/javascript/src/model/SpecialModelName.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The SpecialModelName model module.
* @module model/SpecialModelName
@@ -50,7 +53,6 @@
return obj;
}
-
/**
* @member {Integer} $special[property.name]
*/
@@ -61,3 +63,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/Tag.js b/samples/client/petstore/javascript/src/model/Tag.js
index d9ab35fb8b5..443d312b76a 100644
--- a/samples/client/petstore/javascript/src/model/Tag.js
+++ b/samples/client/petstore/javascript/src/model/Tag.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The Tag model module.
* @module model/Tag
@@ -54,12 +57,10 @@
return obj;
}
-
/**
* @member {Integer} id
*/
exports.prototype['id'] = undefined;
-
/**
* @member {String} name
*/
@@ -70,3 +71,5 @@
return exports;
}));
+
+
diff --git a/samples/client/petstore/javascript/src/model/User.js b/samples/client/petstore/javascript/src/model/User.js
index 3bc6aaab630..2360c7c6314 100644
--- a/samples/client/petstore/javascript/src/model/User.js
+++ b/samples/client/petstore/javascript/src/model/User.js
@@ -15,6 +15,9 @@
}(this, function(ApiClient) {
'use strict';
+
+
+
/**
* The User model module.
* @module model/User
@@ -78,42 +81,34 @@
return obj;
}
-
/**
* @member {Integer} id
*/
exports.prototype['id'] = undefined;
-
/**
* @member {String} username
*/
exports.prototype['username'] = undefined;
-
/**
* @member {String} firstName
*/
exports.prototype['firstName'] = undefined;
-
/**
* @member {String} lastName
*/
exports.prototype['lastName'] = undefined;
-
/**
* @member {String} email
*/
exports.prototype['email'] = undefined;
-
/**
* @member {String} password
*/
exports.prototype['password'] = undefined;
-
/**
* @member {String} phone
*/
exports.prototype['phone'] = undefined;
-
/**
* User Status
* @member {Integer} userStatus
@@ -125,3 +120,5 @@
return exports;
}));
+
+