UNPKG

@actonate/mirkwood

Version:

GraphQL based Rapid Server-side Development framework

77 lines (60 loc) 2.78 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _adapters = require('./adapters'); var _adapters2 = _interopRequireDefault(_adapters); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var DEFAULT_CONNECTION = 'development'; var DEFAULT_ADAPTER = 'bull'; var Queue = function () { function Queue() { _classCallCheck(this, Queue); } _createClass(Queue, null, [{ key: 'init', value: function init(_ref) { var config = _ref.config; this.config = config; this.connections = {}; this._initializeQueues(); } }]); return Queue; }(); Queue._initializeQueues = function () { Queue._initQueues(false); //=>no need to return }; Queue._initQueues = function (type, name) { var connectionName = process.env['NODE_ENV'] || 'development'; var queueConnectionParams = Queue.config[connectionName]; try { queueConnectionParams.queues.forEach(function (queue) { var queueAdapter = _adapters2.default[queue.adapter || DEFAULT_ADAPTER]; queue = _extends({}, queue, { prefix: queueConnectionParams.prefix || '', persistence: queueConnectionParams.persistence }); var newConnection = new queueAdapter(queue); if (type === true && name === queue.name) { throw { connection: newConnection }; } }); } catch (err) { if (err && err.connection) { return err.connection; } } }; Queue.push = function (datasource, args) { var queueConnection = Queue._initQueues(true, args.queue); return queueConnection.push(args); }; Queue.clean = function (datasource, args) { var queueConnection = Queue._initQueues(true, args.queue); return queueConnection.clean(args); }; exports.default = Queue;