From 9472478b372b819a53553cecc34b4c7fbbd778c3 Mon Sep 17 00:00:00 2001
From: tasuwo <kamuhata.you@gmail.com>
Date: Thu, 14 Nov 2019 01:50:56 +0900
Subject: [PATCH 1/4] Convert not string enum default value to string by
 toString.

---
 .../org/openapitools/codegen/languages/Swift4Codegen.java   | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java
index da3b7078def..0de4c78402d 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java
@@ -555,7 +555,11 @@ public class Swift4Codegen extends DefaultCodegen implements CodegenConfig {
     public String toDefaultValue(Schema p) {
         if (p.getEnum() != null && !p.getEnum().isEmpty()) {
             if (p.getDefault() != null) {
-                return "." + escapeText((String) p.getDefault());
+                if (ModelUtils.isStringSchema(p)) {
+                    return "." + escapeText((String) p.getDefault());
+                } else {
+                    return "." + toEnumVarName(p.getDefault().toString(), p.getType());
+                }
             }
         }
         if (ModelUtils.isIntegerSchema(p) || ModelUtils.isNumberSchema(p) || ModelUtils.isBooleanSchema(p)) {
-- 
GitLab


From 02d21104abdf2200058dde42a73b9d1cbe1dd047 Mon Sep 17 00:00:00 2001
From: tasuwo <kamuhata.you@gmail.com>
Date: Thu, 14 Nov 2019 01:53:09 +0900
Subject: [PATCH 2/4] Add some test cases for enum's default value.

---
 .../codegen/swift4/Swift4ModelEnumTest.java   | 55 ++++++++++++++++++-
 1 file changed, 53 insertions(+), 2 deletions(-)

diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/swift4/Swift4ModelEnumTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/swift4/Swift4ModelEnumTest.java
index 9dc34cf3261..837ea2e8b78 100644
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/swift4/Swift4ModelEnumTest.java
+++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/swift4/Swift4ModelEnumTest.java
@@ -18,6 +18,8 @@
 package org.openapitools.codegen.swift4;
 
 import io.swagger.v3.oas.models.OpenAPI;
+import io.swagger.v3.oas.models.media.IntegerSchema;
+import io.swagger.v3.oas.models.media.NumberSchema;
 import io.swagger.v3.oas.models.media.Schema;
 import io.swagger.v3.oas.models.media.StringSchema;
 import org.openapitools.codegen.CodegenModel;
@@ -28,12 +30,13 @@ import org.openapitools.codegen.languages.Swift4Codegen;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
+import java.math.BigDecimal;
 import java.util.Arrays;
 
 @SuppressWarnings("static-method")
 public class Swift4ModelEnumTest {
-    @Test(description = "convert a java model with an enum and a default value")
-    public void converterTest() {
+    @Test(description = "convert a java model with an string enum and a default value")
+    public void convertStringDefaultValueTest() {
         final StringSchema enumSchema = new StringSchema();
         enumSchema.setEnum(Arrays.asList("VALUE1", "VALUE2", "VALUE3"));
         enumSchema.setDefault("VALUE2");
@@ -55,4 +58,52 @@ public class Swift4ModelEnumTest {
         Assert.assertEquals(enumVar.baseType, "String");
         Assert.assertTrue(enumVar.isEnum);
     }
+
+    @Test(description = "convert a java model with an integer enum and a default value")
+    public void convertIntegerDefaultValueTest() {
+        final IntegerSchema enumSchema = new IntegerSchema();
+        enumSchema.setEnum(Arrays.asList(1, 2, 3));
+        enumSchema.setDefault(2);
+        final Schema model = new Schema().type("object").addProperties("name", enumSchema);
+
+        final DefaultCodegen codegen = new Swift4Codegen();
+        OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("sample", model);
+        codegen.setOpenAPI(openAPI);
+        final CodegenModel cm = codegen.fromModel("sample", model);
+
+        Assert.assertEquals(cm.vars.size(), 1);
+
+        final CodegenProperty enumVar = cm.vars.get(0);
+        Assert.assertEquals(enumVar.baseName, "name");
+        Assert.assertEquals(enumVar.dataType, "Int");
+        Assert.assertEquals(enumVar.datatypeWithEnum, "Name");
+        Assert.assertEquals(enumVar.name, "name");
+        Assert.assertEquals(enumVar.defaultValue, "._2");
+        Assert.assertEquals(enumVar.baseType, "Int");
+        Assert.assertTrue(enumVar.isEnum);
+    }
+
+    @Test(description = "convert a java model with an number enum and a default value")
+    public void convertNumberDefaultValueTest() {
+        final NumberSchema enumSchema = new NumberSchema();
+        enumSchema.setEnum(Arrays.asList(new BigDecimal(10), new BigDecimal(100), new BigDecimal(1000)));
+        enumSchema.setDefault(new BigDecimal((100)));
+        final Schema model = new Schema().type("object").addProperties("name", enumSchema);
+
+        final DefaultCodegen codegen = new Swift4Codegen();
+        OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("sample", model);
+        codegen.setOpenAPI(openAPI);
+        final CodegenModel cm = codegen.fromModel("sample", model);
+
+        Assert.assertEquals(cm.vars.size(), 1);
+
+        final CodegenProperty enumVar = cm.vars.get(0);
+        Assert.assertEquals(enumVar.baseName, "name");
+        Assert.assertEquals(enumVar.dataType, "Double");
+        Assert.assertEquals(enumVar.datatypeWithEnum, "Name");
+        Assert.assertEquals(enumVar.name, "name");
+        Assert.assertEquals(enumVar.defaultValue, "._100");
+        Assert.assertEquals(enumVar.baseType, "Double");
+        Assert.assertTrue(enumVar.isEnum);
+    }
 }
-- 
GitLab


From 5852f75639f4659821d7dc98f58f832ba7faa6b3 Mon Sep 17 00:00:00 2001
From: tasuwo <kamuhata.you@gmail.com>
Date: Fri, 15 Nov 2019 00:57:12 +0900
Subject: [PATCH 3/4] Convert string default value to enum var name format.

---
 .../codegen/languages/Swift4Codegen.java      |  4 +--
 .../codegen/swift4/Swift4ModelEnumTest.java   | 26 ++++++++++++++++++-
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java
index 0de4c78402d..43c1ae6ec89 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java
@@ -556,9 +556,9 @@ public class Swift4Codegen extends DefaultCodegen implements CodegenConfig {
         if (p.getEnum() != null && !p.getEnum().isEmpty()) {
             if (p.getDefault() != null) {
                 if (ModelUtils.isStringSchema(p)) {
-                    return "." + escapeText((String) p.getDefault());
+                    return "." + toEnumVarName(escapeText((String) p.getDefault()), p.getType());
                 } else {
-                    return "." + toEnumVarName(p.getDefault().toString(), p.getType());
+                    return "." + toEnumVarName(escapeText(p.getDefault().toString()), p.getType());
                 }
             }
         }
diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/swift4/Swift4ModelEnumTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/swift4/Swift4ModelEnumTest.java
index 837ea2e8b78..7991c70d990 100644
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/swift4/Swift4ModelEnumTest.java
+++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/swift4/Swift4ModelEnumTest.java
@@ -54,7 +54,31 @@ public class Swift4ModelEnumTest {
         Assert.assertEquals(enumVar.dataType, "String");
         Assert.assertEquals(enumVar.datatypeWithEnum, "Name");
         Assert.assertEquals(enumVar.name, "name");
-        Assert.assertEquals(enumVar.defaultValue, ".VALUE2");
+        Assert.assertEquals(enumVar.defaultValue, ".value2");
+        Assert.assertEquals(enumVar.baseType, "String");
+        Assert.assertTrue(enumVar.isEnum);
+    }
+
+    @Test(description = "convert a java model with an reserved word string enum and a default value")
+    public void convertReservedWordStringDefaultValueTest() {
+        final StringSchema enumSchema = new StringSchema();
+        enumSchema.setEnum(Arrays.asList("1st", "2nd", "3rd"));
+        enumSchema.setDefault("2nd");
+        final Schema model = new Schema().type("object").addProperties("name", enumSchema);
+
+        final DefaultCodegen codegen = new Swift4Codegen();
+        OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("sample", model);
+        codegen.setOpenAPI(openAPI);
+        final CodegenModel cm = codegen.fromModel("sample", model);
+
+        Assert.assertEquals(cm.vars.size(), 1);
+
+        final CodegenProperty enumVar = cm.vars.get(0);
+        Assert.assertEquals(enumVar.baseName, "name");
+        Assert.assertEquals(enumVar.dataType, "String");
+        Assert.assertEquals(enumVar.datatypeWithEnum, "Name");
+        Assert.assertEquals(enumVar.name, "name");
+        Assert.assertEquals(enumVar.defaultValue, "._2nd");
         Assert.assertEquals(enumVar.baseType, "String");
         Assert.assertTrue(enumVar.isEnum);
     }
-- 
GitLab


From c32c125c7ff143ed70eb69ba44d18133eeadd921 Mon Sep 17 00:00:00 2001
From: William Cheng <wing328hk@gmail.com>
Date: Sat, 23 Nov 2019 11:49:46 +0800
Subject: [PATCH 4/4] sync master, update samples

---
 .../Classes/OpenAPIs/APIHelper.swift             |  6 +++---
 .../Classes/OpenAPIs/APIs/FakeAPI.swift          | 16 ++++++++--------
 .../petstore/swift4/default/docs/FakeAPI.md      | 16 ++++++++--------
 .../Classes/OpenAPIs/APIHelper.swift             |  6 +++---
 .../Classes/OpenAPIs/APIs/FakeAPI.swift          | 16 ++++++++--------
 .../swift4/objcCompatible/docs/FakeAPI.md        | 16 ++++++++--------
 .../swift4/promisekitLibrary/Package.swift       |  6 +++---
 .../Classes/OpenAPIs/APIHelper.swift             |  6 +++---
 .../Classes/OpenAPIs/APIs/FakeAPI.swift          | 16 ++++++++--------
 .../swift4/promisekitLibrary/docs/FakeAPI.md     | 16 ++++++++--------
 .../Classes/OpenAPIs/APIHelper.swift             |  6 +++---
 .../Classes/OpenAPIs/APIs/FakeAPI.swift          | 16 ++++++++--------
 .../swift4/rxswiftLibrary/docs/FakeAPI.md        | 16 ++++++++--------
 .../Classes/OpenAPIs/APIHelper.swift             |  6 +++---
 .../Classes/OpenAPIs/APIs/FakeAPI.swift          | 16 ++++++++--------
 .../swift4/unwrapRequired/docs/FakeAPI.md        | 16 ++++++++--------
 16 files changed, 98 insertions(+), 98 deletions(-)

diff --git a/samples/client/petstore/swift4/default/PetstoreClient/Classes/OpenAPIs/APIHelper.swift b/samples/client/petstore/swift4/default/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
index 20007009680..75dea243957 100644
--- a/samples/client/petstore/swift4/default/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
+++ b/samples/client/petstore/swift4/default/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
@@ -22,7 +22,7 @@ public struct APIHelper {
 
     public static func rejectNilHeaders(_ source: [String: Any?]) -> [String: String] {
         return source.reduce(into: [String: String]()) { (result, item) in
-            if let collection = item.value as? [Any?] {
+            if let collection = item.value as? Array<Any?> {
                 result[item.key] = collection.filter({ $0 != nil }).map { "\($0!)" }.joined(separator: ",")
             } else if let value: Any = item.value {
                 result[item.key] = "\(value)"
@@ -46,7 +46,7 @@ public struct APIHelper {
     }
 
     public static func mapValueToPathItem(_ source: Any) -> Any {
-        if let collection = source as? [Any?] {
+        if let collection = source as? Array<Any?> {
             return collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
         }
         return source
@@ -54,7 +54,7 @@ public struct APIHelper {
 
     public static func mapValuesToQueryItems(_ source: [String: Any?]) -> [URLQueryItem]? {
         let destination = source.filter({ $0.value != nil}).reduce(into: [URLQueryItem]()) { (result, item) in
-            if let collection = item.value as? [Any?] {
+            if let collection = item.value as? Array<Any?> {
                 let value = collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
                 result.append(URLQueryItem(name: item.key, value: value))
             } else if let value = item.value {
diff --git a/samples/client/petstore/swift4/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift4/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
index d1f658b08d8..e2b1c0d9c58 100644
--- a/samples/client/petstore/swift4/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
+++ b/samples/client/petstore/swift4/default/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
@@ -379,13 +379,13 @@ open class FakeAPI {
      To test enum parameters
      
      - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional)
-     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .-efg)
+     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional)
-     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .-efg)
+     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional)
      - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional)
-     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .$)
-     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .-efg)
+     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar)
+     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg)
      - parameter completion: completion handler to receive the data and the error objects
      */
     open class func testEnumParameters(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
@@ -403,13 +403,13 @@ open class FakeAPI {
      - GET /fake
      - To test enum parameters
      - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional)
-     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .-efg)
+     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional)
-     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .-efg)
+     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional)
      - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional)
-     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .$)
-     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .-efg)
+     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar)
+     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg)
      - returns: RequestBuilder<Void> 
      */
     open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder<Void> {
diff --git a/samples/client/petstore/swift4/default/docs/FakeAPI.md b/samples/client/petstore/swift4/default/docs/FakeAPI.md
index 18fbf8147d8..49d4d3fb6a1 100644
--- a/samples/client/petstore/swift4/default/docs/FakeAPI.md
+++ b/samples/client/petstore/swift4/default/docs/FakeAPI.md
@@ -453,13 +453,13 @@ To test enum parameters
 import PetstoreClient
 
 let enumHeaderStringArray = ["enumHeaderStringArray_example"] // [String] | Header parameter enum test (string array) (optional)
-let enumHeaderString = "enumHeaderString_example" // String | Header parameter enum test (string) (optional) (default to .-efg)
+let enumHeaderString = "enumHeaderString_example" // String | Header parameter enum test (string) (optional) (default to .efg)
 let enumQueryStringArray = ["enumQueryStringArray_example"] // [String] | Query parameter enum test (string array) (optional)
-let enumQueryString = "enumQueryString_example" // String | Query parameter enum test (string) (optional) (default to .-efg)
+let enumQueryString = "enumQueryString_example" // String | Query parameter enum test (string) (optional) (default to .efg)
 let enumQueryInteger = 987 // Int | Query parameter enum test (double) (optional)
 let enumQueryDouble = 987 // Double | Query parameter enum test (double) (optional)
-let enumFormStringArray = ["inner_example"] // [String] | Form parameter enum test (string array) (optional) (default to .$)
-let enumFormString = "enumFormString_example" // String | Form parameter enum test (string) (optional) (default to .-efg)
+let enumFormStringArray = ["inner_example"] // [String] | Form parameter enum test (string array) (optional) (default to .dollar)
+let enumFormString = "enumFormString_example" // String | Form parameter enum test (string) (optional) (default to .efg)
 
 // To test enum parameters
 FakeAPI.testEnumParameters(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString) { (response, error) in
@@ -479,13 +479,13 @@ FakeAPI.testEnumParameters(enumHeaderStringArray: enumHeaderStringArray, enumHea
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **enumHeaderStringArray** | [**[String]**](String.md) | Header parameter enum test (string array) | [optional] 
- **enumHeaderString** | **String** | Header parameter enum test (string) | [optional] [default to .-efg]
+ **enumHeaderString** | **String** | Header parameter enum test (string) | [optional] [default to .efg]
  **enumQueryStringArray** | [**[String]**](String.md) | Query parameter enum test (string array) | [optional] 
- **enumQueryString** | **String** | Query parameter enum test (string) | [optional] [default to .-efg]
+ **enumQueryString** | **String** | Query parameter enum test (string) | [optional] [default to .efg]
  **enumQueryInteger** | **Int** | Query parameter enum test (double) | [optional] 
  **enumQueryDouble** | **Double** | Query parameter enum test (double) | [optional] 
- **enumFormStringArray** | [**[String]**](String.md) | Form parameter enum test (string array) | [optional] [default to .$]
- **enumFormString** | **String** | Form parameter enum test (string) | [optional] [default to .-efg]
+ **enumFormStringArray** | [**[String]**](String.md) | Form parameter enum test (string array) | [optional] [default to .dollar]
+ **enumFormString** | **String** | Form parameter enum test (string) | [optional] [default to .efg]
 
 ### Return type
 
diff --git a/samples/client/petstore/swift4/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIHelper.swift b/samples/client/petstore/swift4/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
index 20007009680..75dea243957 100644
--- a/samples/client/petstore/swift4/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
+++ b/samples/client/petstore/swift4/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
@@ -22,7 +22,7 @@ public struct APIHelper {
 
     public static func rejectNilHeaders(_ source: [String: Any?]) -> [String: String] {
         return source.reduce(into: [String: String]()) { (result, item) in
-            if let collection = item.value as? [Any?] {
+            if let collection = item.value as? Array<Any?> {
                 result[item.key] = collection.filter({ $0 != nil }).map { "\($0!)" }.joined(separator: ",")
             } else if let value: Any = item.value {
                 result[item.key] = "\(value)"
@@ -46,7 +46,7 @@ public struct APIHelper {
     }
 
     public static func mapValueToPathItem(_ source: Any) -> Any {
-        if let collection = source as? [Any?] {
+        if let collection = source as? Array<Any?> {
             return collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
         }
         return source
@@ -54,7 +54,7 @@ public struct APIHelper {
 
     public static func mapValuesToQueryItems(_ source: [String: Any?]) -> [URLQueryItem]? {
         let destination = source.filter({ $0.value != nil}).reduce(into: [URLQueryItem]()) { (result, item) in
-            if let collection = item.value as? [Any?] {
+            if let collection = item.value as? Array<Any?> {
                 let value = collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
                 result.append(URLQueryItem(name: item.key, value: value))
             } else if let value = item.value {
diff --git a/samples/client/petstore/swift4/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift4/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
index d1f658b08d8..e2b1c0d9c58 100644
--- a/samples/client/petstore/swift4/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
+++ b/samples/client/petstore/swift4/objcCompatible/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
@@ -379,13 +379,13 @@ open class FakeAPI {
      To test enum parameters
      
      - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional)
-     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .-efg)
+     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional)
-     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .-efg)
+     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional)
      - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional)
-     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .$)
-     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .-efg)
+     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar)
+     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg)
      - parameter completion: completion handler to receive the data and the error objects
      */
     open class func testEnumParameters(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
@@ -403,13 +403,13 @@ open class FakeAPI {
      - GET /fake
      - To test enum parameters
      - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional)
-     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .-efg)
+     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional)
-     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .-efg)
+     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional)
      - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional)
-     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .$)
-     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .-efg)
+     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar)
+     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg)
      - returns: RequestBuilder<Void> 
      */
     open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder<Void> {
diff --git a/samples/client/petstore/swift4/objcCompatible/docs/FakeAPI.md b/samples/client/petstore/swift4/objcCompatible/docs/FakeAPI.md
index f90c5bbc98d..c7e27b881fd 100644
--- a/samples/client/petstore/swift4/objcCompatible/docs/FakeAPI.md
+++ b/samples/client/petstore/swift4/objcCompatible/docs/FakeAPI.md
@@ -453,13 +453,13 @@ To test enum parameters
 import PetstoreClient
 
 let enumHeaderStringArray = ["enumHeaderStringArray_example"] // [String] | Header parameter enum test (string array) (optional)
-let enumHeaderString = "enumHeaderString_example" // String | Header parameter enum test (string) (optional) (default to .-efg)
+let enumHeaderString = "enumHeaderString_example" // String | Header parameter enum test (string) (optional) (default to .efg)
 let enumQueryStringArray = ["enumQueryStringArray_example"] // [String] | Query parameter enum test (string array) (optional)
-let enumQueryString = "enumQueryString_example" // String | Query parameter enum test (string) (optional) (default to .-efg)
+let enumQueryString = "enumQueryString_example" // String | Query parameter enum test (string) (optional) (default to .efg)
 let enumQueryInteger = 987 // Int | Query parameter enum test (double) (optional)
 let enumQueryDouble = 987 // Double | Query parameter enum test (double) (optional)
-let enumFormStringArray = ["inner_example"] // [String] | Form parameter enum test (string array) (optional) (default to .$)
-let enumFormString = "enumFormString_example" // String | Form parameter enum test (string) (optional) (default to .-efg)
+let enumFormStringArray = ["inner_example"] // [String] | Form parameter enum test (string array) (optional) (default to .dollar)
+let enumFormString = "enumFormString_example" // String | Form parameter enum test (string) (optional) (default to .efg)
 
 // To test enum parameters
 FakeAPI.testEnumParameters(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString) { (response, error) in
@@ -479,13 +479,13 @@ FakeAPI.testEnumParameters(enumHeaderStringArray: enumHeaderStringArray, enumHea
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **enumHeaderStringArray** | [**[String]**](String.md) | Header parameter enum test (string array) | [optional] 
- **enumHeaderString** | **String** | Header parameter enum test (string) | [optional] [default to .-efg]
+ **enumHeaderString** | **String** | Header parameter enum test (string) | [optional] [default to .efg]
  **enumQueryStringArray** | [**[String]**](String.md) | Query parameter enum test (string array) | [optional] 
- **enumQueryString** | **String** | Query parameter enum test (string) | [optional] [default to .-efg]
+ **enumQueryString** | **String** | Query parameter enum test (string) | [optional] [default to .efg]
  **enumQueryInteger** | **Int** | Query parameter enum test (double) | [optional] 
  **enumQueryDouble** | **Double** | Query parameter enum test (double) | [optional] 
- **enumFormStringArray** | [**[String]**](String.md) | Form parameter enum test (string array) | [optional] [default to .$]
- **enumFormString** | **String** | Form parameter enum test (string) | [optional] [default to .-efg]
+ **enumFormStringArray** | [**[String]**](String.md) | Form parameter enum test (string array) | [optional] [default to .dollar]
+ **enumFormString** | **String** | Form parameter enum test (string) | [optional] [default to .efg]
 
 ### Return type
 
diff --git a/samples/client/petstore/swift4/promisekitLibrary/Package.swift b/samples/client/petstore/swift4/promisekitLibrary/Package.swift
index fbf22f5f823..7ba5c67b456 100644
--- a/samples/client/petstore/swift4/promisekitLibrary/Package.swift
+++ b/samples/client/petstore/swift4/promisekitLibrary/Package.swift
@@ -9,12 +9,12 @@ let package = Package(
         // Products define the executables and libraries produced by a package, and make them visible to other packages.
         .library(
             name: "PetstoreClient",
-            targets: ["PetstoreClient"]),
+            targets: ["PetstoreClient"])
     ],
     dependencies: [
         // Dependencies declare other packages that this package depends on.
         .package(url: "https://github.com/Alamofire/Alamofire.git", from: "4.9.0"),
-        .package(url: "https://github.com/mxcl/PromiseKit.git", from: "6.11.0"),
+        .package(url: "https://github.com/mxcl/PromiseKit.git", from: "6.11.0")
     ],
     targets: [
         // Targets are the basic building blocks of a package. A target can define a module or a test suite.
@@ -23,6 +23,6 @@ let package = Package(
             name: "PetstoreClient",
             dependencies: ["Alamofire", "PromiseKit"],
             path: "PetstoreClient/Classes"
-        ),
+        )
     ]
 )
diff --git a/samples/client/petstore/swift4/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIHelper.swift b/samples/client/petstore/swift4/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
index 20007009680..75dea243957 100644
--- a/samples/client/petstore/swift4/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
+++ b/samples/client/petstore/swift4/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
@@ -22,7 +22,7 @@ public struct APIHelper {
 
     public static func rejectNilHeaders(_ source: [String: Any?]) -> [String: String] {
         return source.reduce(into: [String: String]()) { (result, item) in
-            if let collection = item.value as? [Any?] {
+            if let collection = item.value as? Array<Any?> {
                 result[item.key] = collection.filter({ $0 != nil }).map { "\($0!)" }.joined(separator: ",")
             } else if let value: Any = item.value {
                 result[item.key] = "\(value)"
@@ -46,7 +46,7 @@ public struct APIHelper {
     }
 
     public static func mapValueToPathItem(_ source: Any) -> Any {
-        if let collection = source as? [Any?] {
+        if let collection = source as? Array<Any?> {
             return collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
         }
         return source
@@ -54,7 +54,7 @@ public struct APIHelper {
 
     public static func mapValuesToQueryItems(_ source: [String: Any?]) -> [URLQueryItem]? {
         let destination = source.filter({ $0.value != nil}).reduce(into: [URLQueryItem]()) { (result, item) in
-            if let collection = item.value as? [Any?] {
+            if let collection = item.value as? Array<Any?> {
                 let value = collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
                 result.append(URLQueryItem(name: item.key, value: value))
             } else if let value = item.value {
diff --git a/samples/client/petstore/swift4/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift4/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
index d5c10dc1187..106fcd274be 100644
--- a/samples/client/petstore/swift4/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
+++ b/samples/client/petstore/swift4/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
@@ -426,13 +426,13 @@ open class FakeAPI {
      To test enum parameters
      
      - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional)
-     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .-efg)
+     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional)
-     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .-efg)
+     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional)
      - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional)
-     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .$)
-     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .-efg)
+     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar)
+     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg)
      - returns: Promise<Void>
      */
     open class func testEnumParameters( enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> Promise<Void> {
@@ -452,13 +452,13 @@ open class FakeAPI {
      - GET /fake
      - To test enum parameters
      - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional)
-     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .-efg)
+     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional)
-     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .-efg)
+     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional)
      - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional)
-     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .$)
-     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .-efg)
+     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar)
+     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg)
      - returns: RequestBuilder<Void> 
      */
     open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder<Void> {
diff --git a/samples/client/petstore/swift4/promisekitLibrary/docs/FakeAPI.md b/samples/client/petstore/swift4/promisekitLibrary/docs/FakeAPI.md
index 15f8e5f9f69..bf8e514f03d 100644
--- a/samples/client/petstore/swift4/promisekitLibrary/docs/FakeAPI.md
+++ b/samples/client/petstore/swift4/promisekitLibrary/docs/FakeAPI.md
@@ -429,13 +429,13 @@ To test enum parameters
 import PetstoreClient
 
 let enumHeaderStringArray = ["enumHeaderStringArray_example"] // [String] | Header parameter enum test (string array) (optional)
-let enumHeaderString = "enumHeaderString_example" // String | Header parameter enum test (string) (optional) (default to .-efg)
+let enumHeaderString = "enumHeaderString_example" // String | Header parameter enum test (string) (optional) (default to .efg)
 let enumQueryStringArray = ["enumQueryStringArray_example"] // [String] | Query parameter enum test (string array) (optional)
-let enumQueryString = "enumQueryString_example" // String | Query parameter enum test (string) (optional) (default to .-efg)
+let enumQueryString = "enumQueryString_example" // String | Query parameter enum test (string) (optional) (default to .efg)
 let enumQueryInteger = 987 // Int | Query parameter enum test (double) (optional)
 let enumQueryDouble = 987 // Double | Query parameter enum test (double) (optional)
-let enumFormStringArray = ["inner_example"] // [String] | Form parameter enum test (string array) (optional) (default to .$)
-let enumFormString = "enumFormString_example" // String | Form parameter enum test (string) (optional) (default to .-efg)
+let enumFormStringArray = ["inner_example"] // [String] | Form parameter enum test (string array) (optional) (default to .dollar)
+let enumFormString = "enumFormString_example" // String | Form parameter enum test (string) (optional) (default to .efg)
 
 // To test enum parameters
 FakeAPI.testEnumParameters(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).then {
@@ -452,13 +452,13 @@ FakeAPI.testEnumParameters(enumHeaderStringArray: enumHeaderStringArray, enumHea
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **enumHeaderStringArray** | [**[String]**](String.md) | Header parameter enum test (string array) | [optional] 
- **enumHeaderString** | **String** | Header parameter enum test (string) | [optional] [default to .-efg]
+ **enumHeaderString** | **String** | Header parameter enum test (string) | [optional] [default to .efg]
  **enumQueryStringArray** | [**[String]**](String.md) | Query parameter enum test (string array) | [optional] 
- **enumQueryString** | **String** | Query parameter enum test (string) | [optional] [default to .-efg]
+ **enumQueryString** | **String** | Query parameter enum test (string) | [optional] [default to .efg]
  **enumQueryInteger** | **Int** | Query parameter enum test (double) | [optional] 
  **enumQueryDouble** | **Double** | Query parameter enum test (double) | [optional] 
- **enumFormStringArray** | [**[String]**](String.md) | Form parameter enum test (string array) | [optional] [default to .$]
- **enumFormString** | **String** | Form parameter enum test (string) | [optional] [default to .-efg]
+ **enumFormStringArray** | [**[String]**](String.md) | Form parameter enum test (string array) | [optional] [default to .dollar]
+ **enumFormString** | **String** | Form parameter enum test (string) | [optional] [default to .efg]
 
 ### Return type
 
diff --git a/samples/client/petstore/swift4/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIHelper.swift b/samples/client/petstore/swift4/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
index 20007009680..75dea243957 100644
--- a/samples/client/petstore/swift4/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
+++ b/samples/client/petstore/swift4/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
@@ -22,7 +22,7 @@ public struct APIHelper {
 
     public static func rejectNilHeaders(_ source: [String: Any?]) -> [String: String] {
         return source.reduce(into: [String: String]()) { (result, item) in
-            if let collection = item.value as? [Any?] {
+            if let collection = item.value as? Array<Any?> {
                 result[item.key] = collection.filter({ $0 != nil }).map { "\($0!)" }.joined(separator: ",")
             } else if let value: Any = item.value {
                 result[item.key] = "\(value)"
@@ -46,7 +46,7 @@ public struct APIHelper {
     }
 
     public static func mapValueToPathItem(_ source: Any) -> Any {
-        if let collection = source as? [Any?] {
+        if let collection = source as? Array<Any?> {
             return collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
         }
         return source
@@ -54,7 +54,7 @@ public struct APIHelper {
 
     public static func mapValuesToQueryItems(_ source: [String: Any?]) -> [URLQueryItem]? {
         let destination = source.filter({ $0.value != nil}).reduce(into: [URLQueryItem]()) { (result, item) in
-            if let collection = item.value as? [Any?] {
+            if let collection = item.value as? Array<Any?> {
                 let value = collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
                 result.append(URLQueryItem(name: item.key, value: value))
             } else if let value = item.value {
diff --git a/samples/client/petstore/swift4/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift4/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
index 474af3c46cc..8c8b4ae5f6e 100644
--- a/samples/client/petstore/swift4/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
+++ b/samples/client/petstore/swift4/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
@@ -442,13 +442,13 @@ open class FakeAPI {
      To test enum parameters
      
      - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional)
-     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .-efg)
+     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional)
-     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .-efg)
+     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional)
      - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional)
-     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .$)
-     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .-efg)
+     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar)
+     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg)
      - returns: Observable<Void>
      */
     open class func testEnumParameters(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> Observable<Void> {
@@ -470,13 +470,13 @@ open class FakeAPI {
      - GET /fake
      - To test enum parameters
      - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional)
-     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .-efg)
+     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional)
-     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .-efg)
+     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional)
      - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional)
-     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .$)
-     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .-efg)
+     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar)
+     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg)
      - returns: RequestBuilder<Void> 
      */
     open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder<Void> {
diff --git a/samples/client/petstore/swift4/rxswiftLibrary/docs/FakeAPI.md b/samples/client/petstore/swift4/rxswiftLibrary/docs/FakeAPI.md
index a67ef1c2815..a9a6c32c98b 100644
--- a/samples/client/petstore/swift4/rxswiftLibrary/docs/FakeAPI.md
+++ b/samples/client/petstore/swift4/rxswiftLibrary/docs/FakeAPI.md
@@ -379,13 +379,13 @@ To test enum parameters
 import PetstoreClient
 
 let enumHeaderStringArray = ["enumHeaderStringArray_example"] // [String] | Header parameter enum test (string array) (optional)
-let enumHeaderString = "enumHeaderString_example" // String | Header parameter enum test (string) (optional) (default to .-efg)
+let enumHeaderString = "enumHeaderString_example" // String | Header parameter enum test (string) (optional) (default to .efg)
 let enumQueryStringArray = ["enumQueryStringArray_example"] // [String] | Query parameter enum test (string array) (optional)
-let enumQueryString = "enumQueryString_example" // String | Query parameter enum test (string) (optional) (default to .-efg)
+let enumQueryString = "enumQueryString_example" // String | Query parameter enum test (string) (optional) (default to .efg)
 let enumQueryInteger = 987 // Int | Query parameter enum test (double) (optional)
 let enumQueryDouble = 987 // Double | Query parameter enum test (double) (optional)
-let enumFormStringArray = ["inner_example"] // [String] | Form parameter enum test (string array) (optional) (default to .$)
-let enumFormString = "enumFormString_example" // String | Form parameter enum test (string) (optional) (default to .-efg)
+let enumFormStringArray = ["inner_example"] // [String] | Form parameter enum test (string array) (optional) (default to .dollar)
+let enumFormString = "enumFormString_example" // String | Form parameter enum test (string) (optional) (default to .efg)
 
 // TODO RxSwift sample code not yet implemented. To contribute, please open a ticket via http://github.com/OpenAPITools/openapi-generator/issues/new
 ```
@@ -395,13 +395,13 @@ let enumFormString = "enumFormString_example" // String | Form parameter enum te
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **enumHeaderStringArray** | [**[String]**](String.md) | Header parameter enum test (string array) | [optional] 
- **enumHeaderString** | **String** | Header parameter enum test (string) | [optional] [default to .-efg]
+ **enumHeaderString** | **String** | Header parameter enum test (string) | [optional] [default to .efg]
  **enumQueryStringArray** | [**[String]**](String.md) | Query parameter enum test (string array) | [optional] 
- **enumQueryString** | **String** | Query parameter enum test (string) | [optional] [default to .-efg]
+ **enumQueryString** | **String** | Query parameter enum test (string) | [optional] [default to .efg]
  **enumQueryInteger** | **Int** | Query parameter enum test (double) | [optional] 
  **enumQueryDouble** | **Double** | Query parameter enum test (double) | [optional] 
- **enumFormStringArray** | [**[String]**](String.md) | Form parameter enum test (string array) | [optional] [default to .$]
- **enumFormString** | **String** | Form parameter enum test (string) | [optional] [default to .-efg]
+ **enumFormStringArray** | [**[String]**](String.md) | Form parameter enum test (string array) | [optional] [default to .dollar]
+ **enumFormString** | **String** | Form parameter enum test (string) | [optional] [default to .efg]
 
 ### Return type
 
diff --git a/samples/client/petstore/swift4/unwrapRequired/PetstoreClient/Classes/OpenAPIs/APIHelper.swift b/samples/client/petstore/swift4/unwrapRequired/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
index 20007009680..75dea243957 100644
--- a/samples/client/petstore/swift4/unwrapRequired/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
+++ b/samples/client/petstore/swift4/unwrapRequired/PetstoreClient/Classes/OpenAPIs/APIHelper.swift
@@ -22,7 +22,7 @@ public struct APIHelper {
 
     public static func rejectNilHeaders(_ source: [String: Any?]) -> [String: String] {
         return source.reduce(into: [String: String]()) { (result, item) in
-            if let collection = item.value as? [Any?] {
+            if let collection = item.value as? Array<Any?> {
                 result[item.key] = collection.filter({ $0 != nil }).map { "\($0!)" }.joined(separator: ",")
             } else if let value: Any = item.value {
                 result[item.key] = "\(value)"
@@ -46,7 +46,7 @@ public struct APIHelper {
     }
 
     public static func mapValueToPathItem(_ source: Any) -> Any {
-        if let collection = source as? [Any?] {
+        if let collection = source as? Array<Any?> {
             return collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
         }
         return source
@@ -54,7 +54,7 @@ public struct APIHelper {
 
     public static func mapValuesToQueryItems(_ source: [String: Any?]) -> [URLQueryItem]? {
         let destination = source.filter({ $0.value != nil}).reduce(into: [URLQueryItem]()) { (result, item) in
-            if let collection = item.value as? [Any?] {
+            if let collection = item.value as? Array<Any?> {
                 let value = collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
                 result.append(URLQueryItem(name: item.key, value: value))
             } else if let value = item.value {
diff --git a/samples/client/petstore/swift4/unwrapRequired/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift4/unwrapRequired/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
index d1f658b08d8..e2b1c0d9c58 100644
--- a/samples/client/petstore/swift4/unwrapRequired/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
+++ b/samples/client/petstore/swift4/unwrapRequired/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
@@ -379,13 +379,13 @@ open class FakeAPI {
      To test enum parameters
      
      - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional)
-     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .-efg)
+     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional)
-     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .-efg)
+     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional)
      - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional)
-     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .$)
-     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .-efg)
+     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar)
+     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg)
      - parameter completion: completion handler to receive the data and the error objects
      */
     open class func testEnumParameters(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
@@ -403,13 +403,13 @@ open class FakeAPI {
      - GET /fake
      - To test enum parameters
      - parameter enumHeaderStringArray: (header) Header parameter enum test (string array) (optional)
-     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .-efg)
+     - parameter enumHeaderString: (header) Header parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryStringArray: (query) Query parameter enum test (string array) (optional)
-     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .-efg)
+     - parameter enumQueryString: (query) Query parameter enum test (string) (optional, default to .efg)
      - parameter enumQueryInteger: (query) Query parameter enum test (double) (optional)
      - parameter enumQueryDouble: (query) Query parameter enum test (double) (optional)
-     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .$)
-     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .-efg)
+     - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional, default to .dollar)
+     - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to .efg)
      - returns: RequestBuilder<Void> 
      */
     open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder<Void> {
diff --git a/samples/client/petstore/swift4/unwrapRequired/docs/FakeAPI.md b/samples/client/petstore/swift4/unwrapRequired/docs/FakeAPI.md
index 18fbf8147d8..49d4d3fb6a1 100644
--- a/samples/client/petstore/swift4/unwrapRequired/docs/FakeAPI.md
+++ b/samples/client/petstore/swift4/unwrapRequired/docs/FakeAPI.md
@@ -453,13 +453,13 @@ To test enum parameters
 import PetstoreClient
 
 let enumHeaderStringArray = ["enumHeaderStringArray_example"] // [String] | Header parameter enum test (string array) (optional)
-let enumHeaderString = "enumHeaderString_example" // String | Header parameter enum test (string) (optional) (default to .-efg)
+let enumHeaderString = "enumHeaderString_example" // String | Header parameter enum test (string) (optional) (default to .efg)
 let enumQueryStringArray = ["enumQueryStringArray_example"] // [String] | Query parameter enum test (string array) (optional)
-let enumQueryString = "enumQueryString_example" // String | Query parameter enum test (string) (optional) (default to .-efg)
+let enumQueryString = "enumQueryString_example" // String | Query parameter enum test (string) (optional) (default to .efg)
 let enumQueryInteger = 987 // Int | Query parameter enum test (double) (optional)
 let enumQueryDouble = 987 // Double | Query parameter enum test (double) (optional)
-let enumFormStringArray = ["inner_example"] // [String] | Form parameter enum test (string array) (optional) (default to .$)
-let enumFormString = "enumFormString_example" // String | Form parameter enum test (string) (optional) (default to .-efg)
+let enumFormStringArray = ["inner_example"] // [String] | Form parameter enum test (string array) (optional) (default to .dollar)
+let enumFormString = "enumFormString_example" // String | Form parameter enum test (string) (optional) (default to .efg)
 
 // To test enum parameters
 FakeAPI.testEnumParameters(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString) { (response, error) in
@@ -479,13 +479,13 @@ FakeAPI.testEnumParameters(enumHeaderStringArray: enumHeaderStringArray, enumHea
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **enumHeaderStringArray** | [**[String]**](String.md) | Header parameter enum test (string array) | [optional] 
- **enumHeaderString** | **String** | Header parameter enum test (string) | [optional] [default to .-efg]
+ **enumHeaderString** | **String** | Header parameter enum test (string) | [optional] [default to .efg]
  **enumQueryStringArray** | [**[String]**](String.md) | Query parameter enum test (string array) | [optional] 
- **enumQueryString** | **String** | Query parameter enum test (string) | [optional] [default to .-efg]
+ **enumQueryString** | **String** | Query parameter enum test (string) | [optional] [default to .efg]
  **enumQueryInteger** | **Int** | Query parameter enum test (double) | [optional] 
  **enumQueryDouble** | **Double** | Query parameter enum test (double) | [optional] 
- **enumFormStringArray** | [**[String]**](String.md) | Form parameter enum test (string array) | [optional] [default to .$]
- **enumFormString** | **String** | Form parameter enum test (string) | [optional] [default to .-efg]
+ **enumFormStringArray** | [**[String]**](String.md) | Form parameter enum test (string array) | [optional] [default to .dollar]
+ **enumFormString** | **String** | Form parameter enum test (string) | [optional] [default to .efg]
 
 ### Return type
 
-- 
GitLab