channel method

ReadonlySignal<Map<String, dynamic>?> channel(
  1. String channelName
)

Returns a ReadonlySignal reflecting the latest message payload on channelName.

Starts with a value of null. Each incoming broadcast event on channelName updates the signal. Repeated calls with the same channelName return the existing cached signal.

final notifications = binding.channel('notifications');

Implementation

ReadonlySignal<Map<String, dynamic>?> channel(String channelName) {
  if (_channelSignals.containsKey(channelName)) {
    return _channelSignals[channelName]!.readonly();
  }
  final sig = signal<Map<String, dynamic>?>(null);
  _channelSignals[channelName] = sig;
  _subs.add(client.subscribe(channelName).listen((msg) => sig.value = msg));
  return sig.readonly();
}