ObservableSet

interface ObservableSet<T> : Observable<Set<T>>

An observable set whose read-only snapshot is available through current, with observable size and presence.

Inheritors

Properties

Link copied to clipboard
abstract val current: Set<T>

The current state or value of the observable.

Link copied to clipboard

Whether any callback is currently registered.

Link copied to clipboard
abstract val observerCount: Int

How many callbacks are currently registered.

Link copied to clipboard
abstract val size: Observable<Int>

Emits the set size whenever it changes.

Functions

Link copied to clipboard
fun <T, R, O> ObservableSet<T>.combineLatest(transformer: (T) -> Observable<R>, aggregator: (Iterable<R>) -> O): Observable<O>

Combines the content of an ObservableSet into a single observable by applying a mapping function to each element and aggregating the results. This function generates a single observable that emits every time the underlying set of contents is changed, or some of the values (which are in turn observables) emit a changes, triggering the re-evaluation of the aggregation function.

Link copied to clipboard
abstract fun containsItem(item: T): Observable<Boolean>

Observes the membership status of a specific item in the set. The returned observable will emit true if the item is a member of the set, and false otherwise. Emits updates whenever the membership status changes.

Link copied to clipboard
fun <T> Observable<Option<T>>.currentOrNull(): T?

Retrieves the current value of the observable if present, or null if no value is available.

Link copied to clipboard
abstract override fun dispose()

Unregisters every callback registered with this observable.

Link copied to clipboard
fun <T, O> ObservableSet<T>.flatMap(transformer: (T) -> Observable<O>): Observable<Option<O>>

Transforms an ObservableSet of type T into a single Observable of type arrow.core.Option<O> by fusing the individual observables obtained from each item in the set.

Link copied to clipboard

Converts this ObservableSet of observables into a unique observable that emits when either this set would have changed (addition/removal of members) or one of its members emits a value.

Link copied to clipboard
abstract fun <S> map(transform: (Set<T>) -> S): Observable<S>

Transforms the current observable into a new observable by applying the specified transformation function to its emitted values.

Link copied to clipboard
abstract fun <O, R> mergeWith(other: Observable<O>, merge: (Set<T>, O) -> R): Observable<R>

Combines the current observable with another observable, producing a new observable that emits values derived by applying the provided merge function to the current values of both observables.

Link copied to clipboard
abstract fun onChange(notifyOnRegistration: Boolean = true, callback: (Set<T>) -> Unit): Disposable

Registers callback to be invoked with every new value of this observable, and right away with the current one if notifyOnRegistration.

Link copied to clipboard
fun <T, R> Observable<T>.switchMap(transform: (T) -> Observable<R>): Observable<R>

Maps the current value of this Observable to an inner observable through transform, and mirrors the inner observable of the most recent value only: whenever this observable emits, the previous inner observable is unsubscribed and the new one is followed.

Link copied to clipboard

Combines this observable set with another, producing a new observable set that represents the union of both sets.