All Downloads are FREE. Search and download functionalities are using the official Maven repository.

rx.lang.kotlin.single.kt Maven / Gradle / Ivy

package rx.lang.kotlin

import rx.Single
import rx.SingleSubscriber
import rx.Subscription
import java.util.concurrent.Callable
import java.util.concurrent.Future

fun  single(body: (s: SingleSubscriber) -> Unit): Single = Single.create(body)
fun  singleOf(value: T): Single = Single.just(value)
fun  Future.toSingle(): Single = Single.from(this)
fun  Callable.toSingle(): Single = Single.fromCallable { this.call() }
fun  Throwable.toSingle(): Single = Single.error(this)

/**
 * Subscribe with a subscriber that is configured inside body
 */
inline fun  Single.subscribeWith(body: FunctionSingleSubscriberModifier.() -> Unit): Subscription {
    val modifier = FunctionSingleSubscriberModifier(singleSubscriber())
    modifier.body()
    return subscribe(modifier.subscriber)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy