Simple CQRS / Event Sourcing Container
npm:
npm install hebo
yarn:
yarn add hebo
// Meant to be done at require time
const Hebo = require('hebo');
const libraryAggregate = require('./path/to/my/libraryAggregate');
const bookAggregate = require('./path/to/my/bookAggregate');
const hebo = new Hebo({
aggregates: {
library: libraryAggregate,
book: bookAggregate,
}
})
// ... and then do this at runtime:
const { getProjection, runCommand, updateSnapshot } = hebo.connect({
eventRepository,
snapshotRepository,
notificationHandler,
authorizer,
user,
});
await runCommand('createLibrary', 1234);
await runCommand('setLibraryName', 1234, 'North Branch');
const library = getProjection('library', 1234);
await updateSnapshot('library', 1234);
Name |
---|
Steve Caldwell |
MIT © Steve Caldwell