X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fdeque.ts;h=fe82a79896a08757e3f261b66aa364b1407ab6e9;hb=48237019f9629e7554d51b2ce613bd08f711c38f;hp=2eae8034845789b4991c3d1435c24f7050726c42;hpb=4843c5e8874c71a3ba37ae9c152a0fce133f23e7;p=poolifier.git diff --git a/src/deque.ts b/src/deque.ts index 2eae8034..fe82a798 100644 --- a/src/deque.ts +++ b/src/deque.ts @@ -76,14 +76,14 @@ export class Deque { */ public pop (): T | undefined { if (this.head == null) { - return undefined + return } const tail = this.tail - this.tail = (this.tail as Node).prev + this.tail = this.tail?.prev if (this.tail == null) { - this.head = undefined + delete this.head } else { - this.tail.next = undefined + delete this.tail.next } --this.size return tail?.data @@ -96,17 +96,17 @@ export class Deque { */ public shift (): T | undefined { if (this.head == null) { - return undefined + return } const head = this.head this.head = this.head.next if (this.head == null) { - this.tail = undefined + delete this.tail } else { - this.head.prev = undefined + delete this.head.prev } --this.size - return head?.data + return head.data } /** @@ -129,8 +129,8 @@ export class Deque { * Clears the deque. */ public clear (): void { - this.head = undefined - this.tail = undefined + delete this.head + delete this.tail this.size = 0 this.maxSize = 0 } @@ -155,7 +155,7 @@ export class Deque { value: node.data, done: false } - node = node.next as Node + node = node.next return ret } } @@ -183,7 +183,7 @@ export class Deque { value: node.data, done: false } - node = node.prev as Node + node = node.prev return ret } }