@gravity-ui/uikit
Version:
Gravity UI base styling and components
32 lines (31 loc) • 810 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventEmitter = void 0;
class EventEmitter {
listeners;
constructor() {
this.listeners = [];
}
destroy() {
this.listeners = [];
}
subscribe(listener) {
if (typeof listener === 'function') {
this.listeners.push(listener);
}
return () => {
this.listeners = this.listeners.filter((currentListener) => listener !== currentListener);
};
}
notify(data) {
if (this.listeners.length === 0) {
return false;
}
for (const listener of this.listeners) {
listener(data);
}
return true;
}
}
exports.EventEmitter = EventEmitter;
//# sourceMappingURL=EventEmitter.js.map
;