signalRefresh (Function)

Signature: signalRefresh(cached: { dependencies: List<string>, revision: int, value: t0 }, changed: List<string>, work: () -> t0) -> { dependencies: List<string>, revision: int, value: t0 }

Description: Rebuilds an immutable snapshot when a dependency changes, its callback dependency set changes or dependencies remain unknown. Otherwise returns the cached snapshot.

Parameters

  • cached ({ dependencies: List, revision: int, value: t0 }): The previous snapshot
  • changed (List): Changed signal operation identities
  • work (() -> t0): The computation using current signal values

Returns: { dependencies: List, revision: int, value: t0 }

Example

let updated = signalRefresh(cached, signalDependencies(readCount), counterLabel)
updated = signalRefresh (cached, signalDependencies readCount, counterLabel)