Added function "unwrapOrSkip()" for Observable and Flowable

This commit is contained in:
Daniil Borisovskii 2020-04-28 18:58:50 +03:00
parent 175affafb3
commit fe3876d886
2 changed files with 12 additions and 0 deletions

View File

@ -17,3 +17,9 @@ fun <T> Flowable<Optional<T>>.unwrapOrError(
?.let { Flowable.just(it) }
?: Flowable.error(ShouldNotHappenException(errorMessage))
}
fun <T> Flowable<Optional<T>>.unwrapOrSkip(): Flowable<T> = this.flatMap { wrapper ->
wrapper.get()
?.let { Flowable.just(it) }
?: Flowable.empty<T>().skip(1)
}

View File

@ -17,3 +17,9 @@ fun <T> Observable<Optional<T>>.unwrapOrError(
?.let { Observable.just(it) }
?: Observable.error(ShouldNotHappenException(errorMessage))
}
fun <T> Observable<Optional<T>>.unwrapOrSkip(): Observable<T> = this.flatMap { wrapper ->
wrapper.get()
?.let { Observable.just(it) }
?: Observable.empty<T>().skip(1)
}