Compare commits

...

2 Commits

Author SHA1 Message Date
Bertie690
c1c66a473b
Update src/data/phase-priority-queue.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-08-11 10:41:55 -04:00
Bertie690
d576da72d2
Update src/data/phase-priority-queue.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-08-11 10:41:44 -04:00

View File

@ -54,19 +54,22 @@ export abstract class PhasePriorityQueue {
* @todo Remove this eventually once the patchwork bug this is used for is fixed
*/
public tryRemovePhase(phaseFilter: (phase: Phase) => boolean, removeCount: number | "all" = 1): number {
if (typeof removeCount === "string") {
removeCount = Number.MAX_SAFE_INTEGER; // For the lulz
if (removeCount === "all") {
removeCount = Number.MAX_SAFE_INTEGER;
} else if (removeCount < 1) {
return 0;
}
let numRemoved = 0;
let phaseIndex = this.queue.findIndex(phaseFilter);
if (phaseIndex === -1) {
return 0;
}
do {
while (numRemoved < removeCount && phaseIndex !== -1) {
this.queue.splice(phaseIndex, 1);
numRemoved++;
} while (numRemoved < removeCount || (phaseIndex = this.queue.findIndex(phaseFilter)) !== -1);
return removeCount;
phaseIndex = this.queue.findIndex(phaseFilter);
}
return numRemoved;
}
}