T007–T011: implement AdvanceTurn domain logic (pure function, events, invariants, 8 acceptance tests)

This commit is contained in:
Lukas
2026-03-03 13:01:08 +01:00
parent 7dd4abb12a
commit 42a07a07ff
6 changed files with 402 additions and 6 deletions

View File

@@ -0,0 +1,15 @@
import type { CombatantId } from "./types.js";
export interface TurnAdvanced {
readonly type: "TurnAdvanced";
readonly previousCombatantId: CombatantId;
readonly newCombatantId: CombatantId;
readonly roundNumber: number;
}
export interface RoundAdvanced {
readonly type: "RoundAdvanced";
readonly newRoundNumber: number;
}
export type DomainEvent = TurnAdvanced | RoundAdvanced;