feeles-ide
Version:
The hackable and serializable IDE to make learning material
28 lines (19 loc) • 496 B
JavaScript
import { events } from './synonyms';
class MinecraftEventEmitter extends EventEmitter2 {
emit(name, ...args) {
const onName = 'on' + name[0].toUpperCase() + name.substr(1);
const synonym = events[name];
const onSynonym = 'on' + synonym;
if (onName in this) {
this[onName](...args);
}
super.emit(name, ...args);
if (synonym) {
if (onSynonym in this) {
this[onSynonym](...args);
}
super.emit(synonym, ...args);
}
}
};
export default MinecraftEventEmitter;