Signal
object SignalDefined by scalive.Signal. View source (scalive/api/src/scalive/Signal.scala:10-117)
Extension methods6
choose
extension def choose(condition: Signal[Boolean])[Msg](whenTrue: => HtmlElement[Msg], whenFalse: => HtmlElement[Msg]): Mod[Msg]Defined by scalive.Signal.choose. View source (scalive/api/src/scalive/Signal.scala:101-102)
extension def choose[A](value: Signal[A])[Msg](branches: (A, HtmlElement[Msg])*): Mod[Msg]Defined by scalive.Signal.choose. View source (scalive/api/src/scalive/Signal.scala:112-113)
chooseMod
extension def chooseMod(condition: Signal[Boolean])[Msg](whenTrue: => Mod[Msg], whenFalse: => Mod[Msg]): Mod[Msg]Defined by scalive.Signal.chooseMod. View source (scalive/api/src/scalive/Signal.scala:104-105)
extension def chooseMod[A](value: Signal[A])[Msg](branches: (A, Mod[Msg])*): Mod[Msg]Defined by scalive.Signal.chooseMod. View source (scalive/api/src/scalive/Signal.scala:115-116)
combineWith
extension def combineWith[A](left: Signal[A])[B](right: Signal[B])(using leftShape: Signal.TupleShape[A], rightShape: Signal.TupleShape[B]): Signal[Tuple.Concat[leftShape.Out, rightShape.Out]]Combines two signals by shallowly concatenating statically tuple-valued operands.
The render engine validates scope compatibility and samples the left input first.
Defined by scalive.Signal.combineWith. View source (scalive/api/src/scalive/Signal.scala:87-95)
combineWithFn
extension def combineWithFn[A](left: Signal[A])[B, Result](right: Signal[B])(f: (A, B) => Result): Signal[Result]Combines two signals and derives a value when sampled, without flattening either input. The render engine validates scope compatibility and samples the left input first.
Defined by scalive.Signal.combineWithFn. View source (scalive/api/src/scalive/Signal.scala:80-81)
option
extension def option[A](value: Signal[Option[A]])[Msg](project: Signal[A] => HtmlElement[Msg]): Mod[Msg]Defined by scalive.Signal.option. View source (scalive/api/src/scalive/Signal.scala:108-109)
when
extension def when(condition: Signal[Boolean])[Msg](content: => HtmlElement[Msg]): Mod[Msg]Defined by scalive.Signal.when. View source (scalive/api/src/scalive/Signal.scala:98-99)
Methods2
combine
def combine[Signals <: NonEmptyTuple](signals: Signals)(using signalsOnly: <:<[Tuple.Union[Signals], Signal[?]]): Signal[Tuple.InverseMap[Signals, ([A] =>> Signal[A])]]Combines a non-empty tuple of signals, preserving one result element per signal.
The render engine validates scope compatibility and samples inputs from left to right.
Defined by scalive.Signal.combine. View source (scalive/api/src/scalive/Signal.scala:37-51)
combineWithFn
def combineWithFn[Signals <: NonEmptyTuple, Result](signals: Signals)(using signalsOnly: <:<[Tuple.Union[Signals], Signal[?]])(f: Tuple.InverseMap[Signals, ([A] =>> Signal[A])] => Result): Signal[Result]Combines signals and derives a value when the render engine samples the result. Scope validation and left-to-right input sampling are the same as combine.
Pass .tupled for a pre-existing FunctionN. Tuples containing Nothing also require a typed
function's .tupled form because Scala cannot untuple an untyped lambda over them.
Defined by scalive.Signal.combineWithFn. View source (scalive/api/src/scalive/Signal.scala:59-64)