Source

trait Source[+A]

A Source is something that can be converted to an Observable. The counterparty to Source is a Sink, something that can be converted to an Observer.

A Source could be an Observable itself, an EventBus, a Var, or, via implicits, a third party type like Future or ZIO.

The point of using Source instead of Observable in your API is to let the end users pass simply eventBus instead of eventBus.events to a method that requires Source, and to achieve that without having an implicit conversion from EventBus to Observable, because then you'd also want an implicit conversion from EventBus to Observer, and those two would be incompatible (e.g. both Observable and Observer have a filter method).

Companion:
object
class Object
trait Matchable
class Any
trait BaseObservable[Self, A]
trait EventStream[A]
class CombineEventStreamN[A, Out]
class CombineEventStream2[T1, T2, Out]
class CombineEventStream3[T1, T2, T3, Out]
class CombineEventStream4[T1, T2, T3, T4, Out]
class CombineEventStream5[T1, T2, T3, T4, T5, Out]
class CombineEventStream6[T1, T2, T3, T4, T5, T6, Out]
class CombineEventStream7[T1, T2, T3, T4, T5, T6, T7, Out]
class CombineEventStream8[T1, T2, T3, T4, T5, T6, T7, T8, Out]
class CombineEventStream9[T1, T2, T3, T4, T5, T6, T7, T8, T9, Out]
class SampleCombineEventStream2[T0, T1, Out]
class SampleCombineEventStream3[T0, T1, T2, Out]
class SampleCombineEventStream4[T0, T1, T2, T3, Out]
class SampleCombineEventStream5[T0, T1, T2, T3, T4, Out]
class SampleCombineEventStream6[T0, T1, T2, T3, T4, T5, Out]
class SampleCombineEventStream7[T0, T1, T2, T3, T4, T5, T6, Out]
class SampleCombineEventStream8[T0, T1, T2, T3, T4, T5, T6, T7, Out]
class SampleCombineEventStream9[T0, T1, T2, T3, T4, T5, T6, T7, T8, Out]
class SwitchEventStream[I, O]
class MapEventStream[I, O]
class SplitEventStream[M, Input, Output, Key]
trait Observable[A]
class SwitchSignal[A]
class FoldLeftSignal[A, B]
class MapSignal[I, O]
class DerivedVarSignal[A, B]
trait Signal[A]
class CombineSignalN[A, Out]
class CombineSignal2[T1, T2, Out]
class CombineSignal3[T1, T2, T3, Out]
class CombineSignal4[T1, T2, T3, T4, Out]
class CombineSignal5[T1, T2, T3, T4, T5, Out]
class CombineSignal6[T1, T2, T3, T4, T5, T6, Out]
class CombineSignal7[T1, T2, T3, T4, T5, T6, T7, Out]
class CombineSignal8[T1, T2, T3, T4, T5, T6, T7, T8, Out]
class CombineSignal9[T1, T2, T3, T4, T5, T6, T7, T8, T9, Out]
class SampleCombineSignalN[A, Out]
class SampleCombineSignal2[T0, T1, Out]
class SampleCombineSignal3[T0, T1, T2, Out]
class SampleCombineSignal4[T0, T1, T2, T3, Out]
class SampleCombineSignal5[T0, T1, T2, T3, T4, Out]
class SampleCombineSignal6[T0, T1, T2, T3, T4, T5, Out]
class SampleCombineSignal7[T0, T1, T2, T3, T4, T5, T6, Out]
class SampleCombineSignal8[T0, T1, T2, T3, T4, T5, T6, T7, Out]
class SampleCombineSignal9[T0, T1, T2, T3, T4, T5, T6, T7, T8, Out]
class Val[A]
class FutureSignal[A]
trait StrictSignal[A]
trait OwnedSignal[A]
trait CustomSource[A]
trait EventSource[A]
class EventBus[A]
trait SignalSource[A]
trait Var[A]
class DerivedVar[A, B]
class SourceVar[A]

Value members

Abstract methods