refactor: cleanup priority queue size handling
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Sat, 11 May 2024 17:35:01 +0000 (19:35 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Sat, 11 May 2024 17:35:01 +0000 (19:35 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
.eslintrc.cjs
src/priority-queue.ts

index ef9e86c091254a8920eecfbe2706ff2c2d71736a..af3c350bef18760c226e5afcd7f97962f3235bf1 100644 (file)
@@ -45,6 +45,7 @@ module.exports = defineConfig({
           'cpus',
           'cryptographically',
           'ctx',
+          'decrement',
           'deprecations',
           'deque',
           'dequeue',
index 1c0d8c929967b2fa52f728f7b395ed013f044fda..e68fe37d16e732efc907562adbb9716b9793c612 100644 (file)
@@ -91,9 +91,7 @@ export class PriorityQueue<T> {
         --bucket
       }
     }
-    if (this.size > 0) {
-      --this.size
-    }
+    this.decrementSize()
     return this.nodeArray.shift()?.data
   }
 
@@ -160,4 +158,16 @@ export class PriorityQueue<T> {
     }
     return this.size
   }
+
+  /**
+   * Decrements the size of the priority queue.
+   *
+   * @returns The new size of the priority queue.
+   */
+  private decrementSize (): number {
+    if (this.size > 0) {
+      --this.size
+    }
+    return this.size
+  }
 }