From 76d3cb5002df4cb8353754f26049dd463e41e080 Mon Sep 17 00:00:00 2001 From: ehyche Date: Thu, 30 Nov 2017 21:30:24 -0500 Subject: [PATCH] Swift4: Fix issue 6746 - problem with arrays of primitives (#7072) * Update samples using latest codegen and templates * Fix issue 6746 - problem with array models where array element type is a primitive --- .../src/main/resources/swift4/model.mustache | 2 +- .../src/test/resources/2_0/swift4Test.json | 22 +++++++++++++++++++ .../Swaggers/Models/ModelDoubleArray.swift | 12 ++++++++++ .../Swaggers/Models/ModelErrorInfoArray.swift | 12 ++++++++++ .../Swaggers/Models/ModelStringArray.swift | 12 ++++++++++ 5 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelDoubleArray.swift create mode 100644 samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelErrorInfoArray.swift create mode 100644 samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelStringArray.swift diff --git a/modules/swagger-codegen/src/main/resources/swift4/model.mustache b/modules/swagger-codegen/src/main/resources/swift4/model.mustache index 7c342ac3473d..eb51bc23d091 100644 --- a/modules/swagger-codegen/src/main/resources/swift4/model.mustache +++ b/modules/swagger-codegen/src/main/resources/swift4/model.mustache @@ -11,7 +11,7 @@ import Foundation /** {{description}} */{{/description}} {{#isArrayModel}} -public typealias {{classname}} = [{{arrayModelType}}] +public typealias {{classname}} = {{parent}} {{/isArrayModel}} {{^isArrayModel}} {{#isEnum}} diff --git a/modules/swagger-codegen/src/test/resources/2_0/swift4Test.json b/modules/swagger-codegen/src/test/resources/2_0/swift4Test.json index d9de56b3d1aa..8607cfc0463e 100644 --- a/modules/swagger-codegen/src/test/resources/2_0/swift4Test.json +++ b/modules/swagger-codegen/src/test/resources/2_0/swift4Test.json @@ -251,6 +251,28 @@ }, "description": "Example Error object" }, + "ModelStringArray": { + "type": "array", + "description": "This defines an array of strings.", + "items": { + "type": "string" + } + }, + "ModelDoubleArray": { + "type": "array", + "description": "This defines an array of doubles.", + "items": { + "type": "number", + "format": "double" + } + }, + "ModelErrorInfoArray": { + "type": "array", + "description": "This defines an array of ErrorInfo objects.", + "items": { + "$ref": "#/definitions/ErrorInfo" + } + }, "VariableNameTest": { "description": "This object contains property names which we know will be different from their variable name. Examples of this include snake case property names and property names which are Swift 4 reserved words.", "type": "object", diff --git a/samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelDoubleArray.swift b/samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelDoubleArray.swift new file mode 100644 index 000000000000..1f075b441dc5 --- /dev/null +++ b/samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelDoubleArray.swift @@ -0,0 +1,12 @@ +// +// ModelDoubleArray.swift +// +// Generated by swagger-codegen +// https://github.com/swagger-api/swagger-codegen +// + +import Foundation + + +/** This defines an array of doubles. */ +public typealias ModelDoubleArray = [Double] diff --git a/samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelErrorInfoArray.swift b/samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelErrorInfoArray.swift new file mode 100644 index 000000000000..f9a48fbab1b7 --- /dev/null +++ b/samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelErrorInfoArray.swift @@ -0,0 +1,12 @@ +// +// ModelErrorInfoArray.swift +// +// Generated by swagger-codegen +// https://github.com/swagger-api/swagger-codegen +// + +import Foundation + + +/** This defines an array of ErrorInfo objects. */ +public typealias ModelErrorInfoArray = [ErrorInfo] diff --git a/samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelStringArray.swift b/samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelStringArray.swift new file mode 100644 index 000000000000..1c588f2ab7c1 --- /dev/null +++ b/samples/client/test/swift4/default/TestClient/Classes/Swaggers/Models/ModelStringArray.swift @@ -0,0 +1,12 @@ +// +// ModelStringArray.swift +// +// Generated by swagger-codegen +// https://github.com/swagger-api/swagger-codegen +// + +import Foundation + + +/** This defines an array of strings. */ +public typealias ModelStringArray = [String]