DebuggableObserver

com.raquo.airstream.debug.DebuggableObserver
final class DebuggableObserver[A](val observer: Observer[A]) extends AnyVal

This implicit class provides debug* methods for observers.

Every debug* method creates a new observer that performs the specified behaviour and then calls the original observer.

Note: type inference doesn't work on Observer debug* methods, so you need to provide the AA type param (it should be same as A).

Attributes

Graph
Supertypes
class AnyVal
trait Matchable
class Any

Members list

Value members

Concrete methods

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

Trigger JS debugger for emitted events and errors if when passes

Trigger JS debugger for emitted events and errors if when passes

Attributes

def debugBreakErrors(when: Throwable => Boolean): Observer[A]

Trigger JS debugger for emitted errors (but not events) if when passes

Trigger JS debugger for emitted errors (but not events) if when passes

Attributes

def debugBreakEvents(when: A => Boolean): Observer[A]

Trigger JS debugger for emitted events (but not errors) if when passes

Trigger JS debugger for emitted events (but not errors) if when passes

Attributes

def debugLog(when: Try[A] => Boolean, useJsLogger: Boolean): Observer[A]

Log emitted events and errors if when condition passes, using dom.console.log if useJsLogger is true.

Log emitted events and errors if when condition passes, using dom.console.log if useJsLogger is true.

Attributes

def debugLogErrors(when: Throwable => Boolean): Observer[A]

Log emitted errors (but not regular events) if when condition passes

Log emitted errors (but not regular events) if when condition passes

Attributes

def debugLogEvents(when: A => Boolean, useJsLogger: Boolean): Observer[A]

Log emitted events (but not errors) if when condition passes, using dom.console.log if useJsLogger is true.

Log emitted events (but not errors) if when condition passes, using dom.console.log if useJsLogger is true.

Attributes

def debugSpy(fn: Try[A] => Unit): Observer[A]

Execute fn on every emitted event or error

Execute fn on every emitted event or error

Attributes

def debugSpyErrors(fn: Throwable => Unit): Observer[A]

Execute fn on every emitted error (but not regular events)

Execute fn on every emitted error (but not regular events)

Attributes

def debugSpyEvents(fn: A => Unit): Observer[A]

Execute fn on every emitted event (but not error)

Execute fn on every emitted event (but not error)

Attributes

def debugWithName(displayName: String): Observer[A]

Create a new observer with a displayName, that sends all events to the original observer. This is different from setDisplayName.

Create a new observer with a displayName, that sends all events to the original observer. This is different from setDisplayName.

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

Attributes

Concrete fields

val observer: Observer[A]