api / const

transmit

Broadcasts changes from one transmitter signal to multiple receiver signals.

Source: src/api/connectors.ts

Broadcasts changes from one transmitter signal to multiple receiver signals.

When the transmitter changes, all receivers are updated synchronously to the same value. Each receiver remains independently mutable.

Signature

export const transmit = <T>(
  transmittor: Signal<T>,
  ...receivers: SourceSignal<T>[]
): SignalsEffect =>
  effect(() => {
    receivers.forEach((receiver) => (receiver.value = transmittor.value));
  });

Type Parameters

  • The type of value the signals hold

Parameters

  • transmittor: A signal (source or derived) that broadcasts changes
  • receivers: Multiple source signals that will receive updates

Returns

A single effect that can be disposed to disconnect the broadcast

Remarks

  • A single effect manages all receiver updates
  • Transmitter can be source or derived signal
  • Receivers must be source signals
  • Passing no receivers creates a no-op effect
  • The order of receiver updates is not guaranteed

Examples

const temperature = signal(22);
const display1 = signal(0);
const display2 = signal(0);
const display3 = signal(0);

const effect = transmit(temperature, display1, display2, display3);

temperature.value = 25;
console.log(display1.value); // 25
console.log(display2.value); // 25
console.log(display3.value); // 25

// Manual updates still work
display1.value = 30;

// Dispose connection
effect.dispose();

See Also

  • receive - For connecting multiple transmitters to a receiver
  • effect - For the underlying effect primitive