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

commonMain.com.arkivanov.mvikotlin.rx.ObserverBuilder.kt Maven / Gradle / Ivy

package com.arkivanov.mvikotlin.rx

// Not inlined until https://youtrack.jetbrains.com/issue/KT-45866.
// Also check https://github.com/arkivanov/MVIKotlin/issues/145 before making it inlined.
fun  observer(onComplete: (() -> Unit)? = null, onNext: ((T) -> Unit)? = null): Observer =
    ObserverImpl(onComplete, onNext)

private class ObserverImpl(
    private val onComplete: (() -> Unit)? = null,
    private val onNext: ((T) -> Unit)? = null
) : Observer {
    override fun onNext(value: T) {
        onNext?.invoke(value)
    }

    override fun onComplete() {
        onComplete?.invoke()
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy