Packages

c

com.raquo.airstream.debug

DebuggableObserver

final class DebuggableObserver[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).

Linear Supertypes
AnyVal, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DebuggableObserver
  2. AnyVal
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new DebuggableObserver(observer: Observer[A])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    Any
  2. final def ##: Int
    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def debugBreak(when: (Try[A]) => Boolean = always): Observer[A]

    Trigger JS debugger for emitted events and errors if when passes

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

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

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

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

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

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

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

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

  10. def debugLogEvents(when: (A) => Boolean = always, useJsLogger: Boolean = false): Observer[A]

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

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

    Execute fn on every emitted event or error

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

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

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

    Execute fn on every emitted event (but not error)

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

    Create a new observer with a displayName, that sends all events to the original observer.

    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.

  15. def getClass(): Class[_ <: AnyVal]
    Definition Classes
    AnyVal → Any
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. def log(action: String, value: Any, useJsLogger: Boolean): Unit
    Attributes
    protected[this]
  18. val observer: Observer[A]
  19. def toString(): String
    Definition Classes
    Any

Inherited from AnyVal

Inherited from Any

Ungrouped