@@ -6,11 +6,11 @@ import io.reactivex.rxjava3.annotations.CheckReturnValue
66import io.reactivex.rxjava3.annotations.SchedulerSupport
77import io.reactivex.rxjava3.core.*
88import io.reactivex.rxjava3.disposables.Disposable
9+ import io.reactivex.rxjava3.disposables.DisposableContainer
910import io.reactivex.rxjava3.functions.Action
1011import io.reactivex.rxjava3.functions.Consumer
1112import io.reactivex.rxjava3.internal.functions.Functions
1213
13-
1414private val onNextStub: (Any ) -> Unit = {}
1515private val onErrorStub: (Throwable ) -> Unit = {}
1616private val onCompleteStub: () -> Unit = {}
@@ -33,9 +33,9 @@ private fun (() -> Unit).asOnCompleteAction(): Action {
3333@CheckReturnValue
3434@SchedulerSupport(SchedulerSupport .NONE )
3535fun <T : Any > Observable<T>.subscribeBy (
36- onError : (Throwable ) -> Unit = onErrorStub,
37- onComplete : () -> Unit = onCompleteStub,
38- onNext : (T ) -> Unit = onNextStub
36+ onError : (Throwable ) -> Unit = onErrorStub,
37+ onComplete : () -> Unit = onCompleteStub,
38+ onNext : (T ) -> Unit = onNextStub
3939): Disposable = subscribe(onNext.asConsumer(), onError.asOnErrorConsumer(), onComplete.asOnCompleteAction())
4040
4141/* *
@@ -45,9 +45,9 @@ fun <T : Any> Observable<T>.subscribeBy(
4545@BackpressureSupport(BackpressureKind .UNBOUNDED_IN )
4646@SchedulerSupport(SchedulerSupport .NONE )
4747fun <T : Any > Flowable<T>.subscribeBy (
48- onError : (Throwable ) -> Unit = onErrorStub,
49- onComplete : () -> Unit = onCompleteStub,
50- onNext : (T ) -> Unit = onNextStub
48+ onError : (Throwable ) -> Unit = onErrorStub,
49+ onComplete : () -> Unit = onCompleteStub,
50+ onNext : (T ) -> Unit = onNextStub
5151): Disposable = subscribe(onNext.asConsumer(), onError.asOnErrorConsumer(), onComplete.asOnCompleteAction())
5252
5353/* *
@@ -56,8 +56,8 @@ fun <T : Any> Flowable<T>.subscribeBy(
5656@CheckReturnValue
5757@SchedulerSupport(SchedulerSupport .NONE )
5858fun <T : Any > Single<T>.subscribeBy (
59- onError : (Throwable ) -> Unit = onErrorStub,
60- onSuccess : (T ) -> Unit = onNextStub
59+ onError : (Throwable ) -> Unit = onErrorStub,
60+ onSuccess : (T ) -> Unit = onNextStub
6161): Disposable = subscribe(onSuccess.asConsumer(), onError.asOnErrorConsumer())
6262
6363/* *
@@ -66,9 +66,9 @@ fun <T : Any> Single<T>.subscribeBy(
6666@CheckReturnValue
6767@SchedulerSupport(SchedulerSupport .NONE )
6868fun <T : Any > Maybe<T>.subscribeBy (
69- onError : (Throwable ) -> Unit = onErrorStub,
70- onComplete : () -> Unit = onCompleteStub,
71- onSuccess : (T ) -> Unit = onNextStub
69+ onError : (Throwable ) -> Unit = onErrorStub,
70+ onComplete : () -> Unit = onCompleteStub,
71+ onSuccess : (T ) -> Unit = onNextStub
7272): Disposable = subscribe(onSuccess.asConsumer(), onError.asOnErrorConsumer(), onComplete.asOnCompleteAction())
7373
7474/* *
@@ -77,8 +77,8 @@ fun <T : Any> Maybe<T>.subscribeBy(
7777@CheckReturnValue
7878@SchedulerSupport(SchedulerSupport .NONE )
7979fun Completable.subscribeBy (
80- onError : (Throwable ) -> Unit = onErrorStub,
81- onComplete : () -> Unit = onCompleteStub
80+ onError : (Throwable ) -> Unit = onErrorStub,
81+ onComplete : () -> Unit = onCompleteStub
8282): Disposable = when {
8383 // There are optimized versions of the completable Consumers, so we need to use the subscribe overloads
8484 // here.
@@ -87,14 +87,69 @@ fun Completable.subscribeBy(
8787 else -> subscribe(onComplete.asOnCompleteAction(), Consumer (onError))
8888}
8989
90+ /* *
91+ * Overloaded subscribe function that allows passing named parameters
92+ */
93+ @SchedulerSupport(SchedulerSupport .NONE )
94+ fun <T : Any > Observable<T>.subscribeBy (
95+ container : DisposableContainer ,
96+ onError : (Throwable ) -> Unit = onErrorStub,
97+ onComplete : () -> Unit = onCompleteStub,
98+ onNext : (T ) -> Unit = onNextStub
99+ ): Disposable = subscribe(onNext.asConsumer(), onError.asOnErrorConsumer(), onComplete.asOnCompleteAction(), container)
100+
101+ /* *
102+ * Overloaded subscribe function that allows passing named parameters
103+ */
104+ @BackpressureSupport(BackpressureKind .UNBOUNDED_IN )
105+ @SchedulerSupport(SchedulerSupport .NONE )
106+ fun <T : Any > Flowable<T>.subscribeBy (
107+ container : DisposableContainer ,
108+ onError : (Throwable ) -> Unit = onErrorStub,
109+ onComplete : () -> Unit = onCompleteStub,
110+ onNext : (T ) -> Unit = onNextStub
111+ ): Disposable = subscribe(onNext.asConsumer(), onError.asOnErrorConsumer(), onComplete.asOnCompleteAction(), container)
112+
113+ /* *
114+ * Overloaded subscribe function that allows passing named parameters
115+ */
116+ @SchedulerSupport(SchedulerSupport .NONE )
117+ fun <T : Any > Single<T>.subscribeBy (
118+ container : DisposableContainer ,
119+ onError : (Throwable ) -> Unit = onErrorStub,
120+ onSuccess : (T ) -> Unit = onNextStub
121+ ): Disposable = subscribe(onSuccess.asConsumer(), onError.asOnErrorConsumer(), container)
122+
123+ /* *
124+ * Overloaded subscribe function that allows passing named parameters
125+ */
126+ @SchedulerSupport(SchedulerSupport .NONE )
127+ fun <T : Any > Maybe<T>.subscribeBy (
128+ container : DisposableContainer ,
129+ onError : (Throwable ) -> Unit = onErrorStub,
130+ onComplete : () -> Unit = onCompleteStub,
131+ onSuccess : (T ) -> Unit = onNextStub
132+ ): Disposable =
133+ subscribe(onSuccess.asConsumer(), onError.asOnErrorConsumer(), onComplete.asOnCompleteAction(), container)
134+
135+ /* *
136+ * Overloaded subscribe function that allows passing named parameters
137+ */
138+ @SchedulerSupport(SchedulerSupport .NONE )
139+ fun Completable.subscribeBy (
140+ container : DisposableContainer ,
141+ onError : (Throwable ) -> Unit = onErrorStub,
142+ onComplete : () -> Unit = onCompleteStub
143+ ): Disposable = subscribe(onComplete.asOnCompleteAction(), onError.asOnErrorConsumer(), container)
144+
90145/* *
91146 * Overloaded blockingSubscribe function that allows passing named parameters
92147 */
93148@SchedulerSupport(SchedulerSupport .NONE )
94149fun <T : Any > Observable<T>.blockingSubscribeBy (
95- onError : (Throwable ) -> Unit = onErrorStub,
96- onComplete : () -> Unit = onCompleteStub,
97- onNext : (T ) -> Unit = onNextStub
150+ onError : (Throwable ) -> Unit = onErrorStub,
151+ onComplete : () -> Unit = onCompleteStub,
152+ onNext : (T ) -> Unit = onNextStub
98153): Unit = blockingSubscribe(onNext.asConsumer(), onError.asOnErrorConsumer(), onComplete.asOnCompleteAction())
99154
100155/* *
@@ -103,35 +158,35 @@ fun <T : Any> Observable<T>.blockingSubscribeBy(
103158@BackpressureSupport(BackpressureKind .UNBOUNDED_IN )
104159@SchedulerSupport(SchedulerSupport .NONE )
105160fun <T : Any > Flowable<T>.blockingSubscribeBy (
106- onError : (Throwable ) -> Unit = onErrorStub,
107- onComplete : () -> Unit = onCompleteStub,
108- onNext : (T ) -> Unit = onNextStub
161+ onError : (Throwable ) -> Unit = onErrorStub,
162+ onComplete : () -> Unit = onCompleteStub,
163+ onNext : (T ) -> Unit = onNextStub
109164): Unit = blockingSubscribe(onNext.asConsumer(), onError.asOnErrorConsumer(), onComplete.asOnCompleteAction())
110165
111166/* *
112167 * Overloaded blockingSubscribe function that allows passing named parameters
113168 */
114169@SchedulerSupport(SchedulerSupport .NONE )
115170fun <T : Any > Maybe<T>.blockingSubscribeBy (
116- onError : (Throwable ) -> Unit = onErrorStub,
117- onComplete : () -> Unit = onCompleteStub,
118- onSuccess : (T ) -> Unit = onNextStub
119- ) : Unit = blockingSubscribe(onSuccess.asConsumer(), onError.asOnErrorConsumer(), onComplete.asOnCompleteAction())
171+ onError : (Throwable ) -> Unit = onErrorStub,
172+ onComplete : () -> Unit = onCompleteStub,
173+ onSuccess : (T ) -> Unit = onNextStub
174+ ): Unit = blockingSubscribe(onSuccess.asConsumer(), onError.asOnErrorConsumer(), onComplete.asOnCompleteAction())
120175
121176/* *
122177 * Overloaded blockingSubscribe function that allows passing named parameters
123178 */
124179@SchedulerSupport(SchedulerSupport .NONE )
125180fun <T : Any > Single<T>.blockingSubscribeBy (
126- onError : (Throwable ) -> Unit = onErrorStub,
127- onSuccess : (T ) -> Unit = onNextStub
128- ) : Unit = blockingSubscribe(onSuccess.asConsumer(), onError.asOnErrorConsumer())
181+ onError : (Throwable ) -> Unit = onErrorStub,
182+ onSuccess : (T ) -> Unit = onNextStub
183+ ): Unit = blockingSubscribe(onSuccess.asConsumer(), onError.asOnErrorConsumer())
129184
130185/* *
131186 * Overloaded blockingSubscribe function that allows passing named parameters
132187 */
133188@SchedulerSupport(SchedulerSupport .NONE )
134189fun Completable.blockingSubscribeBy (
135- onError : (Throwable ) -> Unit = onErrorStub,
136- onComplete : () -> Unit = onCompleteStub
190+ onError : (Throwable ) -> Unit = onErrorStub,
191+ onComplete : () -> Unit = onCompleteStub
137192): Unit = blockingSubscribe(onComplete.asOnCompleteAction(), onError.asOnErrorConsumer())
0 commit comments