31 lines
854 B
JavaScript
31 lines
854 B
JavaScript
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 };
|