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 };