AbstractBaseDefaultSubject

An abstract class extending BaseSubject that implements DefaultSubject.

Parameters

T

the type of value to expect.

R

the type of result to expect. Must be a subclass of T

observation

The ObservationDefault to handle value being observed

Inheritors

Constructors

Link copied to clipboard
constructor(defaultValue: ObservableOptional.Value<R>, initialValue: ObservableOptional.Value<T?>)
constructor(observation: ObservationDefault<R, T?>)

Properties

Link copied to clipboard
open override val current: R

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 default Value of R. Can be used in case Nothing is Initial.initialValue

Link copied to clipboard

The initial ObservableOptional value of T.

Link copied to clipboard

The Observer that observes the observable value.

Link copied to clipboard
open override val stateFlow: MutableStateFlow<R>

StateFlow that expresses the content from the observable.

Link copied to clipboard
open override val valueDelegate: ReadWriteProperty<Any?, R>

A ReadOnlyProperty of T

Functions

Link copied to clipboard
expect override fun bind(coroutineScope: CoroutineScope, context: CoroutineContext)

Bind changes in value to a CoroutineScope in a CoroutineContext

Link copied to clipboard
fun <R : T, T, OO : ObservableOptional<R>> BasicSubject<R, T, OO>.bind(coroutineScope: CoroutineScope)

Convenience method for BasicSubject that calls BasicSubject.bind using the CoroutineContext of the provided CoroutineScope

Link copied to clipboard
open operator override fun getValue(thisRef: Any?, property: KProperty<*>): ObservableOptional.Value<R>
Link copied to clipboard
open override fun observe(onNext: (R?) -> 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: (R) -> 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.

Link copied to clipboard
abstract fun post(newValue: T?)

Updates the value of this Postable

Link copied to clipboard
abstract suspend fun set(newValue: T?)

Updates the value of this Postable in a suspended manner.