From ae03a3689c0ba09b10b731eb649a9ca0f4f9cb86 Mon Sep 17 00:00:00 2001 From: Adam Keys Date: Thu, 3 Nov 2016 11:02:35 -0400 Subject: [PATCH 1/2] Add constructFromObject to Javascript enum generation. Generated code calls constructFromObject on enum types, but enum did not define the necessary function. Returns the value of the enum. --- .../Javascript/partial_model_enum_class.mustache | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/swagger-codegen/src/main/resources/Javascript/partial_model_enum_class.mustache b/modules/swagger-codegen/src/main/resources/Javascript/partial_model_enum_class.mustache index 9ad7e3d3a90..39d34639916 100644 --- a/modules/swagger-codegen/src/main/resources/Javascript/partial_model_enum_class.mustache +++ b/modules/swagger-codegen/src/main/resources/Javascript/partial_model_enum_class.mustache @@ -20,5 +20,14 @@ {{/allowableValues}} }; + /** + * Returns a {{classname}} enum value from a Javascript object name. + * @param {Object} data The plain JavaScript object containing the name of the enum value. + * @return {{=< >=}}{module:<#invokerPackage>/<#modelPackage>/}<={{ }}=> The enum {{classname}} value. + */ + exports.constructFromObject = function(object) { + return exports[object]; + } + return exports; })); From 90b98d5c0e4fe40bd7f7d63775d361727eb32a32 Mon Sep 17 00:00:00 2001 From: Adam Keys Date: Fri, 4 Nov 2016 09:50:13 -0400 Subject: [PATCH 2/2] Update Petstore JS API client --- .../petstore/javascript-promise/src/model/EnumClass.js | 9 +++++++++ .../client/petstore/javascript/src/model/EnumClass.js | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/samples/client/petstore/javascript-promise/src/model/EnumClass.js b/samples/client/petstore/javascript-promise/src/model/EnumClass.js index 941acefddb5..9b9884b5f4b 100644 --- a/samples/client/petstore/javascript-promise/src/model/EnumClass.js +++ b/samples/client/petstore/javascript-promise/src/model/EnumClass.js @@ -62,6 +62,15 @@ */ "(xyz)": "(xyz)" }; + /** + * Returns a EnumClass enum value from a Javascript object name. + * @param {Object} data The plain JavaScript object containing the name of the enum value. + * @return {module:model/EnumClass} The enum EnumClass value. + */ + exports.constructFromObject = function(object) { + return exports[object]; + } + return exports; })); diff --git a/samples/client/petstore/javascript/src/model/EnumClass.js b/samples/client/petstore/javascript/src/model/EnumClass.js index 941acefddb5..9b9884b5f4b 100644 --- a/samples/client/petstore/javascript/src/model/EnumClass.js +++ b/samples/client/petstore/javascript/src/model/EnumClass.js @@ -62,6 +62,15 @@ */ "(xyz)": "(xyz)" }; + /** + * Returns a EnumClass enum value from a Javascript object name. + * @param {Object} data The plain JavaScript object containing the name of the enum value. + * @return {module:model/EnumClass} The enum EnumClass value. + */ + exports.constructFromObject = function(object) { + return exports[object]; + } + return exports; }));