bind |
fun <A, B> ObservableValue<out A>.bind(function: (A) -> ObservableValue<B>): ObservableValue<B> data class Person(val height: ObservableValue) val person: ObservableValue = (..) val personHeight: ObservableValue = person.bind { it.height } |
bindOut |
fun <A, B> ObservableValue<out A>.bindOut(function: (A) -> ObservableValue<out B>): ObservableValue<out B> A variant of bind that has out variance on the output type. This is sometimes useful when kotlin is too eager to propagate variance constraints and type inference fails. |
map |
fun <A, B> ObservableValue<out A>.map(function: (A) -> B): ObservableValue<B> val person: ObservableValue = (..) val personName: ObservableValue = person.map { it.name } |