ursus
09/22/2018, 5:34 PMfun <T, R> Observable<T>.emitApiEvents2(
started: () -> R,
success: (T) -> R,
errorr: (Throwable) -> R): Observable<R> {
return emitApiEvents2(started, success, errorr) { it }
}
fun <T, R, S> Observable<T>.emitApiEvents2(
started: () -> R,
success: (T) -> R,
errorr: (S) -> R,
customErrorTransformation: (Throwable) -> S): Observable<R> {
return map { success(it) }
.doOnError(LOG::e)
.onErrorReturn { t -> errorr(customErrorTransformation(t)) }
.startWith(started())
}