mirror of
https://github.com/0x1d/esp8266-laser.git
synced 2025-12-14 18:15:22 +01:00
21 lines
424 B
JavaScript
21 lines
424 B
JavaScript
export default class Mediator {
|
|
|
|
constructor() {
|
|
this.events = [];
|
|
}
|
|
|
|
on(event, callback, context){
|
|
this.events[event] = this.events[event] || [];
|
|
this.events[event].push(context ? callback.bind(context) : callback);
|
|
};
|
|
|
|
trigger(event, args){
|
|
if(this.events[event]){
|
|
for (var i = this.events[event].length - 1; i >= 0; i--) {
|
|
this.events[event][i](args || {});
|
|
};
|
|
}
|
|
};
|
|
|
|
}
|