2017-01-13 19:34:04 -05:00
|
|
|
import { loadAdapter } from './Adapters/AdapterLoader';
|
2018-09-01 13:58:06 -04:00
|
|
|
import { EventEmitterMQ } from './Adapters/MessageQueue/EventEmitterMQ';
|
2017-01-13 19:34:04 -05:00
|
|
|
|
|
|
|
|
const ParseMessageQueue = {};
|
|
|
|
|
|
2020-10-25 15:06:58 -05:00
|
|
|
ParseMessageQueue.createPublisher = function (config: any): any {
|
|
|
|
|
const adapter = loadAdapter(config.messageQueueAdapter, EventEmitterMQ, config);
|
2017-01-13 19:34:04 -05:00
|
|
|
if (typeof adapter.createPublisher !== 'function') {
|
|
|
|
|
throw 'pubSubAdapter should have createPublisher()';
|
|
|
|
|
}
|
|
|
|
|
return adapter.createPublisher(config);
|
2018-09-01 13:58:06 -04:00
|
|
|
};
|
2017-01-13 19:34:04 -05:00
|
|
|
|
2020-10-25 15:06:58 -05:00
|
|
|
ParseMessageQueue.createSubscriber = function (config: any): void {
|
|
|
|
|
const adapter = loadAdapter(config.messageQueueAdapter, EventEmitterMQ, config);
|
2017-01-13 19:34:04 -05:00
|
|
|
if (typeof adapter.createSubscriber !== 'function') {
|
|
|
|
|
throw 'messageQueueAdapter should have createSubscriber()';
|
|
|
|
|
}
|
|
|
|
|
return adapter.createSubscriber(config);
|
2018-09-01 13:58:06 -04:00
|
|
|
};
|
2017-01-13 19:34:04 -05:00
|
|
|
|
2018-09-01 13:58:06 -04:00
|
|
|
export { ParseMessageQueue };
|