tsinsim
Version:
An InSim library for Node.js (JavaScript runtime environment) with TypeScript support.
19 lines (18 loc) • 518 B
JavaScript
export class Events {
all = [];
on(name, callback) {
this.all.push({ name, callback });
}
onGlobal(callback) {
this.all.push({ name: 'global', callback });
}
fire(name, data) {
const events = this.all.filter((event) => event.name === name || event.name === 'global');
for (const event of events) {
if (event.name === 'global')
event.callback(name, data);
else
event.callback(data, name);
}
}
}