@nestjs-cqrs-eventsourcing/core
Version:
Event sourcing for nestjs CQRS
36 lines (35 loc) • 2.11 kB
TypeScript
import { EventEmitter } from 'events';
import { EventMappings, EventStoreOptions, EventStoreWrapper, EventStream, EventStreamType, EventType, Query, SnapshotType, StorableEvent } from '@nestjs-cqrs-eventsourcing/core';
export declare class Eventstore extends EventEmitter implements EventStoreWrapper {
private readonly options;
eventMappings: Record<string, string>;
private publisher;
private dispatcher;
private store;
constructor(options: EventStoreOptions);
useEventPublisher(fn: (e: StorableEvent) => Promise<void>): this;
defineEventMappings(mappings: EventMappings): this;
init(): Promise<void>;
streamEvents(query: Query | string | number, skip: number, limit: number): Promise<EventStreamType>;
streamEventsSince(commitStamp: Date, skip: number, limit: number): Promise<EventStreamType>;
streamEventsByRevision(query: Query | string, revMin: number, revMax: number): Promise<EventStreamType>;
getEvents(query: Query | string, skip?: number, limit?: number): Promise<EventType[]>;
countEvents(query: Query | string): Promise<number>;
getEvent(index: number): Promise<EventType | null>;
getEventsSince(commitStamp: Date, skip?: number, limit?: number): Promise<EventType[]>;
getEventsByRevision(query: Query | string, revMin?: number, revMax?: number): Promise<EventType[]>;
getEventStream(query: Query | string, revMin?: number, revMax?: number): Promise<EventStream>;
getFromSnapshot(query: Query | string, revMax?: number): Promise<[SnapshotType | null, EventStream]>;
createSnapshot(obj: SnapshotType & {
revision: number | string;
}): Promise<void>;
commit(eventStream: EventStreamType): Promise<void>;
getUndispatchedEvents(query: Query | string): Promise<EventType[] | null>;
getLastEvent(query: Query | string): Promise<EventType | null>;
getLastEventAsStream(query: Query | string): Promise<EventStream>;
setEventToDispatched(evtOrId: {
id: number;
} | number): Promise<void>;
getNewId(): string;
createSequence(name: string, startValue: number): Promise<void>;
}