join method

DisposableToken join(
  1. dynamic observer
)

Supports ActionControl, FieldControl and Listenable. Other objects will be passed unchanged.

Implementation

DisposableToken join(dynamic observer) {
  final event = DisposableClient(parent: this);

  final sub =
      ControlObservable.of(observer).subscribe((value) => _notifyControl());
  event.onCancel = sub.dispose;

  final token = event.asToken(data: observer);

  event.onDispose = () {
    _items.remove(token);
  };

  _items.add(token);

  return token;
}