ReadOnlyPropertyInitializedObservable

class ReadOnlyPropertyInitializedObservable<T>(readOnlyProperty: ReadOnlyProperty<Any?, T>, observation: ObservationInitialized<T> = ObservationInitialized( ObservableOptional.Value( run { val v by readOnlyProperty v }, ), )) : BaseInitializedObservable<T> , InitializedObservable<T>

A BaseInitializedObservable that matches its value to a ReadOnlyProperty. When the ReadOnlyProperty updates, changes to the property are not immediately delegated back to the observable. Use a Flow based observable if synchronized values are required.

Parameters

T

the type of value to expect.

readOnlyProperty

The ReadOnlyProperty to track.

observation

The ObservationInitialized to handle observation.

Constructors

Link copied to clipboard
constructor(readOnlyProperty: ReadOnlyProperty<Any?, T>, observation: ObservationInitialized<T> = ObservationInitialized( ObservableOptional.Value( run { val v by readOnlyProperty v }, ), ))

Properties

Link copied to clipboard
open override val current: T

The current value of R

Link copied to clipboard
open override val currentOrNull: T?

The current value T or null being observed

Link copied to clipboard

The initial ObservableOptional value of T.

Link copied to clipboard
expect open override val stateFlow: StateFlow<T>

StateFlow that expresses the content from the observable.

Link copied to clipboard
expect open override val valueDelegate: ReadOnlyProperty<Any?, T>

Functions

Link copied to clipboard
open operator override fun getValue(thisRef: Any?, property: KProperty<*>): ObservableOptional.Value<T>
Link copied to clipboard
open override fun observe(onNext: (T?) -> Unit): Disposable

Creates an observation that calls onNext each time a new value is observed until the resulting Disposable is disposed

Link copied to clipboard
open override fun observeInitialized(onNext: (T) -> Unit): Disposable
Link copied to clipboard
fun <T> WithState<T?>.observeNotNullOnLifecycle(lifecycleOwner: LifecycleOwner, filter: suspend (T) -> Boolean = { true }, onNext: (T) -> Unit): Job

Observes WithState of a nullable value on the lifecycle of a LifecycleOwner

Link copied to clipboard
fun <T> WithState<T>.observeOnLifecycle(lifecycleOwner: LifecycleOwner, filter: suspend (T) -> Boolean = { true }, onNext: (T) -> Unit): Job

Observes WithState on the lifecycle of a LifecycleOwner

fun <T, R> WithState<T>.observeOnLifecycle(lifecycleOwner: LifecycleOwner, filter: suspend (T) -> Boolean = { true }, transform: suspend (T) -> R, onNext: (R) -> Unit): Job

Observes WithState on the lifecycle of a LifecycleOwner by transforming the observed value.