Library to convert between RxJava 1.x and 2.x reactive types.
gradle
dependencies {
compile "com.github.akarnokd:rxjava2-interop:0.11.1"
}
Maven search:
import hu.akarnokd.rxjava.interop.RxJavaInterop;
// convert from 1.x to 2.x
io.reactivex.Flowable f2 = RxJavaInterop.toV2Flowable(rx.Observable);
io.reactivex.Observable o2 = RxJavaInterop.toV2Observable(rx.Observable);
io.reactive.Single s2 = RxJavaInterop.toV2Single(rx.Single);
io.reactivex.Completable c2 = RxJavaInterop.toV2Completable(rx.Completable);
io.reactivex.Maybe m2s = RxJavaInterop.toV2Maybe(rx.Single);
io.reactivex.Maybe m2c = RxJavaInterop.toV2Maybe(rx.Completable);
// convert from 2.x to 1.x
rx.Observable o1 = RxJavaInterop.toV1Observable(Publisher);
rx.Observable q1 = RxJavaInterop.toV1Observable(ObservableSource, BackpressureStrategy);
rx.Single s1 = RxJavaInterop.toV1Single(SingleSource);
rx.Completable c1 = RxJavaInterop.toV1Completable(CompletableSource);
rx.Single s1m = RxJavaInterop.toV1Single(MaybeSource);
rx.Completable c1m = RxJavaInterop.toV1Completable(MaybeSource);
Note that 2.x Subject
s and FlowableProcessor
s support only the same input and output types.
// convert from 1.x to 2.x
io.reactivex.subjects.Subject sj2 = RxJavaInterop.toV2Subject(rx.subjects.Subject);
io.reactivex.processors.FlowableProcessor fp2 = RxJavaInterop.toV2Processor(rx.subjects.Subject);
// convert from 2.x to 1.x
rx.subjects.Subject sj1 = RxJavaInterop.toV1Subject(io.reactivex.subjects.Subject);
rx.subjects.Subject sj1b = RxJavaInterop.toV1Subject(io.reactivex.processors.FlowableProcessor);
// convert from 1.x to 2.x
io.reactivex.FlowableTransformer ft2 = RxJavaInterop.toV2Transformer(rx.Observable.Transformer);
io.reactivex.SingleTransformer st2 = RxJavaInterop.toV2Transformer(rx.Single.Transformer);
io.reactivex.CompletableTransformer ct2 = RxJavaInterop.toV2Transformer(rx.Completable.Transformer);
// convert from 2.x to 1.x
rx.Observable.Transformer ft1 = RxJavaInterop.toV1Transformer(io.reactivex.FlowableTransformer);
rx.Single.Transformer st1 = RxJavaInterop.toV1Transformer(io.reactivex.SingleTransformer);
rx.Completable.Transformer ct1 = RxJavaInterop.toV1Transformer(io.reactivex.CompletableTransformer);
// convert from 1.x to 2.x
io.reactivex.FlowableOperator fo2 = RxJavaInterop.toV2Operator(rx.Observable.Operator);
// convert from 2.x to 1.x
rx.Observable.Operator fo1 = RxJavaInterop.toV1Operator(io.reactivex.FlowableOperator);
// convert from 1.x to 2.x
io.reactivex.disposables.Disposable d2 = RxJavaInterop.toV2Disposable(rx.Subscription);
// convert from 2.x to 1.x
rx.Subscription s1 = RxJavaInterop.toV1Subscription(io.reactivex.disposables.Disposable);