/* ЗадачаРеализуйте класс EventEmitter, который обеспечивает следующий функционал:- Подписка на событие с помощью метода on(eventName, listener).- Однократная подписка на событие с помощью метода once(eventName, listener), после которого слушатель будет автоматически удален после первого вызова.- Отписка от события с помощью метода off(eventName, listener).- Генерация события с помощью метода emit(eventName, ...args), который вызывает все слушатели, зарегистрированные на это событие, с переданными аргументами.// Пример использования:const emitter = new EventEmitter();function responseToEvent(msg) { console.log(`Получено сообщение: ${msg}`);}emitter.on('message', responseToEvent);emitter.emit('message', 'Hello World!'); // Вывод: Получено сообщение: Hello World!emitter.off('message', responseToEvent);emitter.emit('message', 'Hello again!'); // Ничего не происходитemitter.once('onceEvent', (msg) => { console.log(`Однократное событие: ${msg}`);});emitter.once('onceEvent', (msg) => { console.log(`Однократное событие: ${msg}`);});emitter.emit('onceEvent', 'Первый вызов'); // Вывод: Однократное событие: Первый вызовemitter.emit('onceEvent', 'Второй вызов'); // Ничего не происходит // void*/classEventEmitter {}