data-structure-typed 1.34.8 → 1.34.9

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 (126) hide show
  1. package/.eslintrc.js +1 -0
  2. package/CHANGELOG.md +1 -1
  3. package/CONTRIBUTING.md +0 -0
  4. package/README.md +8 -8
  5. package/dist/data-structures/binary-tree/aa-tree.js +2 -5
  6. package/dist/data-structures/binary-tree/aa-tree.js.map +1 -1
  7. package/dist/data-structures/binary-tree/abstract-binary-tree.js +280 -423
  8. package/dist/data-structures/binary-tree/abstract-binary-tree.js.map +1 -1
  9. package/dist/data-structures/binary-tree/avl-tree.js +63 -89
  10. package/dist/data-structures/binary-tree/avl-tree.js.map +1 -1
  11. package/dist/data-structures/binary-tree/b-tree.js +2 -5
  12. package/dist/data-structures/binary-tree/b-tree.js.map +1 -1
  13. package/dist/data-structures/binary-tree/binary-indexed-tree.js +17 -22
  14. package/dist/data-structures/binary-tree/binary-indexed-tree.js.map +1 -1
  15. package/dist/data-structures/binary-tree/binary-tree.js +11 -30
  16. package/dist/data-structures/binary-tree/binary-tree.js.map +1 -1
  17. package/dist/data-structures/binary-tree/bst.js +127 -214
  18. package/dist/data-structures/binary-tree/bst.js.map +1 -1
  19. package/dist/data-structures/binary-tree/rb-tree.js +19 -43
  20. package/dist/data-structures/binary-tree/rb-tree.js.map +1 -1
  21. package/dist/data-structures/binary-tree/segment-tree.js +80 -122
  22. package/dist/data-structures/binary-tree/segment-tree.js.map +1 -1
  23. package/dist/data-structures/binary-tree/splay-tree.js +2 -5
  24. package/dist/data-structures/binary-tree/splay-tree.js.map +1 -1
  25. package/dist/data-structures/binary-tree/tree-multiset.js +147 -218
  26. package/dist/data-structures/binary-tree/tree-multiset.js.map +1 -1
  27. package/dist/data-structures/binary-tree/two-three-tree.js +2 -5
  28. package/dist/data-structures/binary-tree/two-three-tree.js.map +1 -1
  29. package/dist/data-structures/graph/abstract-graph.js +338 -572
  30. package/dist/data-structures/graph/abstract-graph.js.map +1 -1
  31. package/dist/data-structures/graph/directed-graph.js +145 -275
  32. package/dist/data-structures/graph/directed-graph.js.map +1 -1
  33. package/dist/data-structures/graph/map-graph.js +46 -87
  34. package/dist/data-structures/graph/map-graph.js.map +1 -1
  35. package/dist/data-structures/graph/undirected-graph.js +90 -179
  36. package/dist/data-structures/graph/undirected-graph.js.map +1 -1
  37. package/dist/data-structures/hash/coordinate-map.js +23 -45
  38. package/dist/data-structures/hash/coordinate-map.js.map +1 -1
  39. package/dist/data-structures/hash/coordinate-set.js +20 -42
  40. package/dist/data-structures/hash/coordinate-set.js.map +1 -1
  41. package/dist/data-structures/hash/hash-map.js +85 -247
  42. package/dist/data-structures/hash/hash-map.js.map +1 -1
  43. package/dist/data-structures/hash/hash-table.js +87 -128
  44. package/dist/data-structures/hash/hash-table.js.map +1 -1
  45. package/dist/data-structures/hash/pair.js +2 -5
  46. package/dist/data-structures/hash/pair.js.map +1 -1
  47. package/dist/data-structures/hash/tree-map.js +2 -5
  48. package/dist/data-structures/hash/tree-map.js.map +1 -1
  49. package/dist/data-structures/hash/tree-set.js +2 -5
  50. package/dist/data-structures/hash/tree-set.js.map +1 -1
  51. package/dist/data-structures/heap/heap.js +56 -80
  52. package/dist/data-structures/heap/heap.js.map +1 -1
  53. package/dist/data-structures/heap/max-heap.js +8 -26
  54. package/dist/data-structures/heap/max-heap.js.map +1 -1
  55. package/dist/data-structures/heap/min-heap.js +8 -26
  56. package/dist/data-structures/heap/min-heap.js.map +1 -1
  57. package/dist/data-structures/linked-list/doubly-linked-list.js +149 -218
  58. package/dist/data-structures/linked-list/doubly-linked-list.js.map +1 -1
  59. package/dist/data-structures/linked-list/singly-linked-list.js +119 -218
  60. package/dist/data-structures/linked-list/singly-linked-list.js.map +1 -1
  61. package/dist/data-structures/linked-list/skip-linked-list.js +50 -70
  62. package/dist/data-structures/linked-list/skip-linked-list.js.map +1 -1
  63. package/dist/data-structures/matrix/matrix.js +7 -8
  64. package/dist/data-structures/matrix/matrix.js.map +1 -1
  65. package/dist/data-structures/matrix/matrix2d.js +57 -70
  66. package/dist/data-structures/matrix/matrix2d.js.map +1 -1
  67. package/dist/data-structures/matrix/navigator.js +18 -37
  68. package/dist/data-structures/matrix/navigator.js.map +1 -1
  69. package/dist/data-structures/matrix/vector2d.js +63 -84
  70. package/dist/data-structures/matrix/vector2d.js.map +1 -1
  71. package/dist/data-structures/priority-queue/max-priority-queue.js +13 -41
  72. package/dist/data-structures/priority-queue/max-priority-queue.js.map +1 -1
  73. package/dist/data-structures/priority-queue/min-priority-queue.js +13 -41
  74. package/dist/data-structures/priority-queue/min-priority-queue.js.map +1 -1
  75. package/dist/data-structures/priority-queue/priority-queue.js +93 -139
  76. package/dist/data-structures/priority-queue/priority-queue.js.map +1 -1
  77. package/dist/data-structures/queue/deque.js +82 -128
  78. package/dist/data-structures/queue/deque.js.map +1 -1
  79. package/dist/data-structures/queue/queue.js +57 -157
  80. package/dist/data-structures/queue/queue.js.map +1 -1
  81. package/dist/data-structures/stack/stack.js +21 -22
  82. package/dist/data-structures/stack/stack.js.map +1 -1
  83. package/dist/data-structures/tree/tree.js +32 -45
  84. package/dist/data-structures/tree/tree.js.map +1 -1
  85. package/dist/data-structures/trie/trie.js +93 -200
  86. package/dist/data-structures/trie/trie.js.map +1 -1
  87. package/dist/types/data-structures/abstract-binary-tree.js.map +1 -1
  88. package/dist/utils/utils.js +22 -107
  89. package/dist/utils/utils.js.map +1 -1
  90. package/lib/data-structures/binary-tree/abstract-binary-tree.d.ts +79 -78
  91. package/lib/data-structures/binary-tree/abstract-binary-tree.js +61 -141
  92. package/lib/data-structures/binary-tree/avl-tree.d.ts +9 -0
  93. package/lib/data-structures/binary-tree/avl-tree.js +22 -0
  94. package/lib/data-structures/binary-tree/bst.d.ts +3 -3
  95. package/lib/data-structures/binary-tree/bst.js +12 -15
  96. package/lib/data-structures/binary-tree/tree-multiset.d.ts +16 -18
  97. package/lib/data-structures/binary-tree/tree-multiset.js +26 -36
  98. package/lib/data-structures/graph/abstract-graph.d.ts +2 -2
  99. package/lib/data-structures/graph/abstract-graph.js +5 -5
  100. package/lib/data-structures/priority-queue/priority-queue.d.ts +3 -3
  101. package/lib/data-structures/priority-queue/priority-queue.js +3 -3
  102. package/lib/interfaces/abstract-binary-tree.d.ts +23 -28
  103. package/lib/interfaces/avl-tree.d.ts +3 -1
  104. package/lib/interfaces/bst.d.ts +2 -1
  105. package/lib/types/data-structures/abstract-binary-tree.js +0 -1
  106. package/package.json +6 -6
  107. package/src/data-structures/binary-tree/abstract-binary-tree.ts +151 -203
  108. package/src/data-structures/binary-tree/avl-tree.ts +29 -0
  109. package/src/data-structures/binary-tree/bst.ts +12 -15
  110. package/src/data-structures/binary-tree/tree-multiset.ts +27 -39
  111. package/src/data-structures/graph/abstract-graph.ts +5 -5
  112. package/src/data-structures/priority-queue/priority-queue.ts +3 -3
  113. package/src/interfaces/abstract-binary-tree.ts +23 -36
  114. package/src/interfaces/avl-tree.ts +3 -1
  115. package/src/interfaces/bst.ts +1 -1
  116. package/src/types/data-structures/abstract-binary-tree.ts +0 -1
  117. package/test/integration/avl-tree.test.ts +24 -24
  118. package/test/integration/bst.test.ts +71 -71
  119. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +4 -4
  120. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +1 -9
  121. package/test/unit/data-structures/binary-tree/bst.test.ts +8 -8
  122. package/test/unit/data-structures/binary-tree/overall.test.ts +1 -1
  123. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +9 -9
  124. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +4 -4
  125. package/umd/bundle.min.js +1 -1
  126. package/umd/bundle.min.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"directed-graph.js","sourceRoot":"","sources":["../../../src/data-structures/graph/directed-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directed-graph.js","sourceRoot":"","sources":["../../../src/data-structures/graph/directed-graph.ts"],"names":[],"mappings":";;;AAOA,uCAAwC;AACxC,qDAA6E;AAI7E,MAAa,cAAwB,SAAQ,+BAAiB;IAQ5D,YAAY,GAAc,EAAE,GAAO;QACjC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,CAAC;CACF;AAXD,wCAWC;AAED,MAAa,YAAsB,SAAQ,6BAAe;IAYxD,YAAY,GAAc,EAAE,IAAe,EAAE,MAAe,EAAE,GAAO;QACnE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAID,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,CAAY;QAClB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,CAAC;IAID,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,CAAY;QACnB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;CACF;AArCD,oCAqCC;AAED,MAAa,aACX,SAAQ,8BAAmB;IAM3B;QACE,KAAK,EAAE,CAAC;QAGF,gBAAW,GAAgB,IAAI,GAAG,EAAU,CAAC;QAM7C,eAAU,GAAgB,IAAI,GAAG,EAAU,CAAC;IARpD,CAAC;IAID,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAID,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAgBD,YAAY,CAAC,GAAc,EAAE,GAAc;QACzC,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,GAAG,CAAM,CAAC;IAClD,CAAC;IAiBD,UAAU,CAAC,GAAc,EAAE,IAAe,EAAE,MAAe,EAAE,GAAc;QACzE,OAAO,IAAI,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,EAAE,GAAG,CAAM,CAAC;IAC5D,CAAC;IAUD,OAAO,CAAC,QAA8B,EAAE,SAA+B;QACrE,IAAI,KAAK,GAAQ,EAAE,CAAC;QAEpB,IAAI,QAAQ,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE;YAC3C,MAAM,GAAG,GAAa,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,IAAI,GAAa,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAElD,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,WAAW,EAAE;oBACf,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC5D;aACF;SACF;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1B,CAAC;IAQD,mBAAmB,CAAC,QAAuB,EAAE,SAAwB;QACnE,MAAM,GAAG,GAAa,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,IAAI,GAAa,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,OAAO,GAAa,IAAI,CAAC;QAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,WAAW,EAAE;YACf,IAAA,mBAAW,EAAI,WAAW,EAAE,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;SAClE;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,WAAW,EAAE;YACf,OAAO,GAAG,IAAA,mBAAW,EAAI,WAAW,EAAE,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;SACrF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAQD,UAAU,CAAC,IAAO;QAChB,IAAI,OAAO,GAAa,IAAI,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,IAAA,mBAAW,EAAC,WAAW,EAAE,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;aAC7D;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,OAAO,GAAG,IAAA,mBAAW,EAAC,WAAW,EAAE,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5E;SACF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAUD,kBAAkB,CAAC,EAAiB,EAAE,EAAiB;QACrD,MAAM,OAAO,GAAQ,EAAE,CAAC;QAExB,IAAI,EAAE,IAAI,EAAE,EAAE;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAEhD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAChC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAQD,eAAe,CAAC,WAA0B;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACV,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACzC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAQD,eAAe,CAAC,WAA0B;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACV,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAC3C;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAOD,QAAQ,CAAC,WAA0B;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IAOD,UAAU,CAAC,WAA0B;QACnC,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAClD,CAAC;IAOD,WAAW,CAAC,WAA0B;QACpC,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAClD,CAAC;IAOD,OAAO,CAAC,WAA0B;QAChC,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IACtF,CAAC;IAOD,UAAU,CAAC,CAAI;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAOD,WAAW,CAAC,CAAI;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAQD,eAAe,CAAC,MAA4B;QAC1C,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,OAAO,EAAE,CAAC;SACX;QACD,MAAM,YAAY,GAAQ,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,KAAK,EAAE;gBACT,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1B;SACF;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAUD,eAAe,CAAC,YAA+B;QAC7C,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,KAAK,CAAC;QAGrC,MAAM,SAAS,GAA0C,IAAI,GAAG,EAAoC,CAAC;QACrG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5B;QAED,IAAI,MAAM,GAAsB,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,GAAG,GAAG,CAAC,GAAkB,EAAE,EAAE;YACjC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC3C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;gBAC5B,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,WAAW,KAAK,CAAC,EAAE;oBACrB,GAAG,CAAC,KAAK,CAAC,CAAC;iBACZ;qBAAM,IAAI,WAAW,KAAK,CAAC,EAAE;oBAC5B,QAAQ,GAAG,IAAI,CAAC;iBACjB;aACF;YACD,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBACjC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACf;SACF;QAED,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1B,IAAI,YAAY,KAAK,KAAK;YAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,YAAY,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACpH,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAMD,OAAO;QACL,IAAI,KAAK,GAAQ,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAClC,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAQD,YAAY,CAAC,WAA0B;QACrC,MAAM,SAAS,GAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACV,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE/C,IAAI,QAAQ,EAAE;oBACZ,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC1B;aACF;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IASD,aAAa,CAAC,IAAO;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,EAAE,IAAI,EAAE,EAAE;YACZ,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACjB;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IASS,YAAY,CAAC,IAAO;QAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC5D,OAAO,KAAK,CAAC;SACd;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAG9C,IAAI,SAAS,IAAI,UAAU,EAAE;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,WAAW,EAAE;gBACf,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;aACzC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,WAAW,EAAE;gBACf,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;aACzC;YACD,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAES,cAAc,CAAC,KAAkB;QACzC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAES,aAAa,CAAC,KAAkB;QACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;CACF;AArZD,sCAqZC"}
@@ -1,99 +1,58 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.MapGraph = exports.MapEdge = exports.MapVertex = void 0;
19
- var directed_graph_1 = require("./directed-graph");
20
- var MapVertex = (function (_super) {
21
- __extends(MapVertex, _super);
22
- function MapVertex(key, lat, long, val) {
23
- var _this = _super.call(this, key, val) || this;
24
- _this._lat = lat;
25
- _this._long = long;
26
- return _this;
4
+ const directed_graph_1 = require("./directed-graph");
5
+ class MapVertex extends directed_graph_1.DirectedVertex {
6
+ constructor(key, lat, long, val) {
7
+ super(key, val);
8
+ this._lat = lat;
9
+ this._long = long;
27
10
  }
28
- Object.defineProperty(MapVertex.prototype, "lat", {
29
- get: function () {
30
- return this._lat;
31
- },
32
- set: function (value) {
33
- this._lat = value;
34
- },
35
- enumerable: false,
36
- configurable: true
37
- });
38
- Object.defineProperty(MapVertex.prototype, "long", {
39
- get: function () {
40
- return this._long;
41
- },
42
- set: function (value) {
43
- this._long = value;
44
- },
45
- enumerable: false,
46
- configurable: true
47
- });
48
- return MapVertex;
49
- }(directed_graph_1.DirectedVertex));
11
+ get lat() {
12
+ return this._lat;
13
+ }
14
+ set lat(value) {
15
+ this._lat = value;
16
+ }
17
+ get long() {
18
+ return this._long;
19
+ }
20
+ set long(value) {
21
+ this._long = value;
22
+ }
23
+ }
50
24
  exports.MapVertex = MapVertex;
51
- var MapEdge = (function (_super) {
52
- __extends(MapEdge, _super);
53
- function MapEdge(src, dest, weight, val) {
54
- return _super.call(this, src, dest, weight, val) || this;
25
+ class MapEdge extends directed_graph_1.DirectedEdge {
26
+ constructor(src, dest, weight, val) {
27
+ super(src, dest, weight, val);
55
28
  }
56
- return MapEdge;
57
- }(directed_graph_1.DirectedEdge));
29
+ }
58
30
  exports.MapEdge = MapEdge;
59
- var MapGraph = (function (_super) {
60
- __extends(MapGraph, _super);
61
- function MapGraph(origin, bottomRight) {
62
- var _this = _super.call(this) || this;
63
- _this._origin = [0, 0];
64
- _this._origin = origin;
65
- _this._bottomRight = bottomRight;
66
- return _this;
31
+ class MapGraph extends directed_graph_1.DirectedGraph {
32
+ constructor(origin, bottomRight) {
33
+ super();
34
+ this._origin = [0, 0];
35
+ this._origin = origin;
36
+ this._bottomRight = bottomRight;
37
+ }
38
+ get origin() {
39
+ return this._origin;
67
40
  }
68
- Object.defineProperty(MapGraph.prototype, "origin", {
69
- get: function () {
70
- return this._origin;
71
- },
72
- set: function (value) {
73
- this._origin = value;
74
- },
75
- enumerable: false,
76
- configurable: true
77
- });
78
- Object.defineProperty(MapGraph.prototype, "bottomRight", {
79
- get: function () {
80
- return this._bottomRight;
81
- },
82
- set: function (value) {
83
- this._bottomRight = value;
84
- },
85
- enumerable: false,
86
- configurable: true
87
- });
88
- MapGraph.prototype.createVertex = function (key, val, lat, long) {
89
- if (lat === void 0) { lat = this.origin[0]; }
90
- if (long === void 0) { long = this.origin[1]; }
41
+ set origin(value) {
42
+ this._origin = value;
43
+ }
44
+ get bottomRight() {
45
+ return this._bottomRight;
46
+ }
47
+ set bottomRight(value) {
48
+ this._bottomRight = value;
49
+ }
50
+ createVertex(key, val, lat = this.origin[0], long = this.origin[1]) {
91
51
  return new MapVertex(key, lat, long, val);
92
- };
93
- MapGraph.prototype.createEdge = function (src, dest, weight, val) {
52
+ }
53
+ createEdge(src, dest, weight, val) {
94
54
  return new MapEdge(src, dest, weight, val);
95
- };
96
- return MapGraph;
97
- }(directed_graph_1.DirectedGraph));
55
+ }
56
+ }
98
57
  exports.MapGraph = MapGraph;
99
58
  //# sourceMappingURL=map-graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-graph.js","sourceRoot":"","sources":["../../../src/data-structures/graph/map-graph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,mDAA6E;AAE7E;IAAwC,6BAAiB;IAavD,mBAAY,GAAc,EAAE,GAAW,EAAE,IAAY,EAAE,GAAO;QAA9D,YACE,kBAAM,GAAG,EAAE,GAAG,CAAC,SAGhB;QAFC,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;;IACpB,CAAC;IAID,sBAAI,0BAAG;aAAP;YACE,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;aAED,UAAQ,KAAa;YACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACpB,CAAC;;;OAJA;IAQD,sBAAI,2BAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;aAED,UAAS,KAAa;YACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;;;OAJA;IAKH,gBAAC;AAAD,CAAC,AAtCD,CAAwC,+BAAc,GAsCrD;AAtCY,8BAAS;AAwCtB;IAAsC,2BAAe;IAWnD,iBAAY,GAAc,EAAE,IAAe,EAAE,MAAe,EAAE,GAAO;eACnE,kBAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC;IAC/B,CAAC;IACH,cAAC;AAAD,CAAC,AAdD,CAAsC,6BAAY,GAcjD;AAdY,0BAAO;AAgBpB;IAAsG,4BAGrG;IAUC,kBAAY,MAA0B,EAAE,WAAgC;QAAxE,YACE,iBAAO,SAGR;QAEO,aAAO,GAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAJ3C,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;;IAClC,CAAC;IAID,sBAAI,4BAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;aAED,UAAW,KAAyB;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;;;OAJA;IAQD,sBAAI,iCAAW;aAAf;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;aAED,UAAgB,KAAqC;YACnD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;;;OAJA;IAiBQ,+BAAY,GAArB,UACE,GAAc,EACd,GAAc,EACd,GAA4B,EAC5B,IAA6B;QAD7B,oBAAA,EAAA,MAAc,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5B,qBAAA,EAAA,OAAe,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE7B,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAM,CAAC;IACjD,CAAC;IAcQ,6BAAU,GAAnB,UAAoB,GAAc,EAAE,IAAe,EAAE,MAAe,EAAE,GAAc;QAClF,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAM,CAAC;IAClD,CAAC;IACH,eAAC;AAAD,CAAC,AA1ED,CAAsG,8BAAa,GA0ElH;AA1EY,4BAAQ"}
1
+ {"version":3,"file":"map-graph.js","sourceRoot":"","sources":["../../../src/data-structures/graph/map-graph.ts"],"names":[],"mappings":";;;AACA,qDAA6E;AAE7E,MAAa,SAAmB,SAAQ,+BAAiB;IAavD,YAAY,GAAc,EAAE,GAAW,EAAE,IAAY,EAAE,GAAO;QAC5D,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAID,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAID,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAtCD,8BAsCC;AAED,MAAa,OAAiB,SAAQ,6BAAe;IAWnD,YAAY,GAAc,EAAE,IAAe,EAAE,MAAe,EAAE,GAAO;QACnE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;CACF;AAdD,0BAcC;AAED,MAAa,QAAiF,SAAQ,8BAGrG;IAUC,YAAY,MAA0B,EAAE,WAAgC;QACtE,KAAK,EAAE,CAAC;QAKF,YAAO,GAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAJ3C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAID,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,KAAyB;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAID,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW,CAAC,KAAqC;QACnD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAaQ,YAAY,CACnB,GAAc,EACd,GAAc,EACd,MAAc,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAC5B,OAAe,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE7B,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAM,CAAC;IACjD,CAAC;IAcQ,UAAU,CAAC,GAAc,EAAE,IAAe,EAAE,MAAe,EAAE,GAAc;QAClF,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAM,CAAC;IAClD,CAAC;CACF;AA1ED,4BA0EC"}
@@ -1,237 +1,148 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __read = (this && this.__read) || function (o, n) {
18
- var m = typeof Symbol === "function" && o[Symbol.iterator];
19
- if (!m) return o;
20
- var i = m.call(o), r, ar = [], e;
21
- try {
22
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
23
- }
24
- catch (error) { e = { error: error }; }
25
- finally {
26
- try {
27
- if (r && !r.done && (m = i["return"])) m.call(i);
28
- }
29
- finally { if (e) throw e.error; }
30
- }
31
- return ar;
32
- };
33
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
34
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
35
- if (ar || !(i in from)) {
36
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
37
- ar[i] = from[i];
38
- }
39
- }
40
- return to.concat(ar || Array.prototype.slice.call(from));
41
- };
42
- var __values = (this && this.__values) || function(o) {
43
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
44
- if (m) return m.call(o);
45
- if (o && typeof o.length === "number") return {
46
- next: function () {
47
- if (o && i >= o.length) o = void 0;
48
- return { value: o && o[i++], done: !o };
49
- }
50
- };
51
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
52
- };
53
2
  Object.defineProperty(exports, "__esModule", { value: true });
54
3
  exports.UndirectedGraph = exports.UndirectedEdge = exports.UndirectedVertex = void 0;
55
- var utils_1 = require("../../utils");
56
- var abstract_graph_1 = require("./abstract-graph");
57
- var UndirectedVertex = (function (_super) {
58
- __extends(UndirectedVertex, _super);
59
- function UndirectedVertex(key, val) {
60
- return _super.call(this, key, val) || this;
61
- }
62
- return UndirectedVertex;
63
- }(abstract_graph_1.AbstractVertex));
4
+ const utils_1 = require("../../utils");
5
+ const abstract_graph_1 = require("./abstract-graph");
6
+ class UndirectedVertex extends abstract_graph_1.AbstractVertex {
7
+ constructor(key, val) {
8
+ super(key, val);
9
+ }
10
+ }
64
11
  exports.UndirectedVertex = UndirectedVertex;
65
- var UndirectedEdge = (function (_super) {
66
- __extends(UndirectedEdge, _super);
67
- function UndirectedEdge(v1, v2, weight, val) {
68
- var _this = _super.call(this, weight, val) || this;
69
- _this._vertices = [v1, v2];
70
- return _this;
71
- }
72
- Object.defineProperty(UndirectedEdge.prototype, "vertices", {
73
- get: function () {
74
- return this._vertices;
75
- },
76
- set: function (v) {
77
- this._vertices = v;
78
- },
79
- enumerable: false,
80
- configurable: true
81
- });
82
- return UndirectedEdge;
83
- }(abstract_graph_1.AbstractEdge));
12
+ class UndirectedEdge extends abstract_graph_1.AbstractEdge {
13
+ constructor(v1, v2, weight, val) {
14
+ super(weight, val);
15
+ this._vertices = [v1, v2];
16
+ }
17
+ get vertices() {
18
+ return this._vertices;
19
+ }
20
+ set vertices(v) {
21
+ this._vertices = v;
22
+ }
23
+ }
84
24
  exports.UndirectedEdge = UndirectedEdge;
85
- var UndirectedGraph = (function (_super) {
86
- __extends(UndirectedGraph, _super);
87
- function UndirectedGraph() {
88
- var _this = _super.call(this) || this;
89
- _this._edges = new Map();
90
- return _this;
91
- }
92
- Object.defineProperty(UndirectedGraph.prototype, "edges", {
93
- get: function () {
94
- return this._edges;
95
- },
96
- enumerable: false,
97
- configurable: true
98
- });
99
- UndirectedGraph.prototype.createVertex = function (key, val) {
25
+ class UndirectedGraph extends abstract_graph_1.AbstractGraph {
26
+ constructor() {
27
+ super();
28
+ this._edges = new Map();
29
+ }
30
+ get edges() {
31
+ return this._edges;
32
+ }
33
+ createVertex(key, val) {
100
34
  return new UndirectedVertex(key, val !== null && val !== void 0 ? val : key);
101
- };
102
- UndirectedGraph.prototype.createEdge = function (v1, v2, weight, val) {
35
+ }
36
+ createEdge(v1, v2, weight, val) {
103
37
  return new UndirectedEdge(v1, v2, weight !== null && weight !== void 0 ? weight : 1, val);
104
- };
105
- UndirectedGraph.prototype.getEdge = function (v1, v2) {
38
+ }
39
+ getEdge(v1, v2) {
106
40
  var _a;
107
- var edges = [];
41
+ let edges = [];
108
42
  if (v1 !== null && v2 !== null) {
109
- var vertex1 = this._getVertex(v1);
110
- var vertex2_1 = this._getVertex(v2);
111
- if (vertex1 && vertex2_1) {
112
- edges = (_a = this._edges.get(vertex1)) === null || _a === void 0 ? void 0 : _a.filter(function (e) { return e.vertices.includes(vertex2_1.key); });
43
+ const vertex1 = this._getVertex(v1);
44
+ const vertex2 = this._getVertex(v2);
45
+ if (vertex1 && vertex2) {
46
+ edges = (_a = this._edges.get(vertex1)) === null || _a === void 0 ? void 0 : _a.filter(e => e.vertices.includes(vertex2.key));
113
47
  }
114
48
  }
115
49
  return edges ? edges[0] || null : null;
116
- };
117
- UndirectedGraph.prototype.removeEdgeBetween = function (v1, v2) {
118
- var vertex1 = this._getVertex(v1);
119
- var vertex2 = this._getVertex(v2);
50
+ }
51
+ removeEdgeBetween(v1, v2) {
52
+ const vertex1 = this._getVertex(v1);
53
+ const vertex2 = this._getVertex(v2);
120
54
  if (!vertex1 || !vertex2) {
121
55
  return null;
122
56
  }
123
- var v1Edges = this._edges.get(vertex1);
124
- var removed = null;
57
+ const v1Edges = this._edges.get(vertex1);
58
+ let removed = null;
125
59
  if (v1Edges) {
126
- removed = (0, utils_1.arrayRemove)(v1Edges, function (e) { return e.vertices.includes(vertex2.key); })[0] || null;
60
+ removed = (0, utils_1.arrayRemove)(v1Edges, (e) => e.vertices.includes(vertex2.key))[0] || null;
127
61
  }
128
- var v2Edges = this._edges.get(vertex2);
62
+ const v2Edges = this._edges.get(vertex2);
129
63
  if (v2Edges) {
130
- (0, utils_1.arrayRemove)(v2Edges, function (e) { return e.vertices.includes(vertex1.key); });
64
+ (0, utils_1.arrayRemove)(v2Edges, (e) => e.vertices.includes(vertex1.key));
131
65
  }
132
66
  return removed;
133
- };
134
- UndirectedGraph.prototype.removeEdge = function (edge) {
67
+ }
68
+ removeEdge(edge) {
135
69
  return this.removeEdgeBetween(edge.vertices[0], edge.vertices[1]);
136
- };
137
- UndirectedGraph.prototype.degreeOf = function (vertexOrKey) {
70
+ }
71
+ degreeOf(vertexOrKey) {
138
72
  var _a;
139
- var vertex = this._getVertex(vertexOrKey);
73
+ const vertex = this._getVertex(vertexOrKey);
140
74
  if (vertex) {
141
75
  return ((_a = this._edges.get(vertex)) === null || _a === void 0 ? void 0 : _a.length) || 0;
142
76
  }
143
77
  else {
144
78
  return 0;
145
79
  }
146
- };
147
- UndirectedGraph.prototype.edgesOf = function (vertexOrKey) {
148
- var vertex = this._getVertex(vertexOrKey);
80
+ }
81
+ edgesOf(vertexOrKey) {
82
+ const vertex = this._getVertex(vertexOrKey);
149
83
  if (vertex) {
150
84
  return this._edges.get(vertex) || [];
151
85
  }
152
86
  else {
153
87
  return [];
154
88
  }
155
- };
156
- UndirectedGraph.prototype.edgeSet = function () {
157
- var edgeSet = new Set();
158
- this._edges.forEach(function (edges) {
159
- edges.forEach(function (edge) {
89
+ }
90
+ edgeSet() {
91
+ const edgeSet = new Set();
92
+ this._edges.forEach(edges => {
93
+ edges.forEach(edge => {
160
94
  edgeSet.add(edge);
161
95
  });
162
96
  });
163
- return __spreadArray([], __read(edgeSet), false);
164
- };
165
- UndirectedGraph.prototype.getNeighbors = function (vertexOrKey) {
166
- var e_1, _a;
167
- var neighbors = [];
168
- var vertex = this._getVertex(vertexOrKey);
97
+ return [...edgeSet];
98
+ }
99
+ getNeighbors(vertexOrKey) {
100
+ const neighbors = [];
101
+ const vertex = this._getVertex(vertexOrKey);
169
102
  if (vertex) {
170
- var neighborEdges = this.edgesOf(vertex);
171
- try {
172
- for (var neighborEdges_1 = __values(neighborEdges), neighborEdges_1_1 = neighborEdges_1.next(); !neighborEdges_1_1.done; neighborEdges_1_1 = neighborEdges_1.next()) {
173
- var edge = neighborEdges_1_1.value;
174
- var neighbor = this._getVertex(edge.vertices.filter(function (e) { return e !== vertex.key; })[0]);
175
- if (neighbor) {
176
- neighbors.push(neighbor);
177
- }
103
+ const neighborEdges = this.edgesOf(vertex);
104
+ for (const edge of neighborEdges) {
105
+ const neighbor = this._getVertex(edge.vertices.filter(e => e !== vertex.key)[0]);
106
+ if (neighbor) {
107
+ neighbors.push(neighbor);
178
108
  }
179
109
  }
180
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
181
- finally {
182
- try {
183
- if (neighborEdges_1_1 && !neighborEdges_1_1.done && (_a = neighborEdges_1.return)) _a.call(neighborEdges_1);
184
- }
185
- finally { if (e_1) throw e_1.error; }
186
- }
187
110
  }
188
111
  return neighbors;
189
- };
190
- UndirectedGraph.prototype.getEndsOfEdge = function (edge) {
112
+ }
113
+ getEndsOfEdge(edge) {
191
114
  if (!this.hasEdge(edge.vertices[0], edge.vertices[1])) {
192
115
  return null;
193
116
  }
194
- var v1 = this._getVertex(edge.vertices[0]);
195
- var v2 = this._getVertex(edge.vertices[1]);
117
+ const v1 = this._getVertex(edge.vertices[0]);
118
+ const v2 = this._getVertex(edge.vertices[1]);
196
119
  if (v1 && v2) {
197
120
  return [v1, v2];
198
121
  }
199
122
  else {
200
123
  return null;
201
124
  }
202
- };
203
- UndirectedGraph.prototype._addEdgeOnly = function (edge) {
204
- var e_2, _a;
205
- try {
206
- for (var _b = __values(edge.vertices), _c = _b.next(); !_c.done; _c = _b.next()) {
207
- var end = _c.value;
208
- var endVertex = this._getVertex(end);
209
- if (endVertex === null)
210
- return false;
211
- if (endVertex) {
212
- var edges = this._edges.get(endVertex);
213
- if (edges) {
214
- edges.push(edge);
215
- }
216
- else {
217
- this._edges.set(endVertex, [edge]);
218
- }
125
+ }
126
+ _addEdgeOnly(edge) {
127
+ for (const end of edge.vertices) {
128
+ const endVertex = this._getVertex(end);
129
+ if (endVertex === null)
130
+ return false;
131
+ if (endVertex) {
132
+ const edges = this._edges.get(endVertex);
133
+ if (edges) {
134
+ edges.push(edge);
135
+ }
136
+ else {
137
+ this._edges.set(endVertex, [edge]);
219
138
  }
220
139
  }
221
140
  }
222
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
223
- finally {
224
- try {
225
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
226
- }
227
- finally { if (e_2) throw e_2.error; }
228
- }
229
141
  return true;
230
- };
231
- UndirectedGraph.prototype._setEdges = function (v) {
142
+ }
143
+ _setEdges(v) {
232
144
  this._edges = v;
233
- };
234
- return UndirectedGraph;
235
- }(abstract_graph_1.AbstractGraph));
145
+ }
146
+ }
236
147
  exports.UndirectedGraph = UndirectedGraph;
237
148
  //# sourceMappingURL=undirected-graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"undirected-graph.js","sourceRoot":"","sources":["../../../src/data-structures/graph/undirected-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"undirected-graph.js","sourceRoot":"","sources":["../../../src/data-structures/graph/undirected-graph.ts"],"names":[],"mappings":"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"}