diff --git a/modules/openapi-generator/src/main/resources/elm/aliasDecoder.mustache b/modules/openapi-generator/src/main/resources/elm/aliasDecoder.mustache index 1595b1fd440..9d98b5a1d0a 100644 --- a/modules/openapi-generator/src/main/resources/elm/aliasDecoder.mustache +++ b/modules/openapi-generator/src/main/resources/elm/aliasDecoder.mustache @@ -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}} \ No newline at end of file +{{/discriminatorValue}}{{/allVars}} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/elm/aliasEncoder.mustache b/modules/openapi-generator/src/main/resources/elm/aliasEncoder.mustache index 2c422499ff7..662453c3cec 100644 --- a/modules/openapi-generator/src/main/resources/elm/aliasEncoder.mustache +++ b/modules/openapi-generator/src/main/resources/elm/aliasEncoder.mustache @@ -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}} + ] diff --git a/modules/openapi-generator/src/main/resources/elm/model.mustache b/modules/openapi-generator/src/main/resources/elm/model.mustache index 255e6d3d09d..fa5418a8ee1 100644 --- a/modules/openapi-generator/src/main/resources/elm/model.mustache +++ b/modules/openapi-generator/src/main/resources/elm/model.mustache @@ -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}} diff --git a/modules/openapi-generator/src/main/resources/elm/modelTypeAlias.mustache b/modules/openapi-generator/src/main/resources/elm/modelTypeAlias.mustache index 9f604464d62..fb6427cf6d3 100644 --- a/modules/openapi-generator/src/main/resources/elm/modelTypeAlias.mustache +++ b/modules/openapi-generator/src/main/resources/elm/modelTypeAlias.mustache @@ -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}} @@ -10,7 +10,6 @@ type alias {{classname}} ={{#parent}} {{parent}}{{/parent}}{{^parent}} {{>union}} {{/isEnum}} {{/vars}} -{{/parent}} {{>aliasDecoder}} diff --git a/modules/openapi-generator/src/main/resources/elm/modelTypeArray.mustache b/modules/openapi-generator/src/main/resources/elm/modelTypeArray.mustache new file mode 100644 index 00000000000..7d3c6d437a4 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/elm/modelTypeArray.mustache @@ -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)