import { type DomainError, type DomainEvent, deletePlayerCharacter, isDomainError, type PlayerCharacterId, } from "@initiative/domain"; import type { PlayerCharacterStore } from "./ports.js"; export function deletePlayerCharacterUseCase( store: PlayerCharacterStore, id: PlayerCharacterId, ): DomainEvent[] | DomainError { const characters = store.getAll(); const result = deletePlayerCharacter(characters, id); if (isDomainError(result)) { return result; } store.save([...result.characters]); return result.events; }