listen method
Implementation
Listener<T> listen(
T event,
EventCallback callback,
bool isOnce,
) {
var subs =
// ignore: prefer_collection_literals
_listeners.putIfAbsent(event, () => Set<Listener<T>>());
// Create new element.
Listener<T> listener = Listener.Default(event, callback);
if (isOnce) {
listener.updateCallback((ev) {
listener.cancel();
callback(ev);
});
}
// Apply cancellation callback.
listener._cancelCallback = () {
_removeListener(listener);
};
subs.add(listener);
return listener;
}