UNPKG

woltage

Version:

A CQRS and Event-Sourcing Framework

28 lines (27 loc) 1 kB
import { IEventStore } from './adapters/EventStore.ts'; import { IStore } from './adapters/Store.ts'; import Projector from './read/Projector.ts'; import ReadModel from './read/ReadModel.ts'; import Aggregate from './write/Aggregate.ts'; export type EventStoreAdapterConfig<TClass extends IEventStore = IEventStore, TArgs extends any[] = any> = { adapter: { new (...args: TArgs[]): TClass; }; args?: TArgs; }; export type StoreAdapterConfig<TClass extends IStore = IStore, TArgs extends any[] = any> = { adapter: { new (prefix: string, ...args: TArgs[]): TClass; }; args?: TArgs; }; export type WoltageConfig = { eventStore: EventStoreAdapterConfig; eventClasses: (typeof Event)[] | string; aggregates: Aggregate[] | string; projectorClasses: (typeof Projector)[] | string; readModelClasses?: (typeof ReadModel)[] | string; internalStore: StoreAdapterConfig; stores?: Record<string, StoreAdapterConfig>; autostart?: boolean; };