Skip to content
scalive
Menu
ConnectingLiveReconnectingOffline
GitHub
o

Signal

object Signal

Defined 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)