export type UpdateDefinition = { id: string; newVersion: string; }; export default class ApplicationUpdates implements DomainProjection { private readonly pendingUpdates: UpdateDefinition[] = []; handle(event: DomainEvent): void { if (event.type === "ApplicationUpdateStarted") { console.log("ApplicationUpdateStarted", event.payload); this.pendingUpdates.push(event.payload); } } getPendingUpdates(): UpdateDefinition[] { return this.pendingUpdates; } }