UNPKG

acelga-bus

Version:

An extensible typescript message bus with support for middlewares

34 lines 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const eventstore = require("geteventstore-promise"); const backoff = require("backoff"); const debug = require("debug"); const eventstoreBus_1 = require("./eventstoreBus"); const factoryRepository_1 = require("./factoryRepository"); const eventstoreConsumer_1 = require("./eventstoreConsumer"); function create(connectionOptions, streamName, startPosition = 0, errorLogger) { const logger = errorLogger || debug('EventStoryBus:error'); const client = createEventstoreConnection(connectionOptions); const backoffStrategy = createBackoff(); const eventFactory = createEventFactoryRepository(); const eventstoreClient = createEventstoreClient(client, logger, backoffStrategy, streamName, startPosition); return new eventstoreBus_1.EventStoreBus(eventstoreClient, logger, eventFactory); } exports.create = create; function createBackoff() { return backoff.fibonacci({ randomisationFactor: 0, initialDelay: 300, maxDelay: 7000, }); } function createEventstoreConnection(options) { return eventstore.http(options); } function createEventFactoryRepository() { return new factoryRepository_1.EventFactoryRespository(); } function createEventstoreClient(client, errorLogger, backoffStrategy, streamName, startPosition = 0) { return new eventstoreConsumer_1.EventstoreClient(client, errorLogger, backoffStrategy, streamName, startPosition); } //# sourceMappingURL=index.js.map