async function Scalar()

in src/global_scalar.js [13:39]


async function Scalar(startValue, signalName) {
  const source = Reactive.scalarSignalSource(signalName)
  source.set(startValue)
  const signal = source.signal

  signal.compareAndUpdateLocal = function(val) {
    if (signal.pinLastValue() !== val) {
      source.set(val)
    }
  }

  signal.setValueOnly = function (val) {
    source.set(val);
  }

  signal.setValueAndUpdate = function (val) {
    const oldValue = signal.pinLastValue()
    source.set(val)
    signal.updateState({newValue : val, oldValue})
  }

  signal.setReceivedAllValues = function (val) {}

  signal.set = signal.setValueAndUpdate

  return signal
}