queue-typed 2.4.2 → 2.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cjs/index.cjs +7 -7
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs-legacy/index.cjs +8 -7
  4. package/dist/cjs-legacy/index.cjs.map +1 -1
  5. package/dist/esm/index.mjs +7 -7
  6. package/dist/esm/index.mjs.map +1 -1
  7. package/dist/esm-legacy/index.mjs +8 -7
  8. package/dist/esm-legacy/index.mjs.map +1 -1
  9. package/dist/types/data-structures/base/iterable-element-base.d.ts +1 -1
  10. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +5 -5
  11. package/dist/types/data-structures/binary-tree/bst.d.ts +1 -1
  12. package/dist/types/data-structures/binary-tree/tree-map.d.ts +10 -0
  13. package/dist/types/data-structures/binary-tree/tree-set.d.ts +10 -0
  14. package/dist/types/data-structures/graph/directed-graph.d.ts +2 -2
  15. package/dist/types/data-structures/graph/undirected-graph.d.ts +2 -2
  16. package/dist/types/data-structures/hash/hash-map.d.ts +2 -2
  17. package/dist/types/data-structures/heap/heap.d.ts +3 -7
  18. package/dist/types/types/data-structures/binary-tree/avl-tree.d.ts +1 -1
  19. package/dist/types/types/data-structures/binary-tree/red-black-tree.d.ts +1 -1
  20. package/dist/types/types/data-structures/linked-list/doubly-linked-list.d.ts +1 -1
  21. package/dist/types/types/data-structures/linked-list/singly-linked-list.d.ts +1 -1
  22. package/dist/types/types/data-structures/priority-queue/priority-queue.d.ts +1 -1
  23. package/dist/types/types/data-structures/stack/stack.d.ts +1 -1
  24. package/dist/umd/queue-typed.js +8 -7
  25. package/dist/umd/queue-typed.js.map +1 -1
  26. package/dist/umd/queue-typed.min.js +1 -1
  27. package/dist/umd/queue-typed.min.js.map +1 -1
  28. package/package.json +2 -2
  29. package/src/data-structures/base/iterable-element-base.ts +2 -2
  30. package/src/data-structures/binary-tree/binary-tree.ts +8 -7
  31. package/src/data-structures/binary-tree/bst.ts +1 -1
  32. package/src/data-structures/binary-tree/tree-map.ts +16 -0
  33. package/src/data-structures/binary-tree/tree-multi-set.ts +5 -5
  34. package/src/data-structures/binary-tree/tree-set.ts +16 -0
  35. package/src/data-structures/graph/abstract-graph.ts +18 -18
  36. package/src/data-structures/graph/directed-graph.ts +4 -4
  37. package/src/data-structures/graph/map-graph.ts +1 -1
  38. package/src/data-structures/graph/undirected-graph.ts +4 -4
  39. package/src/data-structures/hash/hash-map.ts +6 -4
  40. package/src/data-structures/heap/heap.ts +17 -14
  41. package/src/data-structures/linked-list/doubly-linked-list.ts +4 -4
  42. package/src/data-structures/linked-list/singly-linked-list.ts +15 -9
  43. package/src/data-structures/queue/deque.ts +1 -1
  44. package/src/data-structures/stack/stack.ts +1 -1
  45. package/src/data-structures/trie/trie.ts +10 -5
  46. package/src/types/data-structures/binary-tree/avl-tree.ts +1 -1
  47. package/src/types/data-structures/binary-tree/red-black-tree.ts +1 -1
  48. package/src/types/data-structures/linked-list/doubly-linked-list.ts +1 -1
  49. package/src/types/data-structures/linked-list/singly-linked-list.ts +1 -1
  50. package/src/types/data-structures/priority-queue/priority-queue.ts +1 -1
  51. package/src/types/data-structures/stack/stack.ts +1 -1
@@ -656,7 +656,7 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
656
656
  */
657
657
  constructor(elements = [], options) {
658
658
  super(options);
659
- __publicField(this, "_equals", Object.is);
659
+ __publicField(this, "_equals", /* @__PURE__ */ __name((a, b) => Object.is(a, b), "_equals"));
660
660
  __publicField(this, "_head");
661
661
  __publicField(this, "_tail");
662
662
  __publicField(this, "_length", 0);
@@ -744,6 +744,7 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
744
744
  * @returns Removed element or undefined.
745
745
  */
746
746
  pop() {
747
+ var _a;
747
748
  if (!this.head) return void 0;
748
749
  if (this.head === this.tail) {
749
750
  const value2 = this.head.value;
@@ -753,8 +754,8 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
753
754
  return value2;
754
755
  }
755
756
  let current = this.head;
756
- while (current.next !== this.tail) current = current.next;
757
- const value = this.tail.value;
757
+ while (current.next && current.next !== this.tail) current = current.next;
758
+ const value = (_a = this.tail) == null ? void 0 : _a.value;
758
759
  current.next = void 0;
759
760
  this._tail = current;
760
761
  this._length--;
@@ -842,8 +843,8 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
842
843
  at(index) {
843
844
  if (index < 0 || index >= this._length) return void 0;
844
845
  let current = this.head;
845
- for (let i = 0; i < index; i++) current = current.next;
846
- return current.value;
846
+ for (let i = 0; i < index && current; i++) current = current.next;
847
+ return current == null ? void 0 : current.value;
847
848
  }
848
849
  /**
849
850
  * Type guard: check whether the input is a SinglyLinkedListNode.
@@ -863,7 +864,7 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
863
864
  getNodeAt(index) {
864
865
  if (index < 0 || index >= this._length) return void 0;
865
866
  let current = this.head;
866
- for (let i = 0; i < index; i++) current = current.next;
867
+ for (let i = 0; i < index && current; i++) current = current.next;
867
868
  return current;
868
869
  }
869
870
  /**
@@ -1716,7 +1717,7 @@ var _Deque = class _Deque extends LinearBase {
1716
1717
  */
1717
1718
  constructor(elements = [], options) {
1718
1719
  super(options);
1719
- __publicField(this, "_equals", Object.is);
1720
+ __publicField(this, "_equals", /* @__PURE__ */ __name((a, b) => Object.is(a, b), "_equals"));
1720
1721
  __publicField(this, "_bucketSize", 1 << 12);
1721
1722
  __publicField(this, "_bucketFirst", 0);
1722
1723
  __publicField(this, "_firstInBucket", 0);