trait CombineObservable[A] extends SyncObservable[A]
- Alphabetic
- By Inheritance
- CombineObservable
- SyncObservable
- Observable
- Named
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract type Self[+T] <: Observable[T]
Basic type for this observable.
Basic type for this observable. Could be EventStream or Signal
- Definition Classes
- Observable
Abstract Value Members
- abstract def combinedValue: Try[A]
This should only be called when all inputs are ready.
This should only be called when all inputs are ready. It will throw if the required parent values are missing.
- Attributes
- protected[this]
- abstract 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.
- Definition Classes
- Observable
- abstract def fireError(nextError: Throwable, transaction: Transaction): Unit
- Attributes
- protected[this]
- Definition Classes
- Observable
- abstract def fireTry(nextValue: Try[A], transaction: Transaction): Unit
- Attributes
- protected[this]
- Definition Classes
- Observable
- abstract def fireValue(nextValue: A, transaction: Transaction): Unit
- Attributes
- protected[this]
- Definition Classes
- Observable
- abstract def inputsReady: Boolean
Check whether inputs (parent observables' values) are all available to be combined.
Check whether inputs (parent observables' values) are all available to be combined.
- Attributes
- protected[this]
- abstract def map[B](project: (A) => B): Self[B]
- project
Note: guarded against exceptions
- Definition Classes
- Observable
- abstract def recover[B >: A](pf: PartialFunction[Throwable, Option[B]]): Self[B]
- pf
Note: guarded against exceptions
- Definition Classes
- Observable
- abstract 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
- Definition Classes
- Observable
- abstract val topoRank: Int
When subclassing Observable **outside of com.raquo.airstream package**, just make this field public:
When subclassing Observable **outside of com.raquo.airstream package**, just make this field public:
override val topoRank: Int = ???
"protected[airstream]" will allow this. See https://github.com/raquo/Airstream/issues/37
- Attributes
- protected[airstream]
- Definition Classes
- Observable
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addInternalObserver(observer: InternalObserver[A]): Unit
Child observable should call this method on its parents when it is started.
Child observable should call this method on its parents when it is started. This observable calls onStart if this action has given it its first observer (internal or external).
- Attributes
- protected[airstream]
- Definition Classes
- Observable
- def addObserver(observer: Observer[A])(implicit owner: Owner): Subscription
Subscribe an external observer to this observable
Subscribe an external observer to this observable
- Definition Classes
- Observable
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- 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.
- Attributes
- protected
- Definition Classes
- Named
- final def displayName: String
- Definition Classes
- Named
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- val externalObservers: ObserverList[Observer[A]]
Note: Observer can be added more than once to an Observable.
Note: Observer can be added more than once to an Observable. If so, it will observe each event as many times as it was added.
- Attributes
- protected[this]
- Definition Classes
- Observable
- def flatMap[B, Inner[_], Output[+_] <: Observable[_]](compose: (A) => Inner[B])(implicit strategy: FlattenStrategy[Self, Inner, Output]): Output[B]
- compose
Note: guarded against exceptions
- Definition Classes
- Observable
- Annotations
- @inline()
- 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
- Definition Classes
- Observable
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val internalObservers: ObserverList[InternalObserver[A]]
Note: This is enforced to be a Set outside of the type system #performance
Note: This is enforced to be a Set outside of the type system #performance
- Attributes
- protected[this]
- Definition Classes
- Observable
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isStarted: Boolean
- Attributes
- protected[this]
- Definition Classes
- Observable
- def mapTo[B](value: => B): Self[B]
value
is passed by name, so it will be evaluated whenever the Observable fires.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
Note: guarded against exceptions
- Definition Classes
- Observable
- 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
- Definition Classes
- Observable
- val maybeDisplayName: UndefOr[String]
This name should identify the instance (observable or observer) uniquely enough for your purposes.
This name should identify the instance (observable or observer) uniquely enough for your purposes. You can read / write it to simplify debugging. Airstream uses this in
debugLog*
methods. In the future, we will expand on this. #TODO[Debug] We don't use this to its full potential yet.- Attributes
- protected[this]
- Definition Classes
- Named
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def onAddedExternalObserver(observer: Observer[A]): Unit
- Attributes
- protected
- Definition Classes
- Observable
- Annotations
- @inline()
- def onInputsReady(transaction: Transaction): Unit
Implementations should call this instead of .fireValue() / .fireTry() Transaction will call
syncFire
when it's time, and that in turn will evaluate maybeCombinedValue and call .fireTry()Implementations should call this instead of .fireValue() / .fireTry() Transaction will call
syncFire
when it's time, and that in turn will evaluate maybeCombinedValue and call .fireTry()- Attributes
- protected[this]
- def onStart(): Unit
This method is fired when this observable starts working (listening for parent events and/or firing its own events), that is, when it gets its first Observer (internal or external).
This method is fired when this observable starts working (listening for parent events and/or firing its own events), that is, when it gets its first Observer (internal or external).
onStart can potentially be called multiple times, the second time being after it has stopped (see onStop).
- Attributes
- protected[this]
- Definition Classes
- CombineObservable → Observable
- def onStop(): Unit
This method is fired when this observable stops working (listening for parent events and/or firing its own events), that is, when it loses its last Observer (internal or external).
This method is fired when this observable stops working (listening for parent events and/or firing its own events), that is, when it loses its last Observer (internal or external).
onStop can potentially be called multiple times, the second time being after it has started again (see onStart).
- Attributes
- protected[this]
- Definition Classes
- CombineObservable → Observable
- val parentObservers: Array[InternalParentObserver[_]]
Parent observers are not immediately active.
Parent observers are not immediately active. onStart/onStop regulates that.
- Attributes
- protected[this]
- def recoverIgnoreErrors: Self[A]
- Definition Classes
- Observable
- def removeExternalObserverNow(observer: Observer[A]): Unit
- Attributes
- protected[airstream]
- Definition Classes
- Observable
- def removeInternalObserverNow(observer: InternalObserver[A]): Unit
Child observable should call Transaction.removeInternalObserver(parent, childInternalObserver) when it is stopped.
Child observable should call Transaction.removeInternalObserver(parent, childInternalObserver) when it is stopped. This observable calls onStop if this action has removed its last observer (internal or external).
- Attributes
- protected[airstream]
- Definition Classes
- Observable
- def setDisplayName(name: String): CombineObservable.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- Definition Classes
- Named
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toSignal[AA >: A](initialIfStream: => AA): Signal[AA]
- Definition Classes
- Observable
- def toStreamOrSignalChanges: EventStream[A]
- Definition Classes
- Observable
- final def toString(): String
Override defaultDisplayName instead of this, if you need to.
Override defaultDisplayName instead of this, if you need to.
- Definition Classes
- Named → AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated