UNPKG

@methodus/server

Version:
58 lines (44 loc) 5.67 kB
"use strict"; function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } const _ = require("lodash"); const sinon = require("sinon"); const Channel = require("./channel"); class Connection { constructor() { this.queues = {}; this.exchanges = {}; this.on = sinon.stub(); } get currentChannel() { return this.channel; } get trackedMessages() { return this.channel.trackedMessages; } createChannel() { this.channel = new Channel(this); return Promise.resolve(this.channel); } createConfirmChannel() { return this.channel = new Channel(this); } sendUntracked(queueName, content, properties) { var _this = this; return _asyncToGenerator(function* () { const channel = new Channel(_this); yield channel.sendToQueue(queueName, content, properties); })(); } publishUntracked(exchange, routingKey, content, properties) { var _this2 = this; return _asyncToGenerator(function* () { const channel = new Channel(_this2); yield channel.publish(exchange, routingKey, content, properties); })(); } getPublished({ filter = _.stubTrue, bodyTransform = _.identity }) { return this.channel.trackedMessages.filter(msg => filter(msg)).map(msg => Object.assign(msg, { body: bodyTransform(msg.content) })); } } module.exports = Connection; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25uZWN0aW9uLmpzIl0sIm5hbWVzIjpbIl8iLCJyZXF1aXJlIiwic2lub24iLCJDaGFubmVsIiwiQ29ubmVjdGlvbiIsImNvbnN0cnVjdG9yIiwicXVldWVzIiwiZXhjaGFuZ2VzIiwib24iLCJzdHViIiwiY3VycmVudENoYW5uZWwiLCJjaGFubmVsIiwidHJhY2tlZE1lc3NhZ2VzIiwiY3JlYXRlQ2hhbm5lbCIsImNyZWF0ZUNvbmZpcm1DaGFubmVsIiwic2VuZFVudHJhY2tlZCIsInF1ZXVlTmFtZSIsImNvbnRlbnQiLCJwcm9wZXJ0aWVzIiwic2VuZFRvUXVldWUiLCJwdWJsaXNoVW50cmFja2VkIiwiZXhjaGFuZ2UiLCJyb3V0aW5nS2V5IiwicHVibGlzaCIsImdldFB1Ymxpc2hlZCIsImZpbHRlciIsInN0dWJUcnVlIiwiYm9keVRyYW5zZm9ybSIsImlkZW50aXR5IiwibXNnIiwibWFwIiwiT2JqZWN0IiwiYXNzaWduIiwiYm9keSIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNQSxJQUFJQyxRQUFTLFFBQVQsQ0FBVjtBQUNBLE1BQU1DLFFBQVFELFFBQVMsT0FBVCxDQUFkO0FBQ0EsTUFBTUUsVUFBVUYsUUFBUyxXQUFULENBQWhCOztBQUVBLE1BQU1HLFVBQU4sQ0FBaUI7QUFDaEJDLGVBQWM7QUFDYixPQUFLQyxNQUFMLEdBQWMsRUFBZDtBQUNBLE9BQUtDLFNBQUwsR0FBaUIsRUFBakI7QUFDQSxPQUFLQyxFQUFMLEdBQVVOLE1BQU1PLElBQU4sRUFBVjtBQUNBOztBQUVELEtBQUlDLGNBQUosR0FBcUI7QUFDcEIsU0FBTyxLQUFLQyxPQUFaO0FBQ0E7O0FBRUQsS0FBSUMsZUFBSixHQUFzQjtBQUNyQixTQUFPLEtBQUtELE9BQUwsQ0FBYUMsZUFBcEI7QUFDQTs7QUFFREMsaUJBQWdCO0FBQ2YsU0FBUyxLQUFLRixPQUFMLEdBQWUsSUFBSVIsT0FBSixDQUFhLElBQWIsQ0FBeEI7QUFDQTs7QUFFRFcsd0JBQXVCO0FBQ3RCLFNBQVMsS0FBS0gsT0FBTCxHQUFlLElBQUlSLE9BQUosQ0FBYSxJQUFiLENBQXhCO0FBQ0E7O0FBRUtZLGNBQU4sQ0FBcUJDLFNBQXJCLEVBQWdDQyxPQUFoQyxFQUF5Q0MsVUFBekMsRUFBc0Q7QUFBQTs7QUFBQTtBQUNyRCxTQUFNUCxVQUFVLElBQUlSLE9BQUosT0FBaEI7QUFDQSxTQUFNUSxRQUFRUSxXQUFSLENBQXFCSCxTQUFyQixFQUFnQ0MsT0FBaEMsRUFBeUNDLFVBQXpDLENBQU47QUFGcUQ7QUFHckQ7O0FBRUtFLGlCQUFOLENBQXdCQyxRQUF4QixFQUFrQ0MsVUFBbEMsRUFBOENMLE9BQTlDLEVBQXVEQyxVQUF2RCxFQUFvRTtBQUFBOztBQUFBO0FBQ25FLFNBQU1QLFVBQVUsSUFBSVIsT0FBSixRQUFoQjtBQUNBLFNBQU1RLFFBQVFZLE9BQVIsQ0FBaUJGLFFBQWpCLEVBQTJCQyxVQUEzQixFQUF1Q0wsT0FBdkMsRUFBZ0RDLFVBQWhELENBQU47QUFGbUU7QUFHbkU7O0FBRURNLGNBQWMsRUFBRUMsU0FBU3pCLEVBQUUwQixRQUFiLEVBQXVCQyxnQkFBZ0IzQixFQUFFNEIsUUFBekMsRUFBZCxFQUFvRTtBQUNuRSxTQUFPLEtBQUtqQixPQUFMLENBQWFDLGVBQWIsQ0FDTGEsTUFESyxDQUNHSSxPQUFPSixPQUFRSSxHQUFSLENBRFYsRUFFTEMsR0FGSyxDQUVBRCxPQUFPRSxPQUFPQyxNQUFQLENBQWVILEdBQWYsRUFBb0IsRUFBRUksTUFBTU4sY0FBZUUsSUFBSVosT0FBbkIsQ0FBUixFQUFwQixDQUZQLENBQVA7QUFHQTtBQXJDZTs7QUF3Q2pCaUIsT0FBT0MsT0FBUCxHQUFpQi9CLFVBQWpCIiwiZmlsZSI6ImNvbm5lY3Rpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBfID0gcmVxdWlyZSggXCJsb2Rhc2hcIiApO1xuY29uc3Qgc2lub24gPSByZXF1aXJlKCBcInNpbm9uXCIgKTtcbmNvbnN0IENoYW5uZWwgPSByZXF1aXJlKCBcIi4vY2hhbm5lbFwiICk7XG5cbmNsYXNzIENvbm5lY3Rpb24ge1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLnF1ZXVlcyA9IHt9O1xuXHRcdHRoaXMuZXhjaGFuZ2VzID0ge307XG5cdFx0dGhpcy5vbiA9IHNpbm9uLnN0dWIoKTtcblx0fVxuXG5cdGdldCBjdXJyZW50Q2hhbm5lbCgpIHtcblx0XHRyZXR1cm4gdGhpcy5jaGFubmVsO1xuXHR9XG5cblx0Z2V0IHRyYWNrZWRNZXNzYWdlcygpIHtcblx0XHRyZXR1cm4gdGhpcy5jaGFubmVsLnRyYWNrZWRNZXNzYWdlcztcblx0fVxuXG5cdGNyZWF0ZUNoYW5uZWwoKSB7XG5cdFx0cmV0dXJuICggdGhpcy5jaGFubmVsID0gbmV3IENoYW5uZWwoIHRoaXMgKSApO1xuXHR9XG5cblx0Y3JlYXRlQ29uZmlybUNoYW5uZWwoKSB7XG5cdFx0cmV0dXJuICggdGhpcy5jaGFubmVsID0gbmV3IENoYW5uZWwoIHRoaXMgKSApO1xuXHR9XG5cblx0YXN5bmMgc2VuZFVudHJhY2tlZCggcXVldWVOYW1lLCBjb250ZW50LCBwcm9wZXJ0aWVzICkge1xuXHRcdGNvbnN0IGNoYW5uZWwgPSBuZXcgQ2hhbm5lbCggdGhpcyApO1xuXHRcdGF3YWl0IGNoYW5uZWwuc2VuZFRvUXVldWUoIHF1ZXVlTmFtZSwgY29udGVudCwgcHJvcGVydGllcyApO1xuXHR9XG5cblx0YXN5bmMgcHVibGlzaFVudHJhY2tlZCggZXhjaGFuZ2UsIHJvdXRpbmdLZXksIGNvbnRlbnQsIHByb3BlcnRpZXMgKSB7XG5cdFx0Y29uc3QgY2hhbm5lbCA9IG5ldyBDaGFubmVsKCB0aGlzICk7XG5cdFx0YXdhaXQgY2hhbm5lbC5wdWJsaXNoKCBleGNoYW5nZSwgcm91dGluZ0tleSwgY29udGVudCwgcHJvcGVydGllcyApO1xuXHR9XG5cblx0Z2V0UHVibGlzaGVkKCB7IGZpbHRlciA9IF8uc3R1YlRydWUsIGJvZHlUcmFuc2Zvcm0gPSBfLmlkZW50aXR5IH0gKSB7XG5cdFx0cmV0dXJuIHRoaXMuY2hhbm5lbC50cmFja2VkTWVzc2FnZXNcblx0XHRcdC5maWx0ZXIoIG1zZyA9PiBmaWx0ZXIoIG1zZyApIClcblx0XHRcdC5tYXAoIG1zZyA9PiBPYmplY3QuYXNzaWduKCBtc2csIHsgYm9keTogYm9keVRyYW5zZm9ybSggbXNnLmNvbnRlbnQgKSB9ICkgKTtcblx0fVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IENvbm5lY3Rpb247XG4iXX0=