Files
orca/src/main/cli/keyed-promise-queue.ts
T
OrcaWin 2847bbe9e8 [comment audit] Consolidate completed code comment cleanup
Combine the completed comment cleanup from 319 stacked PRs into one change against `main`, so the full CI suite validates the combined result once. This replaces the previous audit stack; no additional audit work is included.

The change shortens redundant comments across 2,753 source and shell-snapshot files (25,235 net lines removed). Conflicts preserve current-main executable code. Runtime behavior, test assertions, directives, licenses, generated notices, SAFETY rationales, and compatibility markers are preserved. The audit tracker remains local, outside the repository.

Validation:
- Equivalent source/emitted AST and executable tokens across all 2,750 source files, with separate checks for embedded shell, SQL, JavaScript, CSS, and generated fixtures.
- Identical executable lines in the three shell snapshots; protected comments unchanged.
- Changed-code quality gate passed with no new findings.
- 358 tests passed, 2 skipped across 23 focused test files.
- `git diff --check` passed.
2026-10-23 13:15:45 -07:00

30 lines
750 B
TypeScript

/** Queue tails never reject; operation failures propagate only to their enqueuer. */
export function runKeyedSerializedOperation<T>(
queues: Map<string, Promise<void>>,
key: string,
operation: () => Promise<T>
): Promise<T> {
const previous = queues.get(key) ?? Promise.resolve()
const current = previous.then(operation)
const queued = current.then(
() => undefined,
() => undefined
)
queues.set(key, queued)
const clear = (): void => {
if (queues.get(key) === queued) {
queues.delete(key)
}
}
queued.then(clear, clear)
return current
}
export function getKeyedSerializedQueueTail(
queues: Map<string, Promise<void>>,
key: string
): Promise<void> {
return queues.get(key) ?? Promise.resolve()
}