/* * Необходимо реализовать EventEmitter. * С методами emit и on. * * on(eventName: string | Symbol, callback: (payload?: any) => void): * () => void; * Принимает eventName с названием события и функцию callback. * Функция выполняет подписку на событие. * Результатом выполнения функции должна быть функция отписки. * * emit(eventName: string | Symbol, payload?: any): void * Принимает eventName с названием события и payload который будет * передан каждому слушателю eventName; Функция выполняет вызов события. * В случае если слушатель не найден, должен выкинуть исключение * * ------------------------------------------------------ * * Пример: * const myEmitter = new EventEmitter(); * * const unSubscribe = myEmitter.on('event', (payload) => { * console.log('an event occurred!!!', payload); */