UNPKG

evtstore

Version:

Event Sourcing with Node.JS

45 lines 3.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createHandler = void 0; const event_handler_1 = require("./event-handler"); function createHandler(options) { const handler = new event_handler_1.EventHandler({ bookmark: options.bookmark, provider: options.provider, stream: options.streams, hooks: options.hooks, alwaysTailStream: options.alwaysTailStream, tailStream: options.tailStream, continueOnError: options.continueOnError, }); const callbacks = new Map(); const handle = (stream, type, callback) => { callbacks.set(`${stream.toString()}-${type}`, callback); handler.handle(type, (id, event, meta) => { const cb = callbacks.get(`${meta.stream}-${event.type}`); if (!cb) return; return cb(id, event, meta); }); }; const handleStream = (stream, handlers) => { for (const [type, handler] of Object.entries(handlers)) { handle(stream, type, handler); } }; return { handle, handleStream, start: handler.start, stop: handler.stop, runOnce: handler.runOnce, run: handler.run, setPosition: handler.setPosition, getPosition: handler.getPosition, reset: handler.reset, __handler: handler, name: handler.name, }; } exports.createHandler = createHandler; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjcmVhdGUtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBOEM7QUFpQjlDLFNBQWdCLGFBQWEsQ0FBd0MsT0FBc0I7SUFDekYsTUFBTSxPQUFPLEdBQUcsSUFBSSw0QkFBWSxDQUFDO1FBQy9CLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtRQUMxQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7UUFDMUIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFtQjtRQUNuQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGdCQUFnQjtRQUMxQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7UUFDOUIsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlO0tBQ3pDLENBQUMsQ0FBQTtJQUlGLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxFQUFjLENBQUE7SUFFdkMsTUFBTSxNQUFNLEdBQXlCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRTtRQUM5RCxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLFFBQWUsQ0FBQyxDQUFBO1FBRTlELE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUN4RCxJQUFJLENBQUMsRUFBRTtnQkFBRSxPQUFNO1lBRWYsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQVksRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUNuQyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQTtJQUVELE1BQU0sWUFBWSxHQUFHLENBQXVCLE1BQVMsRUFBRSxRQUE4QixFQUFFLEVBQUU7UUFDdkYsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdEQsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBYyxDQUFDLENBQUE7U0FDckM7SUFDSCxDQUFDLENBQUE7SUFFRCxPQUFPO1FBQ0wsTUFBTTtRQUNOLFlBQVk7UUFDWixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztRQUN4QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7UUFDaEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1FBQ2hDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztRQUNoQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsU0FBUyxFQUFFLE9BQU87UUFDbEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ25CLENBQUE7QUFDSCxDQUFDO0FBN0NELHNDQTZDQyJ9