interface PendingRename { topicId: string; abortController: AbortController; } const pendingRenames: Map = new Map(); export const cancelPendingRename = (topicId: string) => { const pendingRename = pendingRenames.get(topicId); if (pendingRename) { pendingRename.abort(); pendingRenames.delete(topicId); return true; } return false; }; export const completeRename = (topicId: string) => { const controller = pendingRenames.get(topicId); if (controller) { pendingRenames.delete(topicId); } }; export const addPendingRename = (topicId: string) => { const abortController = new AbortController(); pendingRenames.set(topicId, abortController); return abortController; };