"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.ParseMessageQueue = void 0;
var _AdapterLoader = require("./Adapters/AdapterLoader");
var _EventEmitterMQ = require("./Adapters/MessageQueue/EventEmitterMQ");
const ParseMessageQueue = exports.ParseMessageQueue = {};
ParseMessageQueue.createPublisher = function (config) {
  const adapter = (0, _AdapterLoader.loadAdapter)(config.messageQueueAdapter, _EventEmitterMQ.EventEmitterMQ, config);
  if (typeof adapter.createPublisher !== 'function') {
    throw 'pubSubAdapter should have createPublisher()';
  }
  return adapter.createPublisher(config);
};
ParseMessageQueue.createSubscriber = function (config) {
  const adapter = (0, _AdapterLoader.loadAdapter)(config.messageQueueAdapter, _EventEmitterMQ.EventEmitterMQ, config);
  if (typeof adapter.createSubscriber !== 'function') {
    throw 'messageQueueAdapter should have createSubscriber()';
  }
  return adapter.createSubscriber(config);
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQWRhcHRlckxvYWRlciIsInJlcXVpcmUiLCJfRXZlbnRFbWl0dGVyTVEiLCJQYXJzZU1lc3NhZ2VRdWV1ZSIsImV4cG9ydHMiLCJjcmVhdGVQdWJsaXNoZXIiLCJjb25maWciLCJhZGFwdGVyIiwibG9hZEFkYXB0ZXIiLCJtZXNzYWdlUXVldWVBZGFwdGVyIiwiRXZlbnRFbWl0dGVyTVEiLCJjcmVhdGVTdWJzY3JpYmVyIl0sInNvdXJjZXMiOlsiLi4vc3JjL1BhcnNlTWVzc2FnZVF1ZXVlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvYWRBZGFwdGVyIH0gZnJvbSAnLi9BZGFwdGVycy9BZGFwdGVyTG9hZGVyJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlck1RIH0gZnJvbSAnLi9BZGFwdGVycy9NZXNzYWdlUXVldWUvRXZlbnRFbWl0dGVyTVEnO1xuXG5jb25zdCBQYXJzZU1lc3NhZ2VRdWV1ZSA9IHt9O1xuXG5QYXJzZU1lc3NhZ2VRdWV1ZS5jcmVhdGVQdWJsaXNoZXIgPSBmdW5jdGlvbiAoY29uZmlnOiBhbnkpOiBhbnkge1xuICBjb25zdCBhZGFwdGVyID0gbG9hZEFkYXB0ZXIoY29uZmlnLm1lc3NhZ2VRdWV1ZUFkYXB0ZXIsIEV2ZW50RW1pdHRlck1RLCBjb25maWcpO1xuICBpZiAodHlwZW9mIGFkYXB0ZXIuY3JlYXRlUHVibGlzaGVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgJ3B1YlN1YkFkYXB0ZXIgc2hvdWxkIGhhdmUgY3JlYXRlUHVibGlzaGVyKCknO1xuICB9XG4gIHJldHVybiBhZGFwdGVyLmNyZWF0ZVB1Ymxpc2hlcihjb25maWcpO1xufTtcblxuUGFyc2VNZXNzYWdlUXVldWUuY3JlYXRlU3Vic2NyaWJlciA9IGZ1bmN0aW9uIChjb25maWc6IGFueSk6IHZvaWQge1xuICBjb25zdCBhZGFwdGVyID0gbG9hZEFkYXB0ZXIoY29uZmlnLm1lc3NhZ2VRdWV1ZUFkYXB0ZXIsIEV2ZW50RW1pdHRlck1RLCBjb25maWcpO1xuICBpZiAodHlwZW9mIGFkYXB0ZXIuY3JlYXRlU3Vic2NyaWJlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93ICdtZXNzYWdlUXVldWVBZGFwdGVyIHNob3VsZCBoYXZlIGNyZWF0ZVN1YnNjcmliZXIoKSc7XG4gIH1cbiAgcmV0dXJuIGFkYXB0ZXIuY3JlYXRlU3Vic2NyaWJlcihjb25maWcpO1xufTtcblxuZXhwb3J0IHsgUGFyc2VNZXNzYWdlUXVldWUgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBRUEsTUFBTUUsaUJBQWlCLEdBQUFDLE9BQUEsQ0FBQUQsaUJBQUEsR0FBRyxDQUFDLENBQUM7QUFFNUJBLGlCQUFpQixDQUFDRSxlQUFlLEdBQUcsVUFBVUMsTUFBVyxFQUFPO0VBQzlELE1BQU1DLE9BQU8sR0FBRyxJQUFBQywwQkFBVyxFQUFDRixNQUFNLENBQUNHLG1CQUFtQixFQUFFQyw4QkFBYyxFQUFFSixNQUFNLENBQUM7RUFDL0UsSUFBSSxPQUFPQyxPQUFPLENBQUNGLGVBQWUsS0FBSyxVQUFVLEVBQUU7SUFDakQsTUFBTSw2Q0FBNkM7RUFDckQ7RUFDQSxPQUFPRSxPQUFPLENBQUNGLGVBQWUsQ0FBQ0MsTUFBTSxDQUFDO0FBQ3hDLENBQUM7QUFFREgsaUJBQWlCLENBQUNRLGdCQUFnQixHQUFHLFVBQVVMLE1BQVcsRUFBUTtFQUNoRSxNQUFNQyxPQUFPLEdBQUcsSUFBQUMsMEJBQVcsRUFBQ0YsTUFBTSxDQUFDRyxtQkFBbUIsRUFBRUMsOEJBQWMsRUFBRUosTUFBTSxDQUFDO0VBQy9FLElBQUksT0FBT0MsT0FBTyxDQUFDSSxnQkFBZ0IsS0FBSyxVQUFVLEVBQUU7SUFDbEQsTUFBTSxvREFBb0Q7RUFDNUQ7RUFDQSxPQUFPSixPQUFPLENBQUNJLGdCQUFnQixDQUFDTCxNQUFNLENBQUM7QUFDekMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==