emit method

void emit (
  1. String event,
  2. [Object sender,
  3. Object data]
)

API to emit events. event is a required parameter. If sender information is sent, it will be used to intimate user about it. event - What event needs to be emitted. sender - The sender who published the event. Ignore if not required. data - Data the event need to carry. Ignore this argument if no data needs to be sent.

Implementation

void emit(String event, [Object sender, Object data]) {
  if (null == event || event.trim().isEmpty) {
    throw ArgumentError.notNull("event");
  }

  if (this._listeners.containsKey(event)) {
    Event ev = Event(event, data, sender);
    List<Listener> sublist = this._listeners[event].toList();
    sublist.forEach((item) {
      if (null == item || ev.handled) {
        return;
      }
      item.callback(ev, item.context);
    });
  }
}