From 4597623cbffca9cba5797fec651be97d2ddc0f14 Mon Sep 17 00:00:00 2001 From: Daniil Borisovskii Date: Mon, 27 Apr 2020 11:18:02 +0300 Subject: [PATCH] Added extensions 'emitAfter()' to main RxJava types --- .../src/main/java/ru/touchin/extensions/rx/Flowable.kt | 8 ++++++++ .../src/main/java/ru/touchin/extensions/rx/Maybe.kt | 8 ++++++++ .../src/main/java/ru/touchin/extensions/rx/Observable.kt | 8 ++++++++ .../src/main/java/ru/touchin/extensions/rx/Single.kt | 8 ++++++++ 4 files changed, 32 insertions(+) create mode 100644 rx-extensions/src/main/java/ru/touchin/extensions/rx/Flowable.kt create mode 100644 rx-extensions/src/main/java/ru/touchin/extensions/rx/Maybe.kt create mode 100644 rx-extensions/src/main/java/ru/touchin/extensions/rx/Observable.kt create mode 100644 rx-extensions/src/main/java/ru/touchin/extensions/rx/Single.kt diff --git a/rx-extensions/src/main/java/ru/touchin/extensions/rx/Flowable.kt b/rx-extensions/src/main/java/ru/touchin/extensions/rx/Flowable.kt new file mode 100644 index 0000000..043cf09 --- /dev/null +++ b/rx-extensions/src/main/java/ru/touchin/extensions/rx/Flowable.kt @@ -0,0 +1,8 @@ +package ru.touchin.extensions.rx + +import io.reactivex.Completable +import io.reactivex.Flowable + +fun Flowable.emitAfter(other: Completable): Flowable = this.flatMap { value -> + other.andThen(Flowable.just(value)) +} diff --git a/rx-extensions/src/main/java/ru/touchin/extensions/rx/Maybe.kt b/rx-extensions/src/main/java/ru/touchin/extensions/rx/Maybe.kt new file mode 100644 index 0000000..5f5fe6c --- /dev/null +++ b/rx-extensions/src/main/java/ru/touchin/extensions/rx/Maybe.kt @@ -0,0 +1,8 @@ +package ru.touchin.extensions.rx + +import io.reactivex.Completable +import io.reactivex.Maybe + +fun Maybe.emitAfter(other: Completable): Maybe = this.flatMap { value -> + other.andThen(Maybe.just(value)) +} diff --git a/rx-extensions/src/main/java/ru/touchin/extensions/rx/Observable.kt b/rx-extensions/src/main/java/ru/touchin/extensions/rx/Observable.kt new file mode 100644 index 0000000..0c5a8c5 --- /dev/null +++ b/rx-extensions/src/main/java/ru/touchin/extensions/rx/Observable.kt @@ -0,0 +1,8 @@ +package ru.touchin.extensions.rx + +import io.reactivex.Completable +import io.reactivex.Observable + +fun Observable.emitAfter(other: Completable): Observable = this.flatMap { value -> + other.andThen(Observable.just(value)) +} diff --git a/rx-extensions/src/main/java/ru/touchin/extensions/rx/Single.kt b/rx-extensions/src/main/java/ru/touchin/extensions/rx/Single.kt new file mode 100644 index 0000000..9c3b6c7 --- /dev/null +++ b/rx-extensions/src/main/java/ru/touchin/extensions/rx/Single.kt @@ -0,0 +1,8 @@ +package ru.touchin.extensions.rx + +import io.reactivex.Completable +import io.reactivex.Single + +fun Single.emitAfter(other: Completable): Single = this.flatMap { value -> + other.andThen(Single.just(value)) +}