import { type CombatantId, type ConditionId, type DomainError, type DomainEvent, isDomainError, toggleCondition, } from "@initiative/domain"; import type { EncounterStore } from "./ports.js"; export function toggleConditionUseCase( store: EncounterStore, combatantId: CombatantId, conditionId: ConditionId, ): DomainEvent[] | DomainError { const encounter = store.get(); const result = toggleCondition(encounter, combatantId, conditionId); if (isDomainError(result)) { return result; } store.save(result.encounter); return result.events; }