trait OnDemandPropagation[M[_], Var[_], Val[_]] extends Propagation[M, Var, Val]
- Alphabetic
- By Inheritance
- OnDemandPropagation
- Propagation
- Observe
- Observers
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract type ExclRef[A]
- final class ExclUpdateSyntaxHelper[D, U, Δ] extends AnyRef
- abstract type Trigger[A, Δ]
- Definition Classes
- Observers
- type Val[A] = Val[A]
- Definition Classes
- Propagation → Observe
- final class UpdateSyntaxHelper[D, U, Δ] extends AnyRef
- Definition Classes
- Propagation
Abstract Value Members
- abstract def addFinalizer[A](ref: ExclRef[A], value: Subscription[M]): M[Subscription[M]]
Register a cleanup routine to execute at the end of the cell-cycle, i.e.
Register a cleanup routine to execute at the end of the cell-cycle, i.e. when all of cell's observers unregister. If the cycle in which the given cell was created already ended, the cleanup will be executed immediately.
- returns
A subscription that can be used to remove the registered finalizer early, before the end of the cell cycle. In such case, the finalizer is not executed.
- abstract def discard[A, Δ]: Trigger[A, Δ]
- Definition Classes
- Observers
- abstract def exclUpdateImpl[A, U, Δ[_, _]](ref: ExclRef[A], u: U)(implicit dom: Aux[A, U, Δ]): M[Unit]
- abstract def fire[A, Δ](action: M[Unit]): Trigger[A, Δ]
- Definition Classes
- Observers
- abstract def fireReload[A, Δ](action: M[Unit], next: (A, Δ) => Trigger[A, Δ]): Trigger[A, Δ]
- Definition Classes
- Observers
- abstract def newAutoCellC[A](setup: IndexedContT[Unit, ExclRef[A], M, A])(implicit dom: Dom[A]): M[Val[A]]
Creates a cell that will setup itself when the first observer is registered.
Creates a cell that will setup itself when the first observer is registered. Typically the
setup
routine starts to observe other cells.The
setup
routine can use the addFinalizer* method to register cleanup routines (finalizers) that will be executed when all observers leave. Typically, such finalizers will stop observing other cells. - abstract def newCell[D](d: D)(implicit dom: Dom[D]): M[Var[D]]
- Definition Classes
- Propagation
- abstract def observeImpl[A, U, Δ](src: Val[A])(f: (A) => Trigger[A, Δ])(implicit dom: Aux[A, U, Δ]): M[Subscription[M]]
- Definition Classes
- Observe
- abstract def observeImplC[A, U, Δ, B](src: Val[A])(f: (A) => ContU[M, (Trigger[A, Δ], B)])(implicit dom: Aux[A, U, Δ]): ContU[M, (Subscription[M], B)]
- Definition Classes
- Observe
- implicit abstract def readOnly[A](a: Var[A]): Val[A]
- Definition Classes
- Propagation
- abstract def reconsider[A, Δ](action: M[Trigger[A, Δ]]): Trigger[A, Δ]
- Definition Classes
- Observers
- abstract def sleep[A, Δ](next: (A, Δ) => Trigger[A, Δ]): Trigger[A, Δ]
- Definition Classes
- Observers
- abstract def updateImpl[D, U, Δ[_, _]](ref: Var[D])(u: U)(implicit dom: Aux[D, U, Δ]): M[Unit]
- Definition Classes
- Propagation
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 alternate[A, B, L, R](ref1: Val[A], ref2: Val[B])(f: (A, B) => Alternator, onStartLeft: () => M[L], onStartRight: () => M[R], onSwitchToLeft: (R) => M[L], onSwitchToRight: (L) => M[R], onStop: (Option[Either[L, R]]) => M[Unit])(implicit domA: Dom[A], domB: Dom[B], M: Bind[M]): M[Unit]
- Definition Classes
- Observe
- def alternate0[A, B](ref1: Val[A], ref2: Val[B])(f: (A, B) => Alternator, onSwitchToLeft: M[Unit], onSwitchToRight: M[Unit], onStop: M[Unit])(implicit domA: Dom[A], domB: Dom[B], M: Bind[M]): M[Unit]
- Definition Classes
- Observe
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def cells[D](d: D, n: Int)(implicit dom: Dom[D], M: Applicative[M]): M[Vector[Var[D]]]
- Definition Classes
- Propagation
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def continually[D, Δ](f: (D, Δ) => M[Unit])(implicit M: Functor[M]): (D, Δ) => Trigger[D, Δ]
- Definition Classes
- Observers
- def continually[D, Δ](f: (D) => M[Unit])(implicit M: Functor[M]): (D) => Trigger[D, Δ]
- Definition Classes
- Observers
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def exclUpdate[D](ref: ExclRef[D])(implicit dom: Dom[D]): ExclUpdateSyntaxHelper[D, Update, Delta]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newAutoCell[A](setup: ((A) => M[ExclRef[A]]) => M[Unit])(implicit dom: Dom[A]): M[Val[A]]
- def newCell[D](implicit dom: DomWithBottom[D]): M[Var[D]]
- Definition Classes
- Propagation
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def observable[A](src: Val[A]): Aux[M, A, Trigger]
- Definition Classes
- Observe
- def observe[A](src: Val[A])(implicit dom: Dom[A]): ObserveSyntaxHelper[M, A, Update, Delta, Trigger]
- Definition Classes
- Observe
- def observerS[D, Δ, S](s: S)(f: (S) => TriggerF[M, D, Δ, S])(implicit M: Functor[M]): Trigger[D, Δ]
- Definition Classes
- Observers
- def peek_[A](ref: Val[A])(f: (A) => M[Unit])(implicit dom: Dom[A], M: Functor[M]): M[Unit]
- Definition Classes
- Observe
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def threshold[D, Δ](f: (D) => Option[M[Unit]]): (D) => Trigger[D, Δ]
Keep trying
f
until it returnsSome
.Keep trying
f
until it returnsSome
. Then fire the returned program.- Definition Classes
- Observers
- def threshold1[D, Δ](f: (D) => Option[M[Unit]]): (D, Δ) => Trigger[D, Δ]
Keep trying
f
until it returnsSome
.Keep trying
f
until it returnsSome
. Then fire the returned program.- Definition Classes
- Observers
- def thresholdOpt[D, Δ](f: (D) => Option[Option[M[Unit]]]): (D) => Trigger[D, Δ]
Keep trying
f
until it returnsSome
.Keep trying
f
until it returnsSome
. Then fire the returned program, if any.- Definition Classes
- Observers
- def thresholdOpt1[D, Δ](f: (D) => Option[Option[M[Unit]]]): (D, Δ) => Trigger[D, Δ]
Keep trying
f
until it returnsSome
.Keep trying
f
until it returnsSome
. Then fire the returned program, if any.- Definition Classes
- Observers
- def thresholdTransition[D, Δ](f: (D) => Option[Trigger[D, Δ]]): (D) => Trigger[D, Δ]
- Definition Classes
- Observers
- def thresholdTransition1[D, Δ](f: (D) => Option[Trigger[D, Δ]]): (D, Δ) => Trigger[D, Δ]
- Definition Classes
- Observers
- def toString(): String
- Definition Classes
- AnyRef → Any
- def untilRight[D, Δ](f: (D, Δ) => Either[M[Unit], M[Unit]]): (D, Δ) => Trigger[D, Δ]
- Definition Classes
- Observers
- def untilRight[D, Δ](f: (D) => Either[M[Unit], M[Unit]]): (D) => Trigger[D, Δ]
- Definition Classes
- Observers
- def untilRightS[S, D, Δ](s: S)(f: (S, D, Δ) => Either[M[S], M[Unit]])(implicit M: Functor[M]): (D, Δ) => Trigger[D, Δ]
- Definition Classes
- Observers
- def untilRightS[S, D, Δ](init: (D) => Either[M[S], M[Unit]], trans: (S, D, Δ) => Either[M[S], M[Unit]])(implicit M: Functor[M]): (D) => Trigger[D, Δ]
- Definition Classes
- Observers
- def untilRightSeq[D, Δ](f: (D, Δ) => Either[M[Unit], M[Unit]])(implicit M: Functor[M]): (D, Δ) => Trigger[D, Δ]
- Definition Classes
- Observers
- def untilRightSeq[D, Δ](f: (D) => Either[M[Unit], M[Unit]])(implicit M: Functor[M]): (D) => Trigger[D, Δ]
- Definition Classes
- Observers
- def update[D](ref: Var[D])(implicit dom: Dom[D]): UpdateSyntaxHelper[D, Update, Delta]
- Definition Classes
- Propagation
- 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