reactify
package reactify
- Alphabetic
- By Inheritance
- reactify
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- class Channel[T] extends Reactive[T] with Mutable[T]
Channel is a stateless Reactive implementation exposing a public method to fire values.
Channel is a stateless Reactive implementation exposing a public method to fire values.
- T
the type of value this Reactive receives
- class Dep[T, R] extends Reactive[T] with Stateful[T] with Mutable[T]
Dep allows creation of a dependent
Var
on anotherVar
allowing conversion between the two.Dep allows creation of a dependent
Var
on anotherVar
allowing conversion between the two. This can be useful for different representations of the same value. For example, in a graphical environmentleft
,center
, andright
are all different representations of the value (horizontal position). Maintaining three distinct values while keeping them in-sync is painful. WithDep
you can simply define oneVar
and twoDep
values like:val left: Var[Double] = Var(0.0) val width: Var[Double] = Var(0.0) val center: Dep[Double, Double] = Dep(left)(_ + (width / 2.0), _ - (width / 2.0)) val right: Dep[Double, Double] = Dep(left)(_ + width, _ - width)
Now, modification to
left
,center
, orright
will maintain the appropriate value for each without any additional boilerplate.- T
the type of value this Reactive receives
- R
the type that this Dep receives
- implicit class ListVar[T] extends AnyRef
Syntactic sugar for mutating collections in a
Var
- trait Mutable[T] extends AnyRef
Mutable represents a reactive element that has mutable state
- trait Reactive[T] extends AnyRef
Reactive is the core trait for Reactify.
Reactive is the core trait for Reactify. The basic premise is that a Reactive represents an instance that can attach Reactions and fire
T
and are received by those Reactions.- T
the type of value this Reactive receives
- trait Stateful[T] extends Reactive[T]
- class Trigger extends Channel[Unit]
Trigger is a convenience class wrapping
Channel[Unit]
specifically for scenarios where the value doesn't matter, just the reactions themselves. - class Val[T] extends Reactive[T] with Stateful[T]
- class Var[T] extends Val[T] with Mutable[T]
Var represents the combination of
Val
andChannel
into a stateful and mutable underlying value.Var represents the combination of
Val
andChannel
into a stateful and mutable underlying value.- T
the type of value this Reactive receives
- implicit class VectorVar[T] extends AnyRef