demeine
Version:
DDDD - Distributed Domain Driven Design
16 lines (15 loc) • 565 B
TypeScript
import { Event } from '../aggregate/Aggregate.interfaces';
export interface Callback<Result> {
(err: Error): void;
(err: null, result: Result): void;
(err: Error | null, result?: Result): void;
}
export interface Commit<Payload extends object = object> {
events: Array<Event<Payload>>;
}
export interface ConcurrencyStrategy<Payload extends object = object> {
(uncommittedEvents: Array<Event<Payload>>, committedEvents?: Array<Event<Payload>>): boolean;
}
export interface RepositoryOptions {
resetSnapshotOnFail?: boolean;
}