RxJava2Interop

General

Category
Free
Tag
FRP
License
Apache License, Version 2.0
Registered
Sep 7, 2016
Favorites
0
Link
https://github.com/akarnokd/RxJava2Interop
See also
RxPromise
RxAgera
Reduks
RxActions
RxGroups

Additional

Language
Java
Version
v3.1.1 (Aug 31, 2021)
Created
Aug 19, 2016
Updated
Apr 24, 2023
Owner
David Karnok (akarnokd)
Contributors
LYK (dalinaum)
Artem Zinnatullin (artem-zinnatullin)
David Karnok (akarnokd)
Jake Wharton (JakeWharton)
Niklas Baudy (vanniktech)
Paul Woitaschek (PaulWoitaschek)
inferno23
dependabot[bot]
dependabot-preview[bot]
Josh Burton (josh-burton)
10
Activity
Badge
Generate
Download
Source code

RxJavaInterop

RxJava 1.x: RxJava 3.x:

Library to convert between RxJava 1.x and 3.x reactive types.

Interop between 2.x and 3.x

Check out the https://github.com/akarnokd/RxJavaBridge project.

Releases

gradle

dependencies {
    implementation "com.github.akarnokd:rxjava3-interop:3.0.2"
}

Maven search:

http://search.maven.org

Usage

Convert between the reactive base types

import 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 Subjects and FlowableProcessors 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.Transformers and 3.x XTransformers.

// 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 Schedulers and 3.x Schedulers

// 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);