woltage
Version:
A CQRS and Event-Sourcing Framework
44 lines (43 loc) • 1.28 kB
TypeScript
import { z } from 'zod/v4';
import type Projector from './Projector.ts';
import Event from '../Event.ts';
import type { IStore } from '../adapters/Store.ts';
declare const configDefinition: {
_woltage: {
key: z.ZodObject<{
projectionId: z.ZodString;
}, z.core.$strip>;
schema: z.ZodObject<{
position: z.ZodBigInt;
}, z.core.$strip>;
};
};
declare class Projection {
#private;
static getId(name: string, version: number): string;
readonly id: string;
readonly name: string;
readonly version: number;
storeName?: string;
projector: Projector<typeof configDefinition>;
constructor(name: string, version: number, ProjectorClass: typeof Projector, store: IStore<typeof configDefinition>);
get isReplaying(): boolean;
get isLiveTracking(): boolean;
init(): Promise<void>;
onEvent(event: Event): Promise<void>;
stop(): Promise<void>;
toJSON(): {
id: string;
name: string;
version: number;
storeName: string | undefined;
isReplaying: boolean;
isLiveTracking: boolean;
latestPosition: string;
projector: {
name: string;
version: number;
};
};
}
export default Projection;