evtstore
Version:
Event Sourcing with Node.JS
31 lines • 2.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createEventsMapper = exports.isPositionZero = exports.toArray = void 0;
function toArray(stream) {
if (Array.isArray(stream))
return stream;
return [stream];
}
exports.toArray = toArray;
function isPositionZero(position) {
if (typeof position === 'number')
return position === 0;
return position.high === 1 && position.low === 0;
}
exports.isPositionZero = isPositionZero;
function createEventsMapper(position) {
const mapper = (stream, aggregateId, version, newEvents) => {
const storeEvents = newEvents.map((event, i) => ({
stream,
position,
version: version + i,
timestamp: new Date(Date.now()),
event,
aggregateId,
}));
return storeEvents;
};
return mapper;
}
exports.createEventsMapper = createEventsMapper;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBZ0IsT0FBTyxDQUFDLE1BQXlCO0lBQy9DLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUN4QyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDakIsQ0FBQztBQUhELDBCQUdDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLFFBQWE7SUFDMUMsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRO1FBQUUsT0FBTyxRQUFRLEtBQUssQ0FBQyxDQUFBO0lBQ3ZELE9BQU8sUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUE7QUFDbEQsQ0FBQztBQUhELHdDQUdDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQWtCLFFBQWE7SUFDL0QsTUFBTSxNQUFNLEdBQWdDLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUU7UUFDdEYsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0MsTUFBTTtZQUNOLFFBQVE7WUFDUixPQUFPLEVBQUUsT0FBTyxHQUFHLENBQUM7WUFDcEIsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMvQixLQUFLO1lBQ0wsV0FBVztTQUNaLENBQUMsQ0FBQyxDQUFBO1FBRUgsT0FBTyxXQUFXLENBQUE7SUFDcEIsQ0FBQyxDQUFBO0lBRUQsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDO0FBZkQsZ0RBZUMifQ==