From b6ad68baca11ec4e791bec42914a6034e4034a7c Mon Sep 17 00:00:00 2001 From: Bruno Coelho <4brunu@users.noreply.github.com> Date: Fri, 13 Jan 2023 10:29:00 +0000 Subject: [PATCH] [swift5][client] - fix combine warning (#14444) * [swift5][client] - fix combine warning * [swift5][client] - fix combine warning * [swift5][client] - update samples --- .../src/main/resources/swift5/api.mustache | 7 +- .../OpenAPIs/APIs/AnotherFakeAPI.swift | 7 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 84 +++++++++++-------- .../APIs/FakeClassnameTags123API.swift | 7 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 63 ++++++++------ .../Classes/OpenAPIs/APIs/StoreAPI.swift | 28 ++++--- .../Classes/OpenAPIs/APIs/UserAPI.swift | 56 +++++++------ 7 files changed, 144 insertions(+), 108 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/swift5/api.mustache b/modules/openapi-generator/src/main/resources/swift5/api.mustache index 6af11e800d8..f777506a458 100644 --- a/modules/openapi-generator/src/main/resources/swift5/api.mustache +++ b/modules/openapi-generator/src/main/resources/swift5/api.mustache @@ -173,9 +173,10 @@ extension {{projectName}}API { {{/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}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, Error> { - var requestTask: RequestTask? + let requestBuilder = {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) + let requestTask = requestBuilder.requestTask 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 + requestBuilder.execute { result in switch result { {{#returnType}} case let .success(response): @@ -191,7 +192,7 @@ extension {{projectName}}API { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } diff --git a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index f77dd2e72f4..fc51facf2e5 100644 --- a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -24,9 +24,10 @@ open class AnotherFakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func call123testSpecialTags(body: Client) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = call123testSpecialTagsWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = call123testSpecialTagsWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -36,7 +37,7 @@ open class AnotherFakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } diff --git a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index 66cd804674d..341a9d534c4 100644 --- a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -23,9 +23,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func fakeOuterBooleanSerialize(body: Bool? = nil) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = fakeOuterBooleanSerializeWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -35,7 +36,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -73,9 +74,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = fakeOuterCompositeSerializeWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -85,7 +87,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -123,9 +125,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func fakeOuterNumberSerialize(body: Double? = nil) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = fakeOuterNumberSerializeWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = fakeOuterNumberSerializeWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -135,7 +138,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -173,9 +176,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func fakeOuterStringSerialize(body: String? = nil) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = fakeOuterStringSerializeWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = fakeOuterStringSerializeWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -185,7 +189,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -223,9 +227,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testBodyWithFileSchema(body: FileSchemaTestClass) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = testBodyWithFileSchemaWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = testBodyWithFileSchemaWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -235,7 +240,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -274,9 +279,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testBodyWithQueryParams(query: String, body: User) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = testBodyWithQueryParamsWithRequestBuilder(query: query, body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -286,7 +292,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -328,9 +334,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testClientModel(body: Client) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = testClientModelWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = testClientModelWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -340,7 +347,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -393,9 +400,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -405,7 +413,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -553,9 +561,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -565,7 +574,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -631,9 +640,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -643,7 +653,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -695,9 +705,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testInlineAdditionalProperties(param: [String: String]) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = testInlineAdditionalPropertiesWithRequestBuilder(param: param) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -707,7 +718,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -747,9 +758,10 @@ open class FakeAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testJsonFormData(param: String, param2: String) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = testJsonFormDataWithRequestBuilder(param: param, param2: param2) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -759,7 +771,7 @@ open class FakeAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } diff --git a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index a918464fd54..96e20a3766a 100644 --- a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -24,9 +24,10 @@ open class FakeClassnameTags123API { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testClassname(body: Client) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = testClassnameWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = testClassnameWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -36,7 +37,7 @@ open class FakeClassnameTags123API { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } diff --git a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index 6168c1e5a2a..bfaa1fe298a 100644 --- a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -24,9 +24,10 @@ open class PetAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func addPet(body: Pet) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = addPetWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = addPetWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -36,7 +37,7 @@ open class PetAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -82,9 +83,10 @@ open class PetAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func deletePet(petId: Int64, apiKey: String? = nil) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = deletePetWithRequestBuilder(petId: petId, apiKey: apiKey) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -94,7 +96,7 @@ open class PetAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -149,9 +151,10 @@ open class PetAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func findPetsByStatus(status: [Status_findPetsByStatus]) -> AnyPublisher<[Pet], Error> { - var requestTask: RequestTask? + let requestBuilder = findPetsByStatusWithRequestBuilder(status: status) + let requestTask = requestBuilder.requestTask return Future<[Pet], Error> { promise in - requestTask = findPetsByStatusWithRequestBuilder(status: status).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -161,7 +164,7 @@ open class PetAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -208,9 +211,10 @@ open class PetAPI { @available(*, deprecated, message: "This operation is deprecated.") @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func findPetsByTags(tags: [String]) -> AnyPublisher<[Pet], Error> { - var requestTask: RequestTask? + let requestBuilder = findPetsByTagsWithRequestBuilder(tags: tags) + let requestTask = requestBuilder.requestTask return Future<[Pet], Error> { promise in - requestTask = findPetsByTagsWithRequestBuilder(tags: tags).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -220,7 +224,7 @@ open class PetAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -267,9 +271,10 @@ open class PetAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func getPetById(petId: Int64) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = getPetByIdWithRequestBuilder(petId: petId) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = getPetByIdWithRequestBuilder(petId: petId).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -279,7 +284,7 @@ open class PetAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -325,9 +330,10 @@ open class PetAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func updatePet(body: Pet) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = updatePetWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = updatePetWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -337,7 +343,7 @@ open class PetAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -381,9 +387,10 @@ open class PetAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -393,7 +400,7 @@ open class PetAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -448,9 +455,10 @@ open class PetAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -460,7 +468,7 @@ open class PetAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -515,9 +523,10 @@ open class PetAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -527,7 +536,7 @@ open class PetAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } diff --git a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index ad4b140d701..39a891ae868 100644 --- a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -24,9 +24,10 @@ open class StoreAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func deleteOrder(orderId: String) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = deleteOrderWithRequestBuilder(orderId: orderId) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = deleteOrderWithRequestBuilder(orderId: orderId).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -36,7 +37,7 @@ open class StoreAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -78,9 +79,10 @@ open class StoreAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func getInventory() -> AnyPublisher<[String: Int], Error> { - var requestTask: RequestTask? + let requestBuilder = getInventoryWithRequestBuilder() + let requestTask = requestBuilder.requestTask return Future<[String: Int], Error> { promise in - requestTask = getInventoryWithRequestBuilder().execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -90,7 +92,7 @@ open class StoreAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -132,9 +134,10 @@ open class StoreAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func getOrderById(orderId: Int64) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = getOrderByIdWithRequestBuilder(orderId: orderId) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = getOrderByIdWithRequestBuilder(orderId: orderId).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -144,7 +147,7 @@ open class StoreAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -187,9 +190,10 @@ open class StoreAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func placeOrder(body: Order) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = placeOrderWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = placeOrderWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -199,7 +203,7 @@ open class StoreAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } diff --git a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index 8401cc9f26a..e5797abfc81 100644 --- a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -24,9 +24,10 @@ open class UserAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func createUser(body: User) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = createUserWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = createUserWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -36,7 +37,7 @@ open class UserAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -76,9 +77,10 @@ open class UserAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func createUsersWithArrayInput(body: [User]) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = createUsersWithArrayInputWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = createUsersWithArrayInputWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -88,7 +90,7 @@ open class UserAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -127,9 +129,10 @@ open class UserAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func createUsersWithListInput(body: [User]) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = createUsersWithListInputWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = createUsersWithListInputWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -139,7 +142,7 @@ open class UserAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -178,9 +181,10 @@ open class UserAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func deleteUser(username: String) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = deleteUserWithRequestBuilder(username: username) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = deleteUserWithRequestBuilder(username: username).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -190,7 +194,7 @@ open class UserAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -233,9 +237,10 @@ open class UserAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func getUserByName(username: String) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = getUserByNameWithRequestBuilder(username: username) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = getUserByNameWithRequestBuilder(username: username).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -245,7 +250,7 @@ open class UserAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -288,9 +293,10 @@ open class UserAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func loginUser(username: String, password: String) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = loginUserWithRequestBuilder(username: username, password: password) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = loginUserWithRequestBuilder(username: username, password: password).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): promise(.success(response.body)) @@ -300,7 +306,7 @@ open class UserAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -344,9 +350,10 @@ open class UserAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func logoutUser() -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = logoutUserWithRequestBuilder() + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = logoutUserWithRequestBuilder().execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -356,7 +363,7 @@ open class UserAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() } @@ -395,9 +402,10 @@ open class UserAPI { #if canImport(Combine) @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func updateUser(username: String, body: User) -> AnyPublisher { - var requestTask: RequestTask? + let requestBuilder = updateUserWithRequestBuilder(username: username, body: body) + let requestTask = requestBuilder.requestTask return Future { promise in - requestTask = updateUserWithRequestBuilder(username: username, body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: promise(.success(())) @@ -407,7 +415,7 @@ open class UserAPI { } } .handleEvents(receiveCancel: { - requestTask?.cancel() + requestTask.cancel() }) .eraseToAnyPublisher() }