UNPKG

esdf

Version:

a frugal event-sourced domain-driven design framework with elements of cqrs

27 lines (23 loc) 1.09 kB
/** * @module esdf/test/DummyEventBusSubscriber */ var QueueProcessor = require('../utils/QueueProcessor.js').QueueProcessor; var BusQueueWrapper = require('../utils/BusQueueWrapper.js').BusQueueWrapper; /** * Construct a new DummyEventBusSubscriber. It is meant to be used for listening to events published via the DummyEventBusPublisher. * @param {module:esdf/Test/DummyEventBusPublisher} dummyBusPublisher The bus to connect to. */ function DummyEventBusSubscriber(dummyBusPublisher){ this._bus = dummyBusPublisher.getRouter(); } /** * Obtain a queue object conforming to the BusQueueWrapper contract. The object can be used to interact with the underlying event queue. * TODO: document this contract, perhaps by providing an interface and adding a @returns here. */ DummyEventBusSubscriber.prototype.queue = function queue(queueName, queueOptions){ if(!this._bus.queueExists(queueName)){ this._bus.addQueue(queueName, new QueueProcessor(queueOptions)); } return new BusQueueWrapper(this._bus, queueName); }; module.exports.DummyEventBusSubscriber = DummyEventBusSubscriber;