From 611185e0c0511bee26bd8a43c0b2e52857d141ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lui=CC=81s=20Lopes?= Date: Wed, 6 Jul 2022 14:43:05 +0100 Subject: [PATCH] Update OpenAPI Generator dependency to version 6.0.1 --- pom.xml | 4 +-- .../generator/Swift5ClientCodegen.java | 2 ++ .../APIHelper.mustache | 0 .../{Swift5 => mindera-swift5}/APIs.mustache | 0 .../AlamofireImplementations.mustache | 0 .../Cartfile.mustache | 0 .../CodableHelper.mustache | 0 .../Configuration.mustache | 0 .../Extensions.mustache | 0 .../JSONDataEncoding.mustache | 0 .../JSONEncodingHelper.mustache | 0 .../Models.mustache | 0 .../OpenISO8601DateFormatter.mustache | 0 .../Package.swift.mustache | 0 .../Podspec.mustache | 0 .../README.mustache | 0 .../SynchronizedDictionary.mustache | 0 .../XcodeGen.mustache | 0 .../_param.mustache | 0 .../{Swift5 => mindera-swift5}/api.mustache | 28 +++++++++---------- .../api_doc.mustache | 0 .../git_push.sh.mustache | 0 .../gitignore.mustache | 0 .../AlamofireImplementations.mustache | 12 +++++--- .../URLSessionImplementations.mustache | 6 +++- .../{Swift5 => mindera-swift5}/model.mustache | 0 .../modelArray.mustache | 0 .../modelEnum.mustache | 0 .../modelInlineEnumDeclaration.mustache | 0 .../modelObject.mustache | 4 +-- .../modelOneOf.mustache | 0 .../model_doc.mustache | 0 32 files changed, 33 insertions(+), 23 deletions(-) rename src/main/resources/{Swift5 => mindera-swift5}/APIHelper.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/APIs.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/AlamofireImplementations.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/Cartfile.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/CodableHelper.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/Configuration.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/Extensions.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/JSONDataEncoding.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/JSONEncodingHelper.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/Models.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/OpenISO8601DateFormatter.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/Package.swift.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/Podspec.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/README.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/SynchronizedDictionary.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/XcodeGen.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/_param.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/api.mustache (92%) rename src/main/resources/{Swift5 => mindera-swift5}/api_doc.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/git_push.sh.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/gitignore.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/libraries/alamofire/AlamofireImplementations.mustache (97%) rename src/main/resources/{Swift5 => mindera-swift5}/libraries/urlsession/URLSessionImplementations.mustache (98%) rename src/main/resources/{Swift5 => mindera-swift5}/model.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/modelArray.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/modelEnum.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/modelInlineEnumDeclaration.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/modelObject.mustache (96%) rename src/main/resources/{Swift5 => mindera-swift5}/modelOneOf.mustache (100%) rename src/main/resources/{Swift5 => mindera-swift5}/model_doc.mustache (100%) diff --git a/pom.xml b/pom.xml index 6bc259d..bc6d0d9 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ mindera-openapi-generator jar mindera-openapi-generator - 4.0.0 + 4.0.1 @@ -40,7 +40,7 @@ 1.8 7.5 UTF-8 - 6.0.0 + 6.0.1 4.5.1 diff --git a/src/main/java/com/mindera/openapi/generator/Swift5ClientCodegen.java b/src/main/java/com/mindera/openapi/generator/Swift5ClientCodegen.java index d3cf2f7..840179b 100644 --- a/src/main/java/com/mindera/openapi/generator/Swift5ClientCodegen.java +++ b/src/main/java/com/mindera/openapi/generator/Swift5ClientCodegen.java @@ -22,6 +22,8 @@ public class Swift5ClientCodegen extends org.openapitools.codegen.languages.Swif public Swift5ClientCodegen() { super(); + embeddedTemplateDir = templateDir = "mindera-swift5"; + this.typeMapping.put("date", "DateWithoutTime"); this.typeMapping.put("Date", "DateWithoutTime"); this.typeMapping.put("DateTime", "DateWithTime"); diff --git a/src/main/resources/Swift5/APIHelper.mustache b/src/main/resources/mindera-swift5/APIHelper.mustache similarity index 100% rename from src/main/resources/Swift5/APIHelper.mustache rename to src/main/resources/mindera-swift5/APIHelper.mustache diff --git a/src/main/resources/Swift5/APIs.mustache b/src/main/resources/mindera-swift5/APIs.mustache similarity index 100% rename from src/main/resources/Swift5/APIs.mustache rename to src/main/resources/mindera-swift5/APIs.mustache diff --git a/src/main/resources/Swift5/AlamofireImplementations.mustache b/src/main/resources/mindera-swift5/AlamofireImplementations.mustache similarity index 100% rename from src/main/resources/Swift5/AlamofireImplementations.mustache rename to src/main/resources/mindera-swift5/AlamofireImplementations.mustache diff --git a/src/main/resources/Swift5/Cartfile.mustache b/src/main/resources/mindera-swift5/Cartfile.mustache similarity index 100% rename from src/main/resources/Swift5/Cartfile.mustache rename to src/main/resources/mindera-swift5/Cartfile.mustache diff --git a/src/main/resources/Swift5/CodableHelper.mustache b/src/main/resources/mindera-swift5/CodableHelper.mustache similarity index 100% rename from src/main/resources/Swift5/CodableHelper.mustache rename to src/main/resources/mindera-swift5/CodableHelper.mustache diff --git a/src/main/resources/Swift5/Configuration.mustache b/src/main/resources/mindera-swift5/Configuration.mustache similarity index 100% rename from src/main/resources/Swift5/Configuration.mustache rename to src/main/resources/mindera-swift5/Configuration.mustache diff --git a/src/main/resources/Swift5/Extensions.mustache b/src/main/resources/mindera-swift5/Extensions.mustache similarity index 100% rename from src/main/resources/Swift5/Extensions.mustache rename to src/main/resources/mindera-swift5/Extensions.mustache diff --git a/src/main/resources/Swift5/JSONDataEncoding.mustache b/src/main/resources/mindera-swift5/JSONDataEncoding.mustache similarity index 100% rename from src/main/resources/Swift5/JSONDataEncoding.mustache rename to src/main/resources/mindera-swift5/JSONDataEncoding.mustache diff --git a/src/main/resources/Swift5/JSONEncodingHelper.mustache b/src/main/resources/mindera-swift5/JSONEncodingHelper.mustache similarity index 100% rename from src/main/resources/Swift5/JSONEncodingHelper.mustache rename to src/main/resources/mindera-swift5/JSONEncodingHelper.mustache diff --git a/src/main/resources/Swift5/Models.mustache b/src/main/resources/mindera-swift5/Models.mustache similarity index 100% rename from src/main/resources/Swift5/Models.mustache rename to src/main/resources/mindera-swift5/Models.mustache diff --git a/src/main/resources/Swift5/OpenISO8601DateFormatter.mustache b/src/main/resources/mindera-swift5/OpenISO8601DateFormatter.mustache similarity index 100% rename from src/main/resources/Swift5/OpenISO8601DateFormatter.mustache rename to src/main/resources/mindera-swift5/OpenISO8601DateFormatter.mustache diff --git a/src/main/resources/Swift5/Package.swift.mustache b/src/main/resources/mindera-swift5/Package.swift.mustache similarity index 100% rename from src/main/resources/Swift5/Package.swift.mustache rename to src/main/resources/mindera-swift5/Package.swift.mustache diff --git a/src/main/resources/Swift5/Podspec.mustache b/src/main/resources/mindera-swift5/Podspec.mustache similarity index 100% rename from src/main/resources/Swift5/Podspec.mustache rename to src/main/resources/mindera-swift5/Podspec.mustache diff --git a/src/main/resources/Swift5/README.mustache b/src/main/resources/mindera-swift5/README.mustache similarity index 100% rename from src/main/resources/Swift5/README.mustache rename to src/main/resources/mindera-swift5/README.mustache diff --git a/src/main/resources/Swift5/SynchronizedDictionary.mustache b/src/main/resources/mindera-swift5/SynchronizedDictionary.mustache similarity index 100% rename from src/main/resources/Swift5/SynchronizedDictionary.mustache rename to src/main/resources/mindera-swift5/SynchronizedDictionary.mustache diff --git a/src/main/resources/Swift5/XcodeGen.mustache b/src/main/resources/mindera-swift5/XcodeGen.mustache similarity index 100% rename from src/main/resources/Swift5/XcodeGen.mustache rename to src/main/resources/mindera-swift5/XcodeGen.mustache diff --git a/src/main/resources/Swift5/_param.mustache b/src/main/resources/mindera-swift5/_param.mustache similarity index 100% rename from src/main/resources/Swift5/_param.mustache rename to src/main/resources/mindera-swift5/_param.mustache diff --git a/src/main/resources/Swift5/api.mustache b/src/main/resources/mindera-swift5/api.mustache similarity index 92% rename from src/main/resources/Swift5/api.mustache rename to src/main/resources/mindera-swift5/api.mustache index 7f8c507..a35ea0c 100644 --- a/src/main/resources/Swift5/api.mustache +++ b/src/main/resources/mindera-swift5/api.mustache @@ -97,13 +97,13 @@ extension {{projectName}}API { {{{.}}} {{/summary}}{{#allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - - returns: Promise<{{{returnType}}}{{^returnType}}Void{{/returnType}}> + - returns: Promise<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}} {{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> Promise<{{{returnType}}}{{^returnType}}Void{{/returnType}}> { - let deferred = Promise<{{{returnType}}}{{^returnType}}Void{{/returnType}}>.pending() + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}} {{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> Promise<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { + let deferred = Promise<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}>.pending() {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute { result in switch result { {{#returnType}} @@ -129,12 +129,12 @@ extension {{projectName}}API { {{/summary}}{{#allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - parameter apiResponseQueue: The queue on which api response is dispatched. - - returns: Observable<{{{returnType}}}{{^returnType}}Void{{/returnType}}> + - returns: Observable<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}apiResponseQueue: DispatchQueue = {{projectName}}API.apiResponseQueue) -> Observable<{{{returnType}}}{{^returnType}}Void{{/returnType}}> { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}apiResponseQueue: DispatchQueue = {{projectName}}API.apiResponseQueue) -> Observable<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { return Observable.create { observer -> Disposable in let requestTask = {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute(apiResponseQueue) { result in switch result { @@ -165,16 +165,16 @@ extension {{projectName}}API { {{{.}}} {{/summary}}{{#allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - - returns: AnyPublisher<{{{returnType}}}{{^returnType}}Void{{/returnType}}, Error> + - returns: AnyPublisher<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, Error> */ #if canImport(Combine) {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> AnyPublisher<{{{returnType}}}{{^returnType}}Void{{/returnType}}, Error> { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> AnyPublisher<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, Error> { var requestTask: RequestTask? - return Future<{{{returnType}}}{{^returnType}}Void{{/returnType}}, Error> { promise in + return Future<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, Error> { promise in requestTask = {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute { result in switch result { {{#returnType}} @@ -204,13 +204,13 @@ extension {{projectName}}API { {{{.}}} {{/summary}}{{#allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - - returns: {{{returnType}}}{{^returnType}}Void{{/returnType}} + - returns: {{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}} */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) async throws{{#returnType}} -> {{{returnType}}}{{/returnType}} { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) async throws{{#returnType}} -> {{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{/returnType}} { var requestTask: RequestTask? return try await withTaskCancellationHandler { try Task.checkCancellation() @@ -254,7 +254,7 @@ extension {{projectName}}API { @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} @discardableResult - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}apiResponseQueue: DispatchQueue = {{projectName}}API.apiResponseQueue, completion: @escaping ((_ result: Swift.Result<{{{returnType}}}{{^returnType}}Void{{/returnType}}, ErrorResponse>) -> Void)) -> RequestTask { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}apiResponseQueue: DispatchQueue = {{projectName}}API.apiResponseQueue, completion: @escaping ((_ result: Swift.Result<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, ErrorResponse>) -> Void)) -> RequestTask { return {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute(apiResponseQueue) { result in switch result { {{#returnType}} @@ -419,12 +419,12 @@ extension {{projectName}}API { {{#allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}} {{/allParams}} - - returns: RequestBuilder<{{{returnType}}}{{^returnType}}Void{{/returnType}}> {{description}} + - returns: RequestBuilder<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{description}} */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> RequestBuilder<{{{returnType}}}{{^returnType}}Void{{/returnType}}> { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> RequestBuilder<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { {{^pathParams}}let{{/pathParams}}{{#pathParams}}{{#-first}}var{{/-first}}{{/pathParams}} localVariablePath = "{{{path}}}"{{#pathParams}} let {{paramName}}PreEscape = "\({{#isEnum}}{{paramName}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}.rawValue{{/isContainer}}{{/isEnum}}{{^isEnum}}APIHelper.mapValueToPathItem({{paramName}}){{/isEnum}})" let {{paramName}}PostEscape = {{paramName}}PreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" @@ -464,7 +464,7 @@ extension {{projectName}}API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<{{{returnType}}}{{^returnType}}Void{{/returnType}}>.Type = {{projectName}}API.requestBuilderFactory.{{#returnType}}getBuilder(){{/returnType}}{{^returnType}}getNonDecodableBuilder(){{/returnType}} + let localVariableRequestBuilder: RequestBuilder<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}>.Type = {{projectName}}API.requestBuilderFactory.{{#returnType}}getBuilder(){{/returnType}}{{^returnType}}getNonDecodableBuilder(){{/returnType}} return localVariableRequestBuilder.init(method: "{{httpMethod}}", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters) } diff --git a/src/main/resources/Swift5/api_doc.mustache b/src/main/resources/mindera-swift5/api_doc.mustache similarity index 100% rename from src/main/resources/Swift5/api_doc.mustache rename to src/main/resources/mindera-swift5/api_doc.mustache diff --git a/src/main/resources/Swift5/git_push.sh.mustache b/src/main/resources/mindera-swift5/git_push.sh.mustache similarity index 100% rename from src/main/resources/Swift5/git_push.sh.mustache rename to src/main/resources/mindera-swift5/git_push.sh.mustache diff --git a/src/main/resources/Swift5/gitignore.mustache b/src/main/resources/mindera-swift5/gitignore.mustache similarity index 100% rename from src/main/resources/Swift5/gitignore.mustache rename to src/main/resources/mindera-swift5/gitignore.mustache diff --git a/src/main/resources/Swift5/libraries/alamofire/AlamofireImplementations.mustache b/src/main/resources/mindera-swift5/libraries/alamofire/AlamofireImplementations.mustache similarity index 97% rename from src/main/resources/Swift5/libraries/alamofire/AlamofireImplementations.mustache rename to src/main/resources/mindera-swift5/libraries/alamofire/AlamofireImplementations.mustache index b716d25..00cd597 100644 --- a/src/main/resources/Swift5/libraries/alamofire/AlamofireImplementations.mustache +++ b/src/main/resources/mindera-swift5/libraries/alamofire/AlamofireImplementations.mustache @@ -347,13 +347,17 @@ private var managerStore = SynchronizedDictionary() return } - guard let data = dataResponse.data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(-1, nil, dataResponse.response, DecodableRequestBuilderError.emptyDataResponse))) + guard let httpResponse = dataResponse.response else { + completion(.failure(ErrorResponse.error(-2, nil, dataResponse.response, DecodableRequestBuilderError.nilHTTPResponse))) return } - guard let httpResponse = dataResponse.response else { - completion(.failure(ErrorResponse.error(-2, nil, dataResponse.response, DecodableRequestBuilderError.nilHTTPResponse))) + guard let data = dataResponse.data, !data.isEmpty else { + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, httpResponse, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/src/main/resources/Swift5/libraries/urlsession/URLSessionImplementations.mustache b/src/main/resources/mindera-swift5/libraries/urlsession/URLSessionImplementations.mustache similarity index 98% rename from src/main/resources/Swift5/libraries/urlsession/URLSessionImplementations.mustache rename to src/main/resources/mindera-swift5/libraries/urlsession/URLSessionImplementations.mustache index ab55655..3734bf5 100644 --- a/src/main/resources/Swift5/libraries/urlsession/URLSessionImplementations.mustache +++ b/src/main/resources/mindera-swift5/libraries/urlsession/URLSessionImplementations.mustache @@ -353,7 +353,11 @@ private var credentialStore = SynchronizedDictionary() default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/src/main/resources/Swift5/model.mustache b/src/main/resources/mindera-swift5/model.mustache similarity index 100% rename from src/main/resources/Swift5/model.mustache rename to src/main/resources/mindera-swift5/model.mustache diff --git a/src/main/resources/Swift5/modelArray.mustache b/src/main/resources/mindera-swift5/modelArray.mustache similarity index 100% rename from src/main/resources/Swift5/modelArray.mustache rename to src/main/resources/mindera-swift5/modelArray.mustache diff --git a/src/main/resources/Swift5/modelEnum.mustache b/src/main/resources/mindera-swift5/modelEnum.mustache similarity index 100% rename from src/main/resources/Swift5/modelEnum.mustache rename to src/main/resources/mindera-swift5/modelEnum.mustache diff --git a/src/main/resources/Swift5/modelInlineEnumDeclaration.mustache b/src/main/resources/mindera-swift5/modelInlineEnumDeclaration.mustache similarity index 100% rename from src/main/resources/Swift5/modelInlineEnumDeclaration.mustache rename to src/main/resources/mindera-swift5/modelInlineEnumDeclaration.mustache diff --git a/src/main/resources/Swift5/modelObject.mustache b/src/main/resources/mindera-swift5/modelObject.mustache similarity index 96% rename from src/main/resources/Swift5/modelObject.mustache rename to src/main/resources/mindera-swift5/modelObject.mustache index a82cc1e..b1c23e1 100644 --- a/src/main/resources/Swift5/modelObject.mustache +++ b/src/main/resources/mindera-swift5/modelObject.mustache @@ -1,5 +1,5 @@ -{{^objcCompatible}}{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} {{#useClasses}}final class{{/useClasses}}{{^useClasses}}struct{{/useClasses}} {{{classname}}}: {{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable, JSONEncodable{{/useVapor}}{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}} { -{{/objcCompatible}}{{#objcCompatible}}@objc {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} class {{classname}}: NSObject, Codable, JSONEncodable { +{{^objcCompatible}}{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} {{#useClasses}}final class{{/useClasses}}{{^useClasses}}struct{{/useClasses}} {{{classname}}}: {{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable{{#useJsonEncodable}}, JSONEncodable{{/useJsonEncodable}}{{/useVapor}}{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}} { +{{/objcCompatible}}{{#objcCompatible}}@objc {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} class {{classname}}: NSObject, Codable{{#useJsonEncodable}}, JSONEncodable{{/useJsonEncodable}} { {{/objcCompatible}} {{#allVars}} diff --git a/src/main/resources/Swift5/modelOneOf.mustache b/src/main/resources/mindera-swift5/modelOneOf.mustache similarity index 100% rename from src/main/resources/Swift5/modelOneOf.mustache rename to src/main/resources/mindera-swift5/modelOneOf.mustache diff --git a/src/main/resources/Swift5/model_doc.mustache b/src/main/resources/mindera-swift5/model_doc.mustache similarity index 100% rename from src/main/resources/Swift5/model_doc.mustache rename to src/main/resources/mindera-swift5/model_doc.mustache