Created by: d-date
PR checklist
-
Read the contribution guidelines. -
Ran the shell script under ./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
and./bin/security/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
. -
Filed the PR against the correct branch: master
,. Default:3.4.x
,4.0.x
master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language.
Description of the PR
When we specify RxSwift
or PromiseKit
to ResponseAs
in additional_properties
, the generator will generate 3 methods, requestBuilder, default implementation and wrapped method.
We need only requestBuild and wrapped method so that reduce generated codes. This is not breaking change for users.
Before:
open class func addPet(pet: Pet) -> Observable<Void> {
return Observable.create { observer -> Disposable in
addPet(pet: pet) { data, error in
if let error = error {
observer.on(.error(error))
} else {
observer.on(.next(data!))
}
observer.on(.completed)
}
return Disposables.create()
}
}
After:
open class func addPet(pet: Pet) -> Observable<Void> {
return Observable.create { observer -> Disposable in
addPetWithRequestBuilder(pet: pet).execute { (response, error) -> Void in
if let error = error {
observer.onError(error)
} else {
observer.onNext(())
}
observer.onCompleted()
}
return Disposables.create()
}
}