Skip to content

Commit

Permalink
Fix alias models w/ discriminators
Browse files Browse the repository at this point in the history
  • Loading branch information
eriktim committed Dec 19, 2017
1 parent 97f75aa commit 4b98355
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,7 @@ public int compare(CodegenModel cm1, CodegenModel cm2) {
}
if (cm.discriminator != null) {
for (CodegenModel child : cm.children) {
// add child imports
final ElmImport elmImport = new ElmImport();
final String modulePrefix = customPrimitives.contains(child.classname) ? "" : "Data.";
elmImport.moduleName = modulePrefix + child.classname;
Expand All @@ -256,7 +257,17 @@ public int compare(CodegenModel cm1, CodegenModel cm2) {
elmImport.exposures.add(child.classVarName + "Encoder");
elmImport.hasExposures = true;
elmImports.add(elmImport);

// set discriminator value to all children (recursively)
this.setDiscriminatorValue(child, cm.discriminator, this.getDiscriminatorValue(child));

// add all non-discriminator vars
int index = 0;
for (CodegenProperty property : cm.vars) {
if (!cm.discriminator.equals(property.baseName)) {
child.vars.add(index++, property);
}
}
}
}
inner.put("elmImports", elmImports);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@


type alias {{classname}} =
{ {{#allVars}}{{^discriminatorValue}}{{^-first}}{{#allVars.0}}{{^discriminatorValue}} , {{/discriminatorValue}}{{/allVars.0}}{{/-first}}{{name}} : {{^required}}Maybe {{/required}}{{#isContainer}}(List {{/isContainer}}{{#isEnum}}{{nameInCamelCase}}{{/isEnum}}{{^isEnum}}{{datatype}}{{/isEnum}}{{#isContainer}}){{/isContainer}}
{{/discriminatorValue}}{{/allVars}} }
{ {{#vars}}{{^-first}} , {{/-first}}{{name}} : {{^required}}Maybe {{/required}}{{#isContainer}}(List {{/isContainer}}{{#isEnum}}{{nameInCamelCase}}{{/isEnum}}{{^isEnum}}{{datatype}}{{/isEnum}}{{#isContainer}}){{/isContainer}}
{{/vars}} }
{{#vars}}
{{#isEnum}}

Expand Down

0 comments on commit 4b98355

Please sign in to comment.