Files
talk/client/coral-framework/lib/action.js
T
Chi Vinh Le 284009df55 WIP
2018-02-20 17:54:44 +01:00

22 lines
363 B
JavaScript

export default class Action {
listeners = [];
listen = cb => {
this.listeners.push(cb);
};
unlisten = cb => {
this.listeners = this.listeners.filter(i => i !== cb);
};
event = { listen: this.listen, unlisten: this.unlisten };
call(...args) {
this.listeners.forEach(cb => cb(...args));
}
asEvent() {
return this.event;
}
}