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)) +}