DebuggableSignal

class DebuggableSignal[+A](val observable: Signal[A]) extends DebuggableObservable[Signal, A]

This implicit class provides Signal-specific debug* methods, e.g.:

signal.debugLogInitialEval().debugLog()

See DebuggableObservable and the docs for details.

The implicit conversion to this class is defined in the Signal companion object.

This is not a value class because it needs to extend DebuggableObservable. The performance penalty of one extra instantiation per debugged stream should not be noticeable.

class Object
trait Matchable
class Any

Value members

Concrete methods

def debugBreakEvalFromParent(when: Try[A] => Boolean): Signal[A]

Trigger JS debugger when signal is evaluating its initial value (if when passes at that time)

Trigger JS debugger when signal is evaluating its initial value (if when passes at that time)

def debugLogEvalFromParent(when: Try[A] => Boolean, useJsLogger: Boolean): Signal[A]

Log when signal is evaluating its initial value (if when passes at that time)

Log when signal is evaluating its initial value (if when passes at that time)

def debugSpyEvalFromParent(fn: Try[A] => Unit): Signal[A]

Execute fn when signal is evaluating its currentValueFromParent. This is typically triggered when evaluating signal's initial value onStart, as well as on subsequent re-starts when the signal is syncing its value to the parent's new current value.

Execute fn when signal is evaluating its currentValueFromParent. This is typically triggered when evaluating signal's initial value onStart, as well as on subsequent re-starts when the signal is syncing its value to the parent's new current value.

Inherited methods

def debugBreak(when: Try[A] => Boolean): Self[A]

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)

Inherited from:
DebuggableObservable
def debugBreakErrors(when: Throwable => Boolean): Self[A]

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)

Inherited from:
DebuggableObservable
def debugBreakEvents(when: A => Boolean): Self[A]

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)

Inherited from:
DebuggableObservable
def debugBreakLifecycle: Self[A]

Trigger JS debugger when the observable starts and stops

Trigger JS debugger when the observable starts and stops

Inherited from:
DebuggableObservable
def debugBreakStarts: Self[A]

Trigger JS debugger when the observable starts

Trigger JS debugger when the observable starts

Inherited from:
DebuggableObservable
def debugBreakStops: Self[A]

Trigger JS debugger when the observable stops

Trigger JS debugger when the observable stops

Inherited from:
DebuggableObservable
def debugLog(when: Try[A] => Boolean, useJsLogger: Boolean): Self[A]

Log emitted events and errors if when condition passes, using dom.console.log if useJsLogger is true. Note: for Signals this also triggers on start (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 on start (with the current value at the time)

Inherited from:
DebuggableObservable
def debugLogErrors(when: Throwable => Boolean): Self[A]

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)

Inherited from:
DebuggableObservable
def debugLogEvents(when: A => Boolean, useJsLogger: Boolean): Self[A]

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)

Inherited from:
DebuggableObservable
def debugLogLifecycle(logStarts: Boolean, logStops: Boolean): Self[A]

Log when the observable starts and stops

Log when the observable starts and stops

Inherited from:
DebuggableObservable
def debugLogStarts: Self[A]

Log when the observable starts

Log when the observable starts

Inherited from:
DebuggableObservable
def debugLogStops: Self[A]

Log when the observable stops

Log when the observable stops

Inherited from:
DebuggableObservable
def debugSpy(fn: Try[A] => Unit): Self[A]

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)

Inherited from:
DebuggableObservable
def debugSpyErrors(fn: Throwable => Unit): Self[A]

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)

Inherited from:
DebuggableObservable
def debugSpyEvents(fn: A => Unit): Self[A]

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)

Inherited from:
DebuggableObservable
def debugSpyLifecycle(startFn: Int => Unit, stopFn: () => Unit): Self[A]

Execute callbacks on when the observable starts and stops

Execute callbacks on when the observable starts and stops

Value parameters:
startFn

topoRank => ()

Inherited from:
DebuggableObservable
def debugSpyStarts(fn: Int => Unit): Self[A]

Execute callbacks on when the observable starts

Execute callbacks on when the observable starts

Value parameters:
fn

topoRank => ()

Inherited from:
DebuggableObservable
def debugSpyStops(fn: () => Unit): Self[A]

Execute callbacks on when the observable stops

Execute callbacks on when the observable stops

Inherited from:
DebuggableObservable
def debugTopoRank: Int

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.

Inherited from:
DebuggableObservable
def debugWithName(displayName: String): Self[A]

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 from:
DebuggableObservable

Concrete fields

override val observable: Signal[A]