This commit is contained in:
Kiritan Flux 2018-12-05 13:22:41 +01:00
parent 05cf48534a
commit 83558f7bce
173 changed files with 1289 additions and 9312 deletions

View file

@ -1,5 +1,5 @@
/**
* EvEmitter v1.0.3
* EvEmitter v1.1.0
* Lil' event emitter
* MIT License
*/
@ -79,13 +79,14 @@ proto.emitEvent = function( eventName, args ) {
if ( !listeners || !listeners.length ) {
return;
}
var i = 0;
var listener = listeners[i];
// copy over to avoid interference if .off() in listener
listeners = listeners.slice(0);
args = args || [];
// once stuff
var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
while ( listener ) {
for ( var i=0; i < listeners.length; i++ ) {
var listener = listeners[i]
var isOnce = onceListeners && onceListeners[ listener ];
if ( isOnce ) {
// remove listener
@ -96,14 +97,16 @@ proto.emitEvent = function( eventName, args ) {
}
// trigger listener
listener.apply( this, args );
// get next listener
i += isOnce ? 0 : 1;
listener = listeners[i];
}
return this;
};
proto.allOff = function() {
delete this._events;
delete this._onceEvents;
};
return EvEmitter;
}));