Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/main/core/src/lib/event/event-emitter/ |
Upload File : |
import Type from "../../type"; export default class EventStore { constructor(options: { defaultMaxListeners?: number } = {}) { this.defaultMaxListeners = Type.isNumber(options.defaultMaxListeners) ? options.defaultMaxListeners : 10; this.eventStore = new WeakMap(); } add(target: Object, options: { maxListeners?: number } = {}) { const record = this.getRecordScheme(); if (Type.isNumber(options.maxListeners)) { record.maxListeners = options.maxListeners; } this.eventStore.set(target, record); return record; } get(target: Object) { return this.eventStore.get(target); } getOrAdd(target: Object, options: { maxListeners?: number } = {}) { return this.get(target) || this.add(target, options); } delete(context: any) { this.eventStore.delete(context); } getRecordScheme() { return { eventsMap: new Map(), onceMap: new Map(), maxListeners: this.getDefaultMaxListeners(), eventsMaxListeners: new Map(), }; } getDefaultMaxListeners() { return this.defaultMaxListeners; } }