Skip to content
Kotlin multi-platform implementation of Reactive Extensions
Branch: master
Clone or download
Latest commit 7c3d519 Apr 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets Added Reaktive logo for GitHub Apr 11, 2019
gradle/wrapper
reaktive Merge pull request #20 from badoo/rename-factory-methods Apr 20, 2019
rxjava2-interop Rename some factory methods Apr 16, 2019
sample-android-app Rename some factory methods Apr 16, 2019
sample-js-browser-app Add JS support and merge IOS builds to one Apr 12, 2019
.gitignore Fixed mk-jones's comments Mar 29, 2019
.travis.yml
LICENSE Initial commit Mar 6, 2019
README.md Update README.md Apr 13, 2019
build.gradle Fix js test and upgrade kotlin version to fix llvm compilation Apr 13, 2019
gradle.properties
gradlew
gradlew.bat Publish artifcats Apr 5, 2019
publication.gradle Rename JVM target to COMMON and split Schedulers.kt Apr 15, 2019
settings.gradle
target.gradle Fix MpBuildTarget.isCommon Apr 15, 2019

README.md

Kotlin multi-platform implementation of Reactive Extensions.

Library status: under development, alpha pre-release is available, public API is subject to change

Setup

Add JitPack repository into your root build.gradle file:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Add the following dependencies into your module's build.gradle file:

Main library

If you are developing a Kotlin multi-platform library:

implementation 'com.github.badoo.reaktive:reaktive:<latest-version>'

If you are developing a Kotlin Android app:

implementation 'com.github.badoo.reaktive:reaktive-android:<latest-version>'

If you are developing a Kotlin JVM project

implementation 'com.github.badoo.reaktive:reaktive-jvm:<latest-version>'

RxJava2 interoperability

implementation 'com.github.badoo.reaktive:rxjava2-interop:<latest-version>'

Features:

  • Multiplatform: JVM and Android, iOS is under development
  • Schedulers support: computation, IO, trampoline, main
  • Supported sources: Observable, Maybe, Single, Completable
  • Subjects: PublishSubject, BehaviorSubject
  • Interoperability with RxJava2: convertion of sources between Reaktive and RxJava2, ability to reuse RxJava2's schedulers
  • Supported operators:
    • Observable: asCompletable, collect, combineLatest, concatMap, debounce, doOnBeforeXxx, filter, firstOrComplete, firstOrDefault, firstOrError, flatMap, flatMapCompletable, flatMapMaybe, flatMapSingle, flatten, map, merge, notNull, observeOn, ofType, sample, subscribeOn, throttle, toCompletable, toList, zip
    • Maybe: asCompletable, asObservable, asSingle, concat, doOnBeforeXxx, filter, flatMap, flatMapCompletable, flatMapObservable, flatMapSingle, flatten, map, merge, notNull, observeOn, ofType, subscribeOn, zip
    • Single: asCompletable, asMaybe, asObservable, concat, doOnBeforeXxx, flatMap, flatMapCompletable, flatMapMaybe, flatMapObservable, flatten, map, merge, notNull, observeOn, subscribeOn, zip
    • Completable: asMaybe, asObservable, asSingle, concat, doOnBeforeXxx, merge, observeOn, subscribeOn
    • Plus multiple factory and conversion functions
You can’t perform that action at this time.