reactify
package reactify
- Alphabetic
- By Inheritance
- reactify
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- abstract class AbstractState [T] extends State[T]
-
trait
ChangeListener
[T] extends AnyRef
Convenience functionality for classic change management referencing the old value along with the new value.
Convenience functionality for classic change management referencing the old value along with the new value.
- T
the type of changes
- trait Channel [T] extends Observable[T]
-
class
Dep
[T, V] extends StateChannel[T]
Dep is very much like a
Val
, but is also aChannel
.Dep is very much like a
Val
, but is also aChannel
. The basic purpose is to represent a value dependent upon another variable. An example of this might be if you are representing a positionleft
and you also wanted to representright
as well (which would beleft
+width
). These two variables are dependent upon each other and don't fit well asVar
s. An example usage might be:val left: Var[Double] = Var(0.0) val width: Var[Double] = Var(0.0) val right: Dep[Double, Double] = Dep(left, width)
If an instance is
submissive
it removesadjustment
from being part of the mutation dependency. For example: in the above scenario if you setwidth
to 100.0 andright
to 125.0 thenleft
will be 25.0. Now, what should happen if you changewidth
to 50.0? Shouldleft
change to 75.0 (submissive = false
) or shouldright
change to 75.0 (submissive = true
)? - trait DepConnector [T, V] extends AnyRef
-
implicit
class
ListStateChannel
[T] extends AnyRef
Syntactic sugar for mutating collections in a
StateChannel
- trait Observable [T] extends AnyRef
- class PreviousFunction [T] extends AnyRef
-
class
Prop
[T] extends StateChannel[T]
Functionally similar to Var, except represents a far more simplistic and light-weight storage of a value, not a function.
Functionally similar to Var, except represents a far more simplistic and light-weight storage of a value, not a function. Not that Var is heavy, but this is the absolute bare minimum representation of a mutable value while still remaining Observable.
- T
the type of this Prop
- trait State [T] extends Observable[T]
- trait StateChannel [T] extends State[T] with Channel[T]
-
class
Val
[T] extends AbstractState[T]
Val, as the name suggests, is like a Scala
val
.Val, as the name suggests, is like a Scala
val
. This represents an immutable value that is set in the first place and then not modified. However, since the value set may be built fromObservables
, the generated value may change over time as its dependencies are modified. This class isObservable
and will only fire changes if the underlying value is derived from one or moreObservables
.- T
the type of value retained by this
State
-
class
Var
[T] extends AbstractState[T] with StateChannel[T]
Var, as the name suggests, is very similar to a Scala
var
.Var, as the name suggests, is very similar to a Scala
var
. The value is defined during instantiation, but may be modified later. The value may be a static value, or may be a derived value depending on multipleObservables
. IfObservables
make up the value they will be monitored and events fired on thisObservable
as the value changes.- T
the type of value this channel receives
- implicit class VectorStateChannel [T] extends AnyRef
Value Members
- implicit val doubleConnector: DepConnector[Double, Double]
- implicit val intConnector: DepConnector[Int, Int]
-
implicit
def
state2Value[T](p: State[T]): T
Converts a
State[T]
toT
implicitly.Converts a
State[T]
toT
implicitly. This is useful for DSL type-based operations like5 + stateVar
. - object AbstractState
- object ChangeListener
- object Channel
- object Dep
- object Prop
- object State
- object Val
- object Var