Library to convert between RxJava 1.x and 3.x reactive types.
Interop between 2.x and 3.xCheck out the https://github.com/akarnokd/RxJavaBridge project.
gradle
dependencies {
implementation "com.github.akarnokd:rxjava3-interop:3.0.2"
}
Maven search:
Convert between the reactive base typesimport hu.akarnokd.rxjava3.interop.RxJavaInterop; // convert from 1.x to 3.x io.reactivex.rxjava3.core.Flowable f3 = RxJavaInterop.toV3Flowable(rx.Observable); io.reactivex.rxjava3.core.Observable o3 = RxJavaInterop.toV3Observable(rx.Observable); io.reactivex.rxjava3.core.Single s3 = RxJavaInterop.toV3Single(rx.Single); io.reactivex.rxjava3.core.Completable c3 = RxJavaInterop.toV3Completable(rx.Completable); io.reactivex.rxjava3.core.Maybe m3s = RxJavaInterop.toV3Maybe(rx.Single); io.reactivex.rxjava3.core.Maybe m3c = RxJavaInterop.toV3Maybe(rx.Completable); // convert from 3.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);Convert between Subjects and Processors.
Note that 3.x Subject
s and FlowableProcessor
s support only the same input and output types.
// convert from 1.x to 3.x io.reactivex.rxjava3.subjects.Subject sj3 = RxJavaInterop.toV3Subject(rx.subjects.Subject); io.reactivex.rxjava3.processors.FlowableProcessor fp3 = RxJavaInterop.toV3Processor(rx.subjects.Subject); // convert from 3.x to 1.x rx.subjects.Subject sj1 = RxJavaInterop.toV1Subject(io.reactivex.rxjava3.subjects.Subject); rx.subjects.Subject sj1b = RxJavaInterop.toV1Subject(io.reactivex.rxjava3.processors.FlowableProcessor);Convert between 1.x
X.Transformer
s and 3.x XTransformer
s.
// convert from 1.x to 3.x io.reactivex.rxjava3.core.FlowableTransformer ft3 = RxJavaInterop.toV3Transformer( rx.Observable.Transformer); io.reactivex.rxjava3.core.ObservableTransformer ot3 = RxJavaInterop.toV3Transformer( rx.Observable.Transformer, io.reactivex.rxjava3.core.BackpressureStrategy); io.reactivex.rxjava3.core.SingleTransformer st3 = RxJavaInterop.toV3Transformer( rx.Single.Transformer); io.reactivex.rxjava3.core.CompletableTransformer ct3 = RxJavaInterop.toV3Transformer( rx.Completable.Transformer); // convert from 3.x to 1.x rx.Observable.Transformer ft1 = RxJavaInterop.toV1Transformer( io.reactivex.rxjava3.core.FlowableTransformer); rx.Observable.Transformer ot1 = RxJavaInterop.toV1Transformer( io.reactivex.rxjava3.core.ObservableTransformer, io.reactivex.rxjava3.core.BackpressureStrategy); rx.Single.Transformer st1 = RxJavaInterop.toV1Transformer( io.reactivex.rxjava3.core.SingleTransformer); rx.Completable.Transformer ct1 = RxJavaInterop.toV1Transformer( io.reactivex.rxjava3.core.CompletableTransformer);Convert between 1.x
Flowable.Operator
and 3.x FlowableOperator
// convert from 1.x to 3.x io.reactivex.rxjava3.core.FlowableOperator fo3 = RxJavaInterop.toV3Operator(rx.Observable.Operator); // convert from 3.x to 1.x rx.Observable.Operator fo1 = RxJavaInterop.toV1Operator(io.reactivex.rxjava3.core.FlowableOperator);Convert between 1.x
Subscription
and 3.x Disposable
// convert from 1.x to 3.x io.reactivex.rxjava3.disposables.Disposable d3 = RxJavaInterop.toV3Disposable(rx.Subscription); // convert from 3.x to 1.x rx.Subscription s1 = RxJavaInterop.toV1Subscription(io.reactivex.rxjava3.disposables.Disposable);Convert between 1.x
Scheduler
s and 3.x Scheduler
s
// convert from 1.x to 3.x io.reactivex.rxjava3.core.Scheduler s3 = RxJavaInterop.toV3Scheduler(rx.Scheduler); // convert from 3.x to 1.x rx.Scheduler s1 = RxJavaInterop.toV1Scheduler(io.reactivex.rxjava3.core.Scheduler);
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4