GithubHelp home page GithubHelp logo

fabusuyi012 / rxjava2interop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from akarnokd/rxjavainterop

0.0 1.0 0.0 132 KB

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

License: Apache License 2.0

CSS 1.81% Java 98.19%

rxjava2interop's Introduction

RxJava2Interop

codecov.io Maven Central

RxJava 1.x: RxJava 1.x RxJava 2.x: RxJava 2.x

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

Releases

gradle

dependencies {
    compile "com.github.akarnokd:rxjava2-interop:0.11.1"
}

Maven search:

http://search.maven.org

Usage

Converting between the reactive base types

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

Converting between Subjects and Processors.

Note that 2.x Subjects and FlowableProcessors 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);

Converting between 1.x X.Transformers and 2.x XTransformers.

// 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 between 1.x Flowable.Operator and 2.x FlowableOperator

// 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 between 1.x Subscription and 2.x Disposable

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

rxjava2interop's People

Contributors

akarnokd avatar vanniktech avatar artem-zinnatullin avatar jakewharton avatar josh-burton avatar paulwoitaschek avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.