@cashfarm/plow
Version:
Library for validating input data and parameters
21 lines (20 loc) • 945 B
TypeScript
import * as EventStore from 'node-eventstore-client';
import { Guid, Type } from '@cashfarm/lang';
import { Identity } from '../../domain';
import { EventEnvelope } from '../eventEnvelope';
import { IEventStore } from '../iEventStore';
import { ESAggregateRoot } from '../../eventSourcing/esAggregateRoot';
export declare class GesEventStore implements IEventStore {
private host;
private port;
private settings;
constructor(host?: string, port?: number, settings?: EventStore.ConnectionSettings);
save<T extends ESAggregateRoot<Identity<Guid>>>(aggregate: T): Promise<number>;
getEventsByAggregate(aggregateType: Type, aggregateId: Identity<Guid>): Promise<EventEnvelope[]>;
private convertToEnvelope(event);
private saveEvents(aggtType, aggtId, events, expectedVersion);
private getEvents(streamName, start, limit?);
private withConn<T>(f);
private connect();
private getStreamName(type, id);
}