queue-typed 2.4.0 → 2.4.1

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 (55) hide show
  1. package/dist/cjs/index.cjs +12 -0
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs-legacy/index.cjs +12 -0
  4. package/dist/cjs-legacy/index.cjs.map +1 -1
  5. package/dist/esm/index.mjs +12 -0
  6. package/dist/esm/index.mjs.map +1 -1
  7. package/dist/esm-legacy/index.mjs +12 -0
  8. package/dist/esm-legacy/index.mjs.map +1 -1
  9. package/dist/types/data-structures/base/linear-base.d.ts +6 -6
  10. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +6 -6
  11. package/dist/types/data-structures/binary-tree/bst.d.ts +2 -1
  12. package/dist/types/data-structures/binary-tree/index.d.ts +3 -3
  13. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +150 -20
  14. package/dist/types/data-structures/binary-tree/tree-map.d.ts +188 -0
  15. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +238 -147
  16. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +270 -0
  17. package/dist/types/data-structures/binary-tree/tree-set.d.ts +181 -0
  18. package/dist/types/interfaces/binary-tree.d.ts +2 -2
  19. package/dist/types/types/data-structures/binary-tree/index.d.ts +3 -3
  20. package/dist/types/types/data-structures/binary-tree/tree-map.d.ts +33 -0
  21. package/dist/types/types/data-structures/binary-tree/tree-multi-set.d.ts +16 -0
  22. package/dist/types/types/data-structures/binary-tree/tree-set.d.ts +33 -0
  23. package/dist/umd/queue-typed.js +12 -0
  24. package/dist/umd/queue-typed.js.map +1 -1
  25. package/dist/umd/queue-typed.min.js +1 -1
  26. package/dist/umd/queue-typed.min.js.map +1 -1
  27. package/package.json +2 -2
  28. package/src/data-structures/base/linear-base.ts +2 -12
  29. package/src/data-structures/binary-tree/avl-tree.ts +1 -1
  30. package/src/data-structures/binary-tree/binary-tree.ts +45 -21
  31. package/src/data-structures/binary-tree/bst.ts +85 -10
  32. package/src/data-structures/binary-tree/index.ts +3 -3
  33. package/src/data-structures/binary-tree/red-black-tree.ts +568 -76
  34. package/src/data-structures/binary-tree/tree-map.ts +439 -0
  35. package/src/data-structures/binary-tree/tree-multi-map.ts +488 -325
  36. package/src/data-structures/binary-tree/tree-multi-set.ts +502 -0
  37. package/src/data-structures/binary-tree/tree-set.ts +407 -0
  38. package/src/data-structures/queue/deque.ts +10 -0
  39. package/src/interfaces/binary-tree.ts +2 -2
  40. package/src/types/data-structures/binary-tree/index.ts +3 -3
  41. package/src/types/data-structures/binary-tree/tree-map.ts +45 -0
  42. package/src/types/data-structures/binary-tree/tree-multi-set.ts +19 -0
  43. package/src/types/data-structures/binary-tree/tree-set.ts +39 -0
  44. package/dist/types/data-structures/binary-tree/avl-tree-counter.d.ts +0 -236
  45. package/dist/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -197
  46. package/dist/types/data-structures/binary-tree/tree-counter.d.ts +0 -243
  47. package/dist/types/types/data-structures/binary-tree/avl-tree-counter.d.ts +0 -2
  48. package/dist/types/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +0 -2
  49. package/dist/types/types/data-structures/binary-tree/tree-counter.d.ts +0 -2
  50. package/src/data-structures/binary-tree/avl-tree-counter.ts +0 -539
  51. package/src/data-structures/binary-tree/avl-tree-multi-map.ts +0 -438
  52. package/src/data-structures/binary-tree/tree-counter.ts +0 -575
  53. package/src/types/data-structures/binary-tree/avl-tree-counter.ts +0 -3
  54. package/src/types/data-structures/binary-tree/avl-tree-multi-map.ts +0 -3
  55. package/src/types/data-structures/binary-tree/tree-counter.ts +0 -3
@@ -517,6 +517,12 @@ var _LinearLinkedBase = class _LinearLinkedBase extends LinearBase {
517
517
  }
518
518
  return -1;
519
519
  }
520
+ /**
521
+ * Concatenate lists/elements preserving order.
522
+ * @param items - Elements or `LinearBase` instances.
523
+ * @returns New list with combined elements (`this` type).
524
+ * @remarks Time O(sum(length)), Space O(sum(length))
525
+ */
520
526
  concat(...items) {
521
527
  const newList = this.clone();
522
528
  for (const item of items) {
@@ -2329,6 +2335,12 @@ var _Deque = class _Deque extends LinearBase {
2329
2335
  */
2330
2336
  _setBucketSize(size) {
2331
2337
  this._bucketSize = size;
2338
+ if (this._length === 0) {
2339
+ this._buckets = [new Array(this._bucketSize)];
2340
+ this._bucketCount = 1;
2341
+ this._bucketFirst = this._bucketLast = 0;
2342
+ this._firstInBucket = this._lastInBucket = this._bucketSize >> 1;
2343
+ }
2332
2344
  }
2333
2345
  /**
2334
2346
  * (Protected) Iterate elements from front to back.