corda / net.corda.client.fxutils / rx.Observable

Extensions for rx.Observable

fold fun <T, R> Observable<T>.fold(accumulator: R, folderFun: (R, T) -> Unit): R

fold takes an rx.Observable stream and applies fold function on it, and collects all elements using the accumulator.

foldToObservableValue fun <A, B> Observable<A>.foldToObservableValue(initial: B, folderFun: (A, B) -> B): ObservableValue<B>

foldToObservableValue takes an rx.Observable stream and creates an ObservableValue out of it.

recordAsAssociation fun <A, K> Observable<A>.recordAsAssociation(toKey: (A) -> K, merge: (K, oldValue: A, newValue: A) -> A = { _key, _oldValue, newValue -> newValue }): ObservableMap<K, A>

This variant simply associates each event with its key.

recordInSequence fun <A> Observable<A>.recordInSequence(): ObservableList<A>

recordInSequence records incoming events on the rx.Observable in sequence.