const
Events = require('events'),
Dispatcher = require('.')
/**
* Responsible for dispatching events from the payload stack
*/
class DispatcherFactory
{
/**
* @param {Logger} log
* @param {EventsFactory} eventsFactory
*/
constructor(log, eventsFactory)
{
this.log = log
this.eventsFactory = eventsFactory
}
/**
* @returns {Dispatcher}
*/
create()
{
const events = this.eventsFactory.create()
return new Dispatcher(this.log, events)
}
}
module.exports = DispatcherFactory