Skip to content

Commit

Permalink
Fix Elm generator for polymorphism (#78)
Browse files Browse the repository at this point in the history
  • Loading branch information
eriktim authored and wing328 committed May 17, 2018
1 parent 34db79b commit c522927
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{{classVarName}}Decoder : Decoder {{classname}}
{{classVarName}}Decoder =
{{#parent}}Decode.list {{vendorExtensions.x-decoder}}{{/parent}}{{^parent}}decode {{classname}}
decode {{classname}}
{{#allVars}}{{^discriminatorValue}} |> {{>fieldDecoder}}
{{/discriminatorValue}}{{/allVars}}{{/parent}}
{{/discriminatorValue}}{{/allVars}}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{{classVarName}}Encoder : {{classname}} -> Encode.Value
{{classVarName}}Encoder model =
{{#parent}}Encode.list (List.map {{vendorExtensions.x-encoder}} model){{/parent}}{{^parent}}Encode.object
Encode.object
{{#allVars}}
{{#-first}}[{{/-first}}{{^-first}},{{/-first}} {{>fieldEncoder}}
{{/allVars}}
]{{/parent}}
]
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import Maybe exposing (map, withDefault)
{{{description}}}
-}
{{/description}}
{{#isEnum}}{{>modelTypeUnion}}{{/isEnum}}{{^isEnum}}{{#hasChildren}}{{>modelTypeDiscriminator}}{{/hasChildren}}{{^hasChildren}}{{#isAlias}}{{>modelTypePrimitive}}{{/isAlias}}{{^isAlias}}{{>modelTypeAlias}}{{/isAlias}}{{/hasChildren}}{{/isEnum}}
{{#isEnum}}{{>modelTypeUnion}}{{/isEnum}}{{^isEnum}}{{#hasChildren}}{{>modelTypeDiscriminator}}{{/hasChildren}}{{^hasChildren}}{{#isAlias}}{{>modelTypePrimitive}}{{/isAlias}}{{^isAlias}}{{#isArrayModel}}{{>modelTypeArray}}{{/isArrayModel}}{{^isArrayModel}}{{>modelTypeAlias}}{{/isArrayModel}}{{/isAlias}}{{/hasChildren}}{{/isEnum}}
{{/model}}
{{^-last}}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@


type alias {{classname}} ={{#parent}} {{parent}}{{/parent}}{{^parent}}
type alias {{classname}} =
{ {{#vars}}{{^-first}} , {{/-first}}{{name}} : {{^required}}Maybe {{/required}}{{#isContainer}}(List {{/isContainer}}{{#isEnum}}{{nameInCamelCase}}{{/isEnum}}{{^isEnum}}{{datatype}}{{/isEnum}}{{#isContainer}}){{/isContainer}}
{{/vars}} }
{{#vars}}
Expand All @@ -10,7 +10,6 @@ type alias {{classname}} ={{#parent}} {{parent}}{{/parent}}{{^parent}}
{{>union}}
{{/isEnum}}
{{/vars}}
{{/parent}}


{{>aliasDecoder}}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
type alias {{classname}} =
{{parent}}


{{classVarName}}Decoder : Decoder {{classname}}
{{classVarName}}Decoder =
Decode.list {{vendorExtensions.x-decoder}}


{{classVarName}}Encoder : {{classname}} -> Encode.Value
{{classVarName}}Encoder model =
Encode.list (List.map {{vendorExtensions.x-encoder}} model)

0 comments on commit c522927

Please sign in to comment.