import { loadAdapter } from './Adapters/AdapterLoader'; import { EventEmitterMQ } from './Adapters/MessageQueue/EventEmitterMQ'; const ParseMessageQueue = {}; ParseMessageQueue.createPublisher = function (config: any): any { const adapter = loadAdapter(config.messageQueueAdapter, EventEmitterMQ, config); if (typeof adapter.createPublisher !== 'function') { throw 'pubSubAdapter should have createPublisher()'; } return adapter.createPublisher(config); }; ParseMessageQueue.createSubscriber = function (config: any): void { const adapter = loadAdapter(config.messageQueueAdapter, EventEmitterMQ, config); if (typeof adapter.createSubscriber !== 'function') { throw 'messageQueueAdapter should have createSubscriber()'; } return adapter.createSubscriber(config); }; export { ParseMessageQueue };