Observable

trait Observable[+A] extends BaseObservable[Observable, A]

All the interesting stuff is in BaseObservable. This trait exists only as a sort of type alias for BaseObservable[Observable, A]. (I can't use an actual type alias for this due to an illegal cycle)

Companion:
object
trait Named
trait Source[A]
class Object
trait Matchable
class Any
class SwitchEventStream[I, O]
class SwitchSignal[A]
class FoldLeftSignal[A, B]
class MapEventStream[I, O]
class MapSignal[I, O]
class DerivedVarSignal[A, B]
class SplitEventStream[M, Input, Output, Key]
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]
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]

Value members

Concrete methods

def debugBreak(when: Try[A] => Boolean): Self[A]
Implicitly added by toDebuggableObservable

Trigger JS debugger for emitted events and errors if when passes Note: for Signals this also triggers onStart (with the current value at the time)

Trigger JS debugger for emitted events and errors if when passes Note: for Signals this also triggers onStart (with the current value at the time)

def debugBreakErrors(when: Throwable => Boolean): Self[A]
Implicitly added by toDebuggableObservable

Trigger JS debugger for emitted errors (but not events) if when passes Note: for Signals this also triggers onStart (if current value is an error)

Trigger JS debugger for emitted errors (but not events) if when passes Note: for Signals this also triggers onStart (if current value is an error)

def debugBreakEvents(when: A => Boolean): Self[A]
Implicitly added by toDebuggableObservable

Trigger JS debugger for emitted events (but not errors) if when passes Note: for Signals this also triggers onStart (if current value is not an error)

Trigger JS debugger for emitted events (but not errors) if when passes Note: for Signals this also triggers onStart (if current value is not an error)

def debugBreakLifecycle: Self[A]
Implicitly added by toDebuggableObservable

Trigger JS debugger when the observable starts and stops

Trigger JS debugger when the observable starts and stops

def debugBreakStarts: Self[A]
Implicitly added by toDebuggableObservable

Trigger JS debugger when the observable starts

Trigger JS debugger when the observable starts

def debugBreakStops: Self[A]
Implicitly added by toDebuggableObservable

Trigger JS debugger when the observable stops

Trigger JS debugger when the observable stops

def debugLog(when: Try[A] => Boolean, useJsLogger: Boolean): Self[A]
Implicitly added by toDebuggableObservable

Log emitted events and errors if when condition passes, using dom.console.log if useJsLogger is true. Note: for Signals this also triggers onStart (with the current value at the time)

Log emitted events and errors if when condition passes, using dom.console.log if useJsLogger is true. Note: for Signals this also triggers onStart (with the current value at the time)

def debugLogErrors(when: Throwable => Boolean): Self[A]
Implicitly added by toDebuggableObservable

Log emitted errors (but not regular events) if when condition passes Note: for Signals this also triggers onStart (if current value is an error)

Log emitted errors (but not regular events) if when condition passes Note: for Signals this also triggers onStart (if current value is an error)

def debugLogEvents(when: A => Boolean, useJsLogger: Boolean): Self[A]
Implicitly added by toDebuggableObservable

Log emitted events (but not errors) if when condition passes, using dom.console.log if useJsLogger is true. Note: for Signals this also triggers onStart (if current value is not an error)

Log emitted events (but not errors) if when condition passes, using dom.console.log if useJsLogger is true. Note: for Signals this also triggers onStart (if current value is not an error)

def debugLogLifecycle(logStarts: Boolean, logStops: Boolean): Self[A]
Implicitly added by toDebuggableObservable

Log when the observable starts and stops

Log when the observable starts and stops

def debugLogStarts: Self[A]
Implicitly added by toDebuggableObservable

Log when the observable starts

Log when the observable starts

def debugLogStops: Self[A]
Implicitly added by toDebuggableObservable

Log when the observable stops

Log when the observable stops

def debugSpy(fn: Try[A] => Unit): Self[A]
Implicitly added by toDebuggableObservable

Execute fn on every emitted event or error Note: for Signals this also triggers onStart (with the current value at the time)

Execute fn on every emitted event or error Note: for Signals this also triggers onStart (with the current value at the time)

def debugSpyErrors(fn: Throwable => Unit): Self[A]
Implicitly added by toDebuggableObservable

Execute fn on every emitted error (but not regular events) Note: for Signals this also triggers onStart (if current value is an error)

Execute fn on every emitted error (but not regular events) Note: for Signals this also triggers onStart (if current value is an error)

def debugSpyEvents(fn: A => Unit): Self[A]
Implicitly added by toDebuggableObservable

Execute fn on every emitted event (but not error) Note: for Signals this also triggers onStart (if current value is not an error)

Execute fn on every emitted event (but not error) Note: for Signals this also triggers onStart (if current value is not an error)

def debugSpyLifecycle(startFn: Int => Unit, stopFn: () => Unit): Self[A]
Implicitly added by toDebuggableObservable

Execute callbacks on when the observable starts and stops

Execute callbacks on when the observable starts and stops

Value parameters:
startFn

topoRank => ()

def debugSpyStarts(fn: Int => Unit): Self[A]
Implicitly added by toDebuggableObservable

Execute callbacks on when the observable starts

Execute callbacks on when the observable starts

Value parameters:
fn

topoRank => ()

def debugSpyStops(fn: () => Unit): Self[A]
Implicitly added by toDebuggableObservable

Execute callbacks on when the observable stops

Execute callbacks on when the observable stops

def debugTopoRank: Int
Implicitly added by toDebuggableObservable

Return the observable's topoRank. This does not affect the observable in any way.

Return the observable's topoRank. This does not affect the observable in any way.

def debugWithName(displayName: String): Self[A]
Implicitly added by toDebuggableObservable

Create a new observable that listens to the original, and set the displayName of the new observable. This is different from setDisplayName.

Create a new observable that listens to the original, and set the displayName of the new observable. This is different from setDisplayName.

If you say stream.debugWithName("foo").debugLog(), the displayName used by the logger will be "foo" verbatim, whereas if you say stream.setDisplayName("foo").debugLog(), the logger's displayName will be "foo|Debug" – with a suffix – to differentiate it from the "foo" displayName of stream itself.

Inherited methods

def addObserver(observer: Observer[A])(implicit owner: Owner): Subscription

Subscribe an external observer to this observable

Subscribe an external observer to this observable

Inherited from:
BaseObservable
def debugWith(debugger: Debugger[A]): Self[A]

Create a new observable that listens to this one and has a debugger attached.

Create a new observable that listens to this one and has a debugger attached.

Use the resulting observable in place of the original observable in your code. See docs for details.

There are more convenient methods available implicitly from DebuggableObservable and DebuggableSignal, such as debugLog(), debugSpyEvents(), etc.

Inherited from:
BaseObservable
protected def defaultDisplayName: String

This is the method that subclasses override to preserve the user's ability to set custom display names.

This is the method that subclasses override to preserve the user's ability to set custom display names.

Inherited from:
Named
final def displayName: String
Inherited from:
Named
def flatMap[B, Inner[_], Output <: (Observable)](compose: A => Inner[B])(implicit strategy: FlattenStrategy[Observable, Inner, Output]): Output[B]
Value parameters:
compose

Note: guarded against exceptions

Inherited from:
BaseObservable
def foreach(onNext: A => Unit)(implicit owner: Owner): Subscription

Create an external observer from a function and subscribe it to this observable.

Create an external observer from a function and subscribe it to this observable.

Note: since you won't have a reference to the observer, you will need to call Subscription.kill() to unsubscribe

Inherited from:
BaseObservable
def map[B](project: A => B): Self[B]
Value parameters:
project

Note: guarded against exceptions

Inherited from:
BaseObservable
def mapTo[B](value: => B): Self[B]

value is passed by name, so it will be evaluated whenever the Observable fires. Use it to sample mutable values (e.g. myInput.ref.value in Laminar).

value is passed by name, so it will be evaluated whenever the Observable fires. Use it to sample mutable values (e.g. myInput.ref.value in Laminar).

See also: mapToStrict

Value parameters:
value

Note: guarded against exceptions

Inherited from:
BaseObservable
def mapToStrict[B](value: B): Self[B]

value is evaluated strictly, only once, when this method is called.

value is evaluated strictly, only once, when this method is called.

See also: mapTo

Inherited from:
BaseObservable
def recover[B >: A](pf: PartialFunction[Throwable, Option[B]]): Self[B]
Value parameters:
pf

Note: guarded against exceptions

Inherited from:
BaseObservable
def recoverIgnoreErrors: Self[A]
Inherited from:
BaseObservable
def recoverToTry: Self[Try[A]]

Convert this to an observable that emits Failure(err) instead of erroring

Convert this to an observable that emits Failure(err) instead of erroring

Inherited from:
BaseObservable
def setDisplayName(name: String): Named.this.type

Set the display name for this instance (observable or observer).

Set the display name for this instance (observable or observer).

  • This method modifies the instance and returns this. It does not create a new instance.
  • New name you set will override the previous name, if any. This might change in the future. For the sake of sanity, don't call this more than once for the same instance.
  • If display name is set, toString will output it instead of the standard type@hashcode string
Inherited from:
Named
Inherited from:
Source
def toSignalIfStream[B >: A](ifStream: EventStream[A] => Signal[B]): Signal[B]
Inherited from:
BaseObservable
def toStreamIfSignal[B >: A](ifSignal: Signal[A] => EventStream[B]): EventStream[B]
Inherited from:
BaseObservable
final override def toString: String

Override defaultDisplayName instead of this, if you need to.

Override defaultDisplayName instead of this, if you need to.

Definition Classes
Named -> Any
Inherited from:
Named
def toWeakSignal: Signal[Option[A]]

Convert this observable to a signal of Option[A]. If it is a stream, set initial value to None.

Convert this observable to a signal of Option[A]. If it is a stream, set initial value to None.

Inherited from:
BaseObservable

Concrete fields

Implicitly added by toDebuggableObservable