evtstore
Version:
Event Sourcing with Node.JS
32 lines • 2.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAllEventsFor = exports.MemoryBookmark = exports.toMeta = void 0;
function toMeta(ev) {
return {
aggregateId: ev.aggregateId,
position: ev.position,
stream: ev.stream,
timestamp: new Date(ev.timestamp),
version: ev.version,
};
}
exports.toMeta = toMeta;
exports.MemoryBookmark = '@@MemoryBookmark';
async function getAllEventsFor(provider, stream, id, from) {
const events = [];
let current = from;
do {
const stored = await provider.getEventsFor(stream, id, current);
events.push(...stored);
if (stored.length === 0)
return events;
if (!provider.limit)
return events;
if (stored.length < provider.limit)
return events;
const last = stored.slice(-1)[0];
current = last.position;
} while (true);
}
exports.getAllEventsFor = getAllEventsFor;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLFNBQWdCLE1BQU0sQ0FBQyxFQUFtQjtJQUN4QyxPQUFPO1FBQ0wsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXO1FBQzNCLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUTtRQUNyQixNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU07UUFDakIsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDakMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPO0tBQ3BCLENBQUE7QUFDSCxDQUFDO0FBUkQsd0JBUUM7QUFFWSxRQUFBLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQTtBQUV6QyxLQUFLLFVBQVUsZUFBZSxDQUNuQyxRQUF1QixFQUN2QixNQUFjLEVBQ2QsRUFBVSxFQUNWLElBQVU7SUFFVixNQUFNLE1BQU0sR0FBb0IsRUFBRSxDQUFBO0lBQ2xDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQTtJQUNsQixHQUFHO1FBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDL0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1FBQ3RCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxNQUFNLENBQUE7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQUUsT0FBTyxNQUFNLENBQUE7UUFDbEMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLO1lBQUUsT0FBTyxNQUFNLENBQUE7UUFFakQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2hDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFBO0tBQ3hCLFFBQVEsSUFBSSxFQUFDO0FBQ2hCLENBQUM7QUFsQkQsMENBa0JDIn0=