Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{{#isDateTime}}Api.Time.dateTimeDecoder{{/isDateTime}}{{#isDate}}Api.Time.dateDecoder{{/isDate}}{{#isByteArray}}Json.Decode.string{{/isByteArray}}{{#isBinary}}Json.Decode.string{{/isBinary}}{{#isString}}{{^isEnum}}{{^isUuid}}Json.Decode.string{{/isUuid}}{{/isEnum}}{{/isString}}{{#isInteger}}Json.Decode.int{{/isInteger}}{{#isLong}}Json.Decode.int{{/isLong}}{{#isNumber}}Json.Decode.float{{/isNumber}}{{#isFloat}}Json.Decode.float{{/isFloat}}{{#isDouble}}Json.Decode.float{{/isDouble}}{{#isBoolean}}Json.Decode.bool{{/isBoolean}}{{#isUuid}}Uuid.decoder{{/isUuid}}{{#isModel}}{{#isDefault}}Api.Data.{{/isDefault}}{{#lambda.camelcase}}{{#isEnum}}{{classname}}{{enumName}}{{/isEnum}}{{^isEnum}}{{dataType}}{{/isEnum}}{{/lambda.camelcase}}Decoder{{/isModel}}
{{#isDateTime}}Api.Time.dateTimeDecoder{{/isDateTime}}{{#isDate}}Api.Time.dateDecoder{{/isDate}}{{#isByteArray}}Json.Decode.string{{/isByteArray}}{{#isBinary}}Json.Decode.string{{/isBinary}}{{#isString}}{{^isEnum}}{{^isUuid}}Json.Decode.string{{/isUuid}}{{/isEnum}}{{/isString}}{{#isInteger}}Json.Decode.int{{/isInteger}}{{#isLong}}Json.Decode.int{{/isLong}}{{#isNumber}}Json.Decode.float{{/isNumber}}{{#isFloat}}Json.Decode.float{{/isFloat}}{{#isDouble}}Json.Decode.float{{/isDouble}}{{#isBoolean}}Json.Decode.bool{{/isBoolean}}{{#isUuid}}Uuid.decoder{{/isUuid}}{{^isString}}{{^isNumeric}}{{^isBoolean}}{{#isDefault}}Api.Data.{{/isDefault}}{{#lambda.camelcase}}{{#isEnum}}{{classname}}{{enumName}}{{/isEnum}}{{^isEnum}}{{dataType}}{{/isEnum}}{{/lambda.camelcase}}Decoder{{/isBoolean}}{{/isNumeric}}{{/isString}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{{#isDateTime}}Api.Time.encodeDateTime{{/isDateTime}}{{#isDate}}Api.Time.encodeDate{{/isDate}}{{#isByteArray}}Json.Encode.string{{/isByteArray}}{{#isBinary}}Json.Decode.string{{/isBinary}}{{#isString}}{{^isEnum}}{{^isUuid}}Json.Encode.string{{/isUuid}}{{/isEnum}}{{/isString}}{{#isInteger}}Json.Encode.int{{/isInteger}}{{#isLong}}Json.Encode.int{{/isLong}}{{#isNumber}}Json.Encode.float{{/isNumber}}{{#isFloat}}Json.Encode.float{{/isFloat}}{{#isDouble}}Json.Encode.float{{/isDouble}}{{#isBoolean}}Json.Encode.bool{{/isBoolean}}{{#isUuid}}Uuid.encode{{/isUuid}}{{#isModel}}{{#lambda.camelcase}}encode{{#isEnum}}{{classname}}{{enumName}}{{/isEnum}}{{^isEnum}}{{dataType}}{{/isEnum}}{{/lambda.camelcase}}{{/isModel}}
{{#isDateTime}}Api.Time.encodeDateTime{{/isDateTime}}{{#isDate}}Api.Time.encodeDate{{/isDate}}{{#isByteArray}}Json.Encode.string{{/isByteArray}}{{#isBinary}}Json.Decode.string{{/isBinary}}{{#isString}}{{^isEnum}}{{^isUuid}}Json.Encode.string{{/isUuid}}{{/isEnum}}{{/isString}}{{#isInteger}}Json.Encode.int{{/isInteger}}{{#isLong}}Json.Encode.int{{/isLong}}{{#isNumber}}Json.Encode.float{{/isNumber}}{{#isFloat}}Json.Encode.float{{/isFloat}}{{#isDouble}}Json.Encode.float{{/isDouble}}{{#isBoolean}}Json.Encode.bool{{/isBoolean}}{{#isUuid}}Uuid.encode{{/isUuid}}{{^isString}}{{^isNumeric}}{{^isBoolean}}{{#lambda.camelcase}}encode{{#isEnum}}{{classname}}{{enumName}}{{/isEnum}}{{^isEnum}}{{dataType}}{{/isEnum}}{{/lambda.camelcase}}{{/isBoolean}}{{/isNumeric}}{{/isString}}
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@ import Uuid exposing (Uuid){{/includeUuid}}
-}
{{/notes}}
{{operationId}} : {{#allParams}}{{^required}}Maybe {{/required}}{{#isListContainer}}List {{/isListContainer}}{{#datatypeWithEnum}}{{.}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{#isModel}}Api.Data.{{/isModel}}{{dataType}}{{/datatypeWithEnum}} -> {{/allParams}}Api.Request {{^responses}}(){{/responses}}{{#responses}}{{#-first}}{{^dataType}}(){{/dataType}}{{#isMapContainer}}(Dict.Dict String {{/isMapContainer}}{{#isListContainer}}(List {{/isListContainer}}{{^primitiveType}}Api.Data.{{/primitiveType}}{{#items}}{{#isModel}}Api.Data.{{/isModel}}{{/items}}{{dataType}}{{#isListContainer}}){{/isListContainer}}{{#isMapContainer}}){{/isMapContainer}}{{/-first}}{{/responses}}
{{operationId}}{{#allParams}} {{paramName}}{{/allParams}} =
{{operationId}}{{#allParams}} {{>paramName}}{{/allParams}} =
Api.request
"{{httpMethod}}"
"{{path}}"
[{{#pathParams}} ( "{{paramName}}", {{>paramToString}} {{paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/pathParams}}]
[{{#queryParams}} ( "{{baseName}}", {{#required}}Just <| {{/required}}{{^required}}Maybe.map {{/required}}{{>paramToString}} {{paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/queryParams}}]
[{{#headerParams}} ( "{{baseName}}", {{#required}}Just <| {{/required}}{{^required}}Maybe.map {{/required}}{{>paramToString}} {{paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/headerParams}}]
{{#bodyParam}}({{#required}}Just ({{/required}}{{^required}}Maybe.map {{/required}}{{#isModel}}Api.Data.{{/isModel}}{{>recordFieldValueEncoder}} {{paramName}}{{#required}}){{/required}}){{/bodyParam}}{{^bodyParam}}Nothing{{/bodyParam}}
[{{#pathParams}} ( "{{paramName}}", {{>paramToString}} {{>paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/pathParams}}]
[{{#queryParams}} ( "{{baseName}}", {{#required}}Just <| {{/required}}{{^required}}Maybe.map {{/required}}{{>paramToString}} {{>paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/queryParams}}]
[{{#headerParams}} ( "{{baseName}}", {{#required}}Just <| {{/required}}{{^required}}Maybe.map {{/required}}{{>paramToString}} {{>paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/headerParams}}]
{{#bodyParam}}({{#required}}Just ({{/required}}{{^required}}Maybe.map {{/required}}{{#isModel}}Api.Data.{{/isModel}}{{>recordFieldValueEncoder}} {{>paramName}}{{#required}}){{/required}}){{/bodyParam}}{{^bodyParam}}Nothing{{/bodyParam}}
{{^responses}}(Json.Decode.succeed ()){{/responses}}{{#responses}}{{#isDefault}}{{^dataType}}(Json.Decode.succeed ()){{/dataType}}{{#dataType}}{{>recordFieldValueDecoder}}{{/dataType}}{{/isDefault}}{{/responses}}
{{/operation}}{{/operations}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{paramName}}{{#isPathParam}}_path{{/isPathParam}}{{#isQueryParam}}_query{{/isQueryParam}}{{#isHeaderParam}}_header{{/isHeaderParam}}{{#isBodyParam}}_body{{/isBodyParam}}
9 changes: 8 additions & 1 deletion modules/openapi-generator/src/test/resources/3_0/elm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,14 @@ components:
type: array
items:
type: string
arrayOfPrimitve:
type: array
items:
$ref: "#/components/schemas/Primitive"
arrayOfEnum:
type: array
items:
$ref: "#/components/schemas/Enum"
Composed:
description: Composed model
allOf:
Expand Down Expand Up @@ -254,4 +262,3 @@ components:
type: string
in_the_middle:
type: string

6 changes: 6 additions & 0 deletions samples/openapi3/client/elm/src/Api/Data.elm
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ type alias Absent =
type alias Array =
{ array : List (String)
, arrayOfArray : List (List (String))
, arrayOfPrimitve : Maybe (List (Primitive))
, arrayOfEnum : Maybe (List (Enum))
}


Expand Down Expand Up @@ -293,6 +295,8 @@ encodeArrayPairs model =
pairs =
[ encode "array" (Json.Encode.list Json.Encode.string) model.array
, encode "arrayOfArray" (Json.Encode.list (Json.Encode.list Json.Encode.string)) model.arrayOfArray
, maybeEncode "arrayOfPrimitve" (Json.Encode.list encodePrimitive) model.arrayOfPrimitve
, maybeEncode "arrayOfEnum" (Json.Encode.list encodeEnum) model.arrayOfEnum
]
in
pairs
Expand Down Expand Up @@ -640,6 +644,8 @@ arrayDecoder =
Json.Decode.succeed Array
|> decode "array" (Json.Decode.list Json.Decode.string)
|> decode "arrayOfArray" (Json.Decode.list (Json.Decode.list Json.Decode.string))
|> maybeDecode "arrayOfPrimitve" (Json.Decode.list primitiveDecoder) Nothing
|> maybeDecode "arrayOfEnum" (Json.Decode.list enumDecoder) Nothing


composedDecoder : Json.Decode.Decoder Composed
Expand Down
12 changes: 6 additions & 6 deletions samples/openapi3/client/elm/src/Api/Request/Default.elm
Original file line number Diff line number Diff line change
Expand Up @@ -109,13 +109,13 @@ stringFromEnum model =


headerPost : String -> Maybe Int -> Maybe HeaderType -> Api.Request String
headerPost string integer headerType =
headerPost string_header integer_header headerType_header =
Api.request
"POST"
"/header"
[]
[]
[ ( "string", Just <| identity string ), ( "integer", Maybe.map String.fromInt integer ), ( "headerType", Maybe.map stringFromHeaderType headerType ) ]
[ ( "string", Just <| identity string_header ), ( "integer", Maybe.map String.fromInt integer_header ), ( "headerType", Maybe.map stringFromHeaderType headerType_header ) ]
Nothing
Json.Decode.string

Expand All @@ -135,11 +135,11 @@ maybeGet =


pathStringIntegerEnumerationGet : String -> Int -> Enumeration -> Api.Request ()
pathStringIntegerEnumerationGet string integer enumeration =
pathStringIntegerEnumerationGet string_path integer_path enumeration_path =
Api.request
"GET"
"/path/{string}/{integer}/{enumeration}"
[ ( "string", identity string ), ( "integer", String.fromInt integer ), ( "enumeration", stringFromEnumeration enumeration ) ]
[ ( "string", identity string_path ), ( "integer", String.fromInt integer_path ), ( "enumeration", stringFromEnumeration enumeration_path ) ]
[]
[]
Nothing
Expand All @@ -148,12 +148,12 @@ pathStringIntegerEnumerationGet string integer enumeration =


queryGet : Maybe String -> Maybe Int -> Maybe Enum -> Api.Request ()
queryGet string int enum =
queryGet string_query int_query enum_query =
Api.request
"GET"
"/query"
[]
[ ( "string", Maybe.map identity string ), ( "int", Maybe.map String.fromInt int ), ( "enum", Maybe.map stringFromEnum enum ) ]
[ ( "string", Maybe.map identity string_query ), ( "int", Maybe.map String.fromInt int_query ), ( "enum", Maybe.map stringFromEnum enum_query ) ]
[]
Nothing
(Json.Decode.succeed ())
4 changes: 2 additions & 2 deletions samples/openapi3/client/elm/src/Api/Request/Primitive.elm
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ import Json.Encode


update : Api.Data.Primitive -> Api.Request Api.Data.Primitive
update primitive =
update primitive_body =
Api.request
"POST"
"/data"
[]
[]
[]
(Just (Api.Data.encodePrimitive primitive))
(Just (Api.Data.encodePrimitive primitive_body))
Api.Data.primitiveDecoder