mirror of
https://github.com/danbulant/flying-squid
synced 2026-06-16 21:11:22 +00:00
21 lines
No EOL
585 B
JavaScript
21 lines
No EOL
585 B
JavaScript
module.exports = emit;
|
|
|
|
function emit(target, eventName, args, defaultFunc) {
|
|
var hiddenCancelled = false;
|
|
var cancelled = false;
|
|
var cancel = function(hidden) { // Hidden shouldn't be used often but it's not hard to implement so meh
|
|
if (hidden) hiddenCancelled = true;
|
|
else cancelled = true;
|
|
}
|
|
|
|
target.emit(eventName + '_cancel', args, cancel);
|
|
|
|
target.emit(eventName, args, cancelled);
|
|
|
|
if (!hiddenCancelled && !cancelled) {
|
|
if (defaultFunc) defaultFunc();
|
|
return true;
|
|
} else {
|
|
return false
|
|
}
|
|
} |