File size: 681 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
function Emitter(){
this.listeners = [];
}
var p = Emitter.prototype;
p.addListener = function( event, callback ){
this.listeners.push({
event: event,
callback: callback
});
};
p.removeListener = function( event, callback ){
for( var i = this.listeners.length; i >= 0; i-- ){
var l = this.listeners[i];
if( l.event === event && l.callback === callback ){
this.listeners.splice( i, 1 );
}
}
};
p.emit = function( event, data ){
for( var i = 0; i < this.listeners.length; i++ ){
var l = this.listeners[i];
if( event === l.event ){
l.callback( data );
}
}
};
module.exports = Emitter;
|