UNPKG

@cashfarm/plow

Version:

Library for validating input data and parameters

17 lines (16 loc) 598 B
import { Guid, Type } from '@cashfarm/lang'; import { AggregateRoot } from '../domain'; import { Identity } from '../domain/identity'; import { EventEnvelope } from './eventEnvelope'; export declare const IEventStore: symbol; export interface IEventStore { /** * Returns the next expected version * * @param {AggregateRoot<any>} aggregate * @returns {Promise<number>} * @memberof IEventStore */ save(aggregate: AggregateRoot<any>): Promise<number>; getEventsByAggregate(aggregateType: Type, aggregateId: Identity<Guid> | Guid): Promise<EventEnvelope[]>; }