simple
Document{}
Similar to Signal expressions, but resulting in an event. Accessed events return options depending on whether they fire or not, and the complete result of the expression is an event as well.
Similar to Signal expressions, but resulting in an event. Accessed events return options depending on whether they fire or not, and the complete result of the expression is an event as well.
- See also
Signal
- Inherited from
- EventCompatBundle
A signal expression can be used to create signals accessing arbitrary other signals. Use the apply method on a signal to access its value inside of a signal expression.
A signal expression can be used to create signals accessing arbitrary other signals. Use the apply method on a signal to access its value inside of a signal expression.
val a: Signal[Int]
val b: Signal[Int]
val result: Signal[String] = Signal { a().toString + b().toString}
- Inherited from
- SignalCompatBundle
Executes a transaction.
Executes a transaction.
- Type Params
- R
Result type of the admission function
- Value Params
- admissionPhase
An admission function that may rescala.operator.Sources.Evt.admit / rescala.operator.Sources.Var.admit arbitrary input changes that will be applied as an atomic transaction at the end.
- initialWrites
All inputs that might be changed by the transaction
- Returns
Result of the admission function
- Example
transaction(a, b){ implicit at => a.set(5); b.set(1); at.now(a) }
- Inherited from
- RescalaInterface
Executes a transaction with WrapUpPhase.
Executes a transaction with WrapUpPhase.
- See also
transaction
- Inherited from
- RescalaInterface
Type members
Inherited classlikes
Enables reading of the current value during admission. Keeps track of written sources internally.
Enables reading of the current value during admission. Keeps track of written sources internally.
- Inherited from
- Core
Enables the creation of other reactives
Enables the creation of other reactives
- Inherited from
- Core
As reactives can be created during propagation, any InnerTicket can be converted to a creation ticket.
As reactives can be created during propagation, any InnerTicket can be converted to a creation ticket.
- Inherited from
- Core
A reactive value is something that can be reevaluated
A reactive value is something that can be reevaluated
- Inherited from
- Core
- Inherited from
- DefaultImplementations
User facing low level API to access values in a dynamic context.
User facing low level API to access values in a dynamic context.
- Inherited from
- Core
Events only propagate a value when they are changing, when the system is at rest, events have no values.
Events only propagate a value when they are changing, when the system is at rest, events have no values.
Note: We hide implicit parameters of the API in the documentation. They are used to ensure correct creation, and you normally do not have to worry about them, except if you accidentally call the implicit parameter list, in which cas you may get cryptic errors. This is a scala limitation. We also hide the internal state parameter of passed and returned events.
- Type Params
- S
Internal rescala.core.Structure of state.
- T
Value type of the event occurrences.
- Inherited from
- EventBundle
- Value Params
- isDynamicWithStaticDeps
If this is None, the event is static. Else, it is dynamic with the set of static dependencies
- Inherited from
- DefaultImplementations
Source events with imperative occurrences
Source events with imperative occurrences
- Type Params
- S
Struct type used for the propagation of the event
- T
Type returned when the event fires
- Value Params
- initialState
of by the event
- Inherited from
- Sources
- Inherited from
- FlattenApi
Encapsulates an action changing a single source.
Encapsulates an action changing a single source.
- Inherited from
- Core
InnerTickets are used in Rescala to give capabilities to contexts during propagation. ReevTicket is used during reevaluation, and AdmissionTicket during the initialization.
InnerTickets are used in Rescala to give capabilities to contexts during propagation. ReevTicket is used during reevaluation, and AdmissionTicket during the initialization.
- Inherited from
- Core
Common macro accessors for rescala.operator.SignalBundle.Signal and rescala.operator.EventBundle.Event
Common macro accessors for rescala.operator.SignalBundle.Signal and rescala.operator.EventBundle.Event
- Type Params
- A
return type of the accessor
- Inherited from
- Core
If no InnerTicket is found, then these implicits will search for a Scheduler, creating the reactives outside of any turn.
If no InnerTicket is found, then these implicits will search for a Scheduler, creating the reactives outside of any turn.
- Inherited from
- Core
Generic interface for observers that represent a function registered to trigger for every reevaluation of a reactive value. Currently this interface is only used to allow a removal of registered observer functions.
Generic interface for observers that represent a function registered to trigger for every reevaluation of a reactive value. Currently this interface is only used to allow a removal of registered observer functions.
- Type Params
- S
Struct type used for the propagation of the signal
- Inherited from
- Observing
Source of (reactive) values. State can only be accessed with a correct InnerTicket.
Source of (reactive) values. State can only be accessed with a correct InnerTicket.
- Inherited from
- Core
ReevTicket is given to the Derived reevaluate method and allows to access other reactives. The ticket tracks return values, such as dependencies, the value, and if the value should be propagated. Such usages make it unsuitable as an API for the user, where StaticTicket or DynamicTicket should be used instead.
ReevTicket is given to the Derived reevaluate method and allows to access other reactives. The ticket tracks return values, such as dependencies, the value, and if the value should be propagated. Such usages make it unsuitable as an API for the user, where StaticTicket or DynamicTicket should be used instead.
- Inherited from
- Core
Propagation engine that defines the basic data-types available to the user and creates turns for propagation handling
Propagation engine that defines the basic data-types available to the user and creates turns for propagation handling
- Type Params
- S
Struct type that defines the spore type used to manage the reactive evaluation
- Inherited from
- Core
Time changing value derived from the dependencies.
Time changing value derived from the dependencies.
- Type Params
- S
Struct type used for the propagation of the signal
- T
Type stored by the signal
- Inherited from
- SignalBundle
- Value Params
- isDynamicWithStaticDeps
scala.None means static dependencies only, scala.Some means dynamic with the given static ones for optimization
- Inherited from
- DefaultImplementations
Functions to construct signals, you probably want to use signal expressions in rescala.interface.RescalaInterface.Signal for a nicer API.
Functions to construct signals, you probably want to use signal expressions in rescala.interface.RescalaInterface.Signal for a nicer API.
- Inherited from
- SignalBundle
User facing low level API to access values in a static context.
User facing low level API to access values in a static context.
- Inherited from
- Core
- Inherited from
- SignalCompatBundle
Inherited types
Value members
Concrete methods
Inherited methods
Flatten a Signal[Traversable[Event[B]]] into a Event[B]. The new Event fires the value of any inner firing Event. If multiple inner Events fire, the first one in iteration order is selected.
Flatten a Signal[Traversable[Event[B]]] into a Event[B]. The new Event fires the value of any inner firing Event. If multiple inner Events fire, the first one in iteration order is selected.
- Inherited from
- FlattenCollectionCompat
Flatten a Signal[Traversable[Event[B]]] into a Event[Traversable[Option[B]]] where the new Event fires whenever any of the inner events fire
Flatten a Signal[Traversable[Event[B]]] into a Event[Traversable[Option[B]]] where the new Event fires whenever any of the inner events fire
- Inherited from
- FlattenCollectionCompat
Implicits
Inherited implicits
Flatten a Signal[Array[Signal[B]]] into a Signal[Array[B]] where the new Signal updates whenever any of the inner or the outer signal updates
Flatten a Signal[Array[Signal[B]]] into a Signal[Array[B]] where the new Signal updates whenever any of the inner or the outer signal updates
- Inherited from
- FlattenApi
Flatten a Signal[Event[B]]] into a Event[B] where the new Event fires whenever the current inner event fires
Flatten a Signal[Event[B]]] into a Event[B] where the new Event fires whenever the current inner event fires
- Inherited from
- FlattenApi
Flatten a Event[Option[B]] into a Event[B] that fires whenever the inner option is defined.
Flatten a Event[Option[B]] into a Event[B] that fires whenever the inner option is defined.
- Inherited from
- FlattenApi
Flatten a Signal[Option[Signal[B]]] into a Signal[Option[B]] where the new Signal updates whenever any of the inner or the outer signal updates
Flatten a Signal[Option[Signal[B]]] into a Signal[Option[B]] where the new Signal updates whenever any of the inner or the outer signal updates
- Inherited from
- FlattenApi
Flatten a Signal[Signal[B]] into a Signal[B] that changes whenever the outer or inner signal changes.
Flatten a Signal[Signal[B]] into a Signal[B] that changes whenever the outer or inner signal changes.
- Inherited from
- FlattenApi
Flatten a Signal[Traversable[Signal[B]]] into a Signal[Traversable[B]] where the new Signal updates whenever any of the inner or the outer signal updates
Flatten a Signal[Traversable[Signal[B]]] into a Signal[Traversable[B]] where the new Signal updates whenever any of the inner or the outer signal updates
- Inherited from
- FlattenCollectionCompat