Skip to content

Commit 9157540

Browse files
committed
fixed javascript generation issue.
1 parent bc90330 commit 9157540

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -873,7 +873,7 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation
873873
public CodegenModel fromModel(String name, Model model, Map<String, Model> allDefinitions) {
874874
CodegenModel codegenModel = super.fromModel(name, model, allDefinitions);
875875

876-
if (allDefinitions != null && codegenModel != null && codegenModel.parent != null && codegenModel.hasEnums) {
876+
if (allDefinitions != null && codegenModel != null && codegenModel.parent != null && codegenModel.hasEnums && codegenModel.parentSchema != null) {
877877
final Model parentModel = allDefinitions.get(codegenModel.parentSchema);
878878
final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel, allDefinitions);
879879
codegenModel = JavascriptClientCodegen.reconcileInlineEnums(codegenModel, parentCodegenModel);
@@ -900,6 +900,13 @@ public CodegenModel fromModel(String name, Model model, Map<String, Model> allDe
900900
return codegenModel;
901901
}
902902

903+
@Override
904+
protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, ModelImpl swaggerModel) {
905+
if (swaggerModel.getAdditionalProperties() != null) {
906+
codegenModel.additionalPropertiesType = getSwaggerType(swaggerModel.getAdditionalProperties());
907+
}
908+
}
909+
903910
private String sanitizePath(String p) {
904911
//prefer replace a ', instead of a fuLL URL encode for readability
905912
return p.replaceAll("'", "%27");

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@
9595
exports.prototype.{{name}} = {{#defaultValue}}{{{defaultValue}}}{{/defaultValue}}{{^defaultValue}}undefined{{/defaultValue}};
9696

9797
{{/vars}}
98+
{{#additionalPropertiesType}}
99+
exports.prototype.additionalProperties = new Map();
100+
{{/additionalPropertiesType}}
101+
98102
{{#useInheritance}}
99103
{{#interfaceModels}}
100104
// Implement {{classname}} interface:

0 commit comments

Comments
 (0)