emit method
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);
});
}
}