register method

void register(
  1. dynamic target,
  2. void onData(
    1. Object? object
    ), {
  3. Function? onError,
  4. void onDone()?,
  5. bool? cancelOnError,
})

Implementation

void register(dynamic target, void Function(Object? object) onData,
    {Function? onError, void Function()? onDone, bool? cancelOnError}) {
  if (_listenerMap.containsKey(target)) {
    _listenerMap.remove(target);
  }
  _listenerMap[target] = onData;
  if(!_streamController.hasListener){
    _broadcastStream?.distinct().listen((data) {
      var message = (data as Message);
      _listenerMap.forEach((key, value) {
        if (message.target == key) {
           value(message.msg);
        }
      });
    }, onError: onError, onDone: onDone, cancelOnError: cancelOnError);
  }
}