data-structure-typed 1.34.7 → 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 (167) 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 +314 -457
  8. package/dist/data-structures/binary-tree/abstract-binary-tree.js.map +1 -1
  9. package/dist/data-structures/binary-tree/avl-tree.js +64 -90
  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 +12 -31
  16. package/dist/data-structures/binary-tree/binary-tree.js.map +1 -1
  17. package/dist/data-structures/binary-tree/bst.js +157 -244
  18. package/dist/data-structures/binary-tree/bst.js.map +1 -1
  19. package/dist/data-structures/binary-tree/rb-tree.js +20 -44
  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 +168 -239
  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 +351 -585
  30. package/dist/data-structures/graph/abstract-graph.js.map +1 -1
  31. package/dist/data-structures/graph/directed-graph.js +152 -282
  32. package/dist/data-structures/graph/directed-graph.js.map +1 -1
  33. package/dist/data-structures/graph/map-graph.js +47 -88
  34. package/dist/data-structures/graph/map-graph.js.map +1 -1
  35. package/dist/data-structures/graph/undirected-graph.js +91 -180
  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 +33 -46
  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 +124 -123
  91. package/lib/data-structures/binary-tree/abstract-binary-tree.js +136 -216
  92. package/lib/data-structures/binary-tree/avl-tree.d.ts +19 -10
  93. package/lib/data-structures/binary-tree/avl-tree.js +35 -13
  94. package/lib/data-structures/binary-tree/binary-tree.d.ts +6 -6
  95. package/lib/data-structures/binary-tree/binary-tree.js +7 -7
  96. package/lib/data-structures/binary-tree/bst.d.ts +34 -34
  97. package/lib/data-structures/binary-tree/bst.js +86 -89
  98. package/lib/data-structures/binary-tree/rb-tree.d.ts +3 -3
  99. package/lib/data-structures/binary-tree/rb-tree.js +4 -4
  100. package/lib/data-structures/binary-tree/tree-multiset.d.ts +40 -42
  101. package/lib/data-structures/binary-tree/tree-multiset.js +76 -86
  102. package/lib/data-structures/graph/abstract-graph.d.ts +62 -62
  103. package/lib/data-structures/graph/abstract-graph.js +86 -86
  104. package/lib/data-structures/graph/directed-graph.d.ts +51 -51
  105. package/lib/data-structures/graph/directed-graph.js +63 -63
  106. package/lib/data-structures/graph/map-graph.d.ts +13 -13
  107. package/lib/data-structures/graph/map-graph.js +12 -12
  108. package/lib/data-structures/graph/undirected-graph.d.ts +30 -30
  109. package/lib/data-structures/graph/undirected-graph.js +32 -32
  110. package/lib/data-structures/priority-queue/priority-queue.d.ts +3 -3
  111. package/lib/data-structures/priority-queue/priority-queue.js +3 -3
  112. package/lib/data-structures/tree/tree.d.ts +4 -4
  113. package/lib/data-structures/tree/tree.js +6 -6
  114. package/lib/interfaces/abstract-binary-tree.d.ts +37 -42
  115. package/lib/interfaces/abstract-graph.d.ts +13 -13
  116. package/lib/interfaces/avl-tree.d.ts +6 -4
  117. package/lib/interfaces/bst.d.ts +10 -9
  118. package/lib/interfaces/directed-graph.d.ts +5 -5
  119. package/lib/interfaces/rb-tree.d.ts +2 -2
  120. package/lib/interfaces/undirected-graph.d.ts +2 -2
  121. package/lib/types/data-structures/abstract-binary-tree.d.ts +3 -3
  122. package/lib/types/data-structures/abstract-binary-tree.js +0 -1
  123. package/lib/types/data-structures/abstract-graph.d.ts +2 -2
  124. package/lib/types/data-structures/bst.d.ts +2 -2
  125. package/lib/types/data-structures/tree-multiset.d.ts +1 -1
  126. package/lib/types/utils/validate-type.d.ts +8 -8
  127. package/package.json +6 -6
  128. package/scripts/rename_clear_files.sh +29 -0
  129. package/src/data-structures/binary-tree/abstract-binary-tree.ts +241 -293
  130. package/src/data-structures/binary-tree/avl-tree.ts +43 -14
  131. package/src/data-structures/binary-tree/binary-tree.ts +8 -8
  132. package/src/data-structures/binary-tree/bst.ts +101 -96
  133. package/src/data-structures/binary-tree/rb-tree.ts +9 -9
  134. package/src/data-structures/binary-tree/tree-multiset.ts +82 -94
  135. package/src/data-structures/graph/abstract-graph.ts +114 -109
  136. package/src/data-structures/graph/directed-graph.ts +77 -77
  137. package/src/data-structures/graph/map-graph.ts +20 -15
  138. package/src/data-structures/graph/undirected-graph.ts +39 -39
  139. package/src/data-structures/priority-queue/priority-queue.ts +3 -3
  140. package/src/data-structures/tree/tree.ts +7 -7
  141. package/src/interfaces/abstract-binary-tree.ts +37 -50
  142. package/src/interfaces/abstract-graph.ts +13 -13
  143. package/src/interfaces/avl-tree.ts +6 -4
  144. package/src/interfaces/bst.ts +9 -9
  145. package/src/interfaces/directed-graph.ts +5 -5
  146. package/src/interfaces/rb-tree.ts +2 -2
  147. package/src/interfaces/undirected-graph.ts +2 -2
  148. package/src/types/data-structures/abstract-binary-tree.ts +3 -4
  149. package/src/types/data-structures/abstract-graph.ts +2 -2
  150. package/src/types/data-structures/bst.ts +2 -2
  151. package/src/types/data-structures/tree-multiset.ts +1 -1
  152. package/src/types/utils/validate-type.ts +10 -10
  153. package/test/integration/avl-tree.test.ts +24 -24
  154. package/test/integration/bst.test.ts +71 -71
  155. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +28 -28
  156. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +4 -12
  157. package/test/unit/data-structures/binary-tree/bst.test.ts +79 -79
  158. package/test/unit/data-structures/binary-tree/overall.test.ts +20 -20
  159. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +80 -80
  160. package/test/unit/data-structures/graph/directed-graph.test.ts +8 -8
  161. package/test/unit/data-structures/graph/map-graph.test.ts +4 -4
  162. package/test/unit/data-structures/graph/overall.test.ts +2 -2
  163. package/test/unit/data-structures/graph/undirected-graph.test.ts +1 -1
  164. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +4 -5
  165. package/test/unit/data-structures/tree/tree.test.ts +2 -2
  166. package/umd/bundle.min.js +1 -1
  167. package/umd/bundle.min.js.map +1 -1
@@ -1,92 +1,73 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SkipList = exports.SkipListNode = void 0;
4
- var SkipListNode = (function () {
5
- function SkipListNode(key, value, level) {
4
+ class SkipListNode {
5
+ constructor(key, value, level) {
6
6
  this.key = key;
7
7
  this.value = value;
8
8
  this.forward = new Array(level);
9
9
  }
10
- return SkipListNode;
11
- }());
10
+ }
12
11
  exports.SkipListNode = SkipListNode;
13
- var SkipList = (function () {
14
- function SkipList(maxLevel, probability) {
15
- if (maxLevel === void 0) { maxLevel = 16; }
16
- if (probability === void 0) { probability = 0.5; }
12
+ class SkipList {
13
+ get probability() {
14
+ return this._probability;
15
+ }
16
+ set probability(value) {
17
+ this._probability = value;
18
+ }
19
+ get maxLevel() {
20
+ return this._maxLevel;
21
+ }
22
+ set maxLevel(value) {
23
+ this._maxLevel = value;
24
+ }
25
+ get level() {
26
+ return this._level;
27
+ }
28
+ set level(value) {
29
+ this._level = value;
30
+ }
31
+ get head() {
32
+ return this._head;
33
+ }
34
+ set head(value) {
35
+ this._head = value;
36
+ }
37
+ constructor(maxLevel = 16, probability = 0.5) {
17
38
  this._head = new SkipListNode(null, null, maxLevel);
18
39
  this._level = 0;
19
40
  this._maxLevel = maxLevel;
20
41
  this._probability = probability;
21
42
  }
22
- Object.defineProperty(SkipList.prototype, "probability", {
23
- get: function () {
24
- return this._probability;
25
- },
26
- set: function (value) {
27
- this._probability = value;
28
- },
29
- enumerable: false,
30
- configurable: true
31
- });
32
- Object.defineProperty(SkipList.prototype, "maxLevel", {
33
- get: function () {
34
- return this._maxLevel;
35
- },
36
- set: function (value) {
37
- this._maxLevel = value;
38
- },
39
- enumerable: false,
40
- configurable: true
41
- });
42
- Object.defineProperty(SkipList.prototype, "level", {
43
- get: function () {
44
- return this._level;
45
- },
46
- set: function (value) {
47
- this._level = value;
48
- },
49
- enumerable: false,
50
- configurable: true
51
- });
52
- Object.defineProperty(SkipList.prototype, "head", {
53
- get: function () {
54
- return this._head;
55
- },
56
- set: function (value) {
57
- this._head = value;
58
- },
59
- enumerable: false,
60
- configurable: true
61
- });
62
- SkipList.prototype.randomLevel = function () {
63
- var level = 1;
43
+ randomLevel() {
44
+ let level = 1;
64
45
  while (Math.random() < this.probability && level < this.maxLevel) {
65
46
  level++;
66
47
  }
67
48
  return level;
68
- };
69
- SkipList.prototype.add = function (key, value) {
70
- var newNode = new SkipListNode(key, value, this.randomLevel());
71
- var update = new Array(this.maxLevel).fill(this.head);
72
- var current = this.head;
73
- for (var i = this.level - 1; i >= 0; i--) {
49
+ }
50
+ add(key, value) {
51
+ const newNode = new SkipListNode(key, value, this.randomLevel());
52
+ const update = new Array(this.maxLevel).fill(this.head);
53
+ let current = this.head;
54
+ for (let i = this.level - 1; i >= 0; i--) {
74
55
  while (current.forward[i] && current.forward[i].key < key) {
75
56
  current = current.forward[i];
76
57
  }
77
58
  update[i] = current;
78
59
  }
79
- for (var i = 0; i < newNode.forward.length; i++) {
60
+ for (let i = 0; i < newNode.forward.length; i++) {
80
61
  newNode.forward[i] = update[i].forward[i];
81
62
  update[i].forward[i] = newNode;
82
63
  }
83
64
  if (newNode.forward[0] !== null) {
84
65
  this.level = Math.max(this.level, newNode.forward.length);
85
66
  }
86
- };
87
- SkipList.prototype.get = function (key) {
88
- var current = this.head;
89
- for (var i = this.level - 1; i >= 0; i--) {
67
+ }
68
+ get(key) {
69
+ let current = this.head;
70
+ for (let i = this.level - 1; i >= 0; i--) {
90
71
  while (current.forward[i] && current.forward[i].key < key) {
91
72
  current = current.forward[i];
92
73
  }
@@ -96,11 +77,11 @@ var SkipList = (function () {
96
77
  return current.value;
97
78
  }
98
79
  return undefined;
99
- };
100
- SkipList.prototype.remove = function (key) {
101
- var update = new Array(this.maxLevel).fill(this.head);
102
- var current = this.head;
103
- for (var i = this.level - 1; i >= 0; i--) {
80
+ }
81
+ remove(key) {
82
+ const update = new Array(this.maxLevel).fill(this.head);
83
+ let current = this.head;
84
+ for (let i = this.level - 1; i >= 0; i--) {
104
85
  while (current.forward[i] && current.forward[i].key < key) {
105
86
  current = current.forward[i];
106
87
  }
@@ -108,7 +89,7 @@ var SkipList = (function () {
108
89
  }
109
90
  current = current.forward[0];
110
91
  if (current && current.key === key) {
111
- for (var i = 0; i < this.level; i++) {
92
+ for (let i = 0; i < this.level; i++) {
112
93
  if (update[i].forward[i] !== current) {
113
94
  break;
114
95
  }
@@ -120,8 +101,7 @@ var SkipList = (function () {
120
101
  return true;
121
102
  }
122
103
  return false;
123
- };
124
- return SkipList;
125
- }());
104
+ }
105
+ }
126
106
  exports.SkipList = SkipList;
127
107
  //# sourceMappingURL=skip-linked-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skip-linked-list.js","sourceRoot":"","sources":["../../../src/data-structures/linked-list/skip-linked-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skip-linked-list.js","sourceRoot":"","sources":["../../../src/data-structures/linked-list/skip-linked-list.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MatrixNTI2D = void 0;
4
- var MatrixNTI2D = (function () {
5
- function MatrixNTI2D(options) {
6
- var row = options.row, col = options.col, initialVal = options.initialVal;
7
- this._matrix = new Array(row).fill(undefined).map(function () { return new Array(col).fill(initialVal || 0); });
4
+ class MatrixNTI2D {
5
+ constructor(options) {
6
+ const { row, col, initialVal } = options;
7
+ this._matrix = new Array(row).fill(undefined).map(() => new Array(col).fill(initialVal || 0));
8
8
  }
9
- MatrixNTI2D.prototype.toArray = function () {
9
+ toArray() {
10
10
  return this._matrix;
11
- };
12
- return MatrixNTI2D;
13
- }());
11
+ }
12
+ }
14
13
  exports.MatrixNTI2D = MatrixNTI2D;
15
14
  //# sourceMappingURL=matrix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../../src/data-structures/matrix/matrix.ts"],"names":[],"mappings":";;;AAQA;IAQE,qBAAY,OAAmD;QACtD,IAAA,GAAG,GAAqB,OAAO,IAA5B,EAAE,GAAG,GAAgB,OAAO,IAAvB,EAAE,UAAU,GAAI,OAAO,WAAX,CAAY;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,cAAM,OAAA,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,EAApC,CAAoC,CAAC,CAAC;IAChG,CAAC;IAID,6BAAO,GAAP;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACH,kBAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,kCAAW"}
1
+ {"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../../src/data-structures/matrix/matrix.ts"],"names":[],"mappings":";;;AAQA,MAAa,WAAW;IAQtB,YAAY,OAAmD;QAC7D,MAAM,EAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAC,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAID,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAlBD,kCAkBC"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Matrix2D = void 0;
4
- var vector2d_1 = require("./vector2d");
5
- var Matrix2D = (function () {
6
- function Matrix2D(value) {
4
+ const vector2d_1 = require("./vector2d");
5
+ class Matrix2D {
6
+ constructor(value) {
7
7
  if (typeof value === 'undefined') {
8
8
  this._matrix = Matrix2D.identity;
9
9
  }
@@ -17,109 +17,96 @@ var Matrix2D = (function () {
17
17
  this._matrix = value;
18
18
  }
19
19
  }
20
- Object.defineProperty(Matrix2D, "empty", {
21
- get: function () {
22
- return [[], [], []];
23
- },
24
- enumerable: false,
25
- configurable: true
26
- });
27
- Object.defineProperty(Matrix2D, "identity", {
28
- get: function () {
29
- return [
30
- [1, 0, 0],
31
- [0, 1, 0],
32
- [0, 0, 1]
33
- ];
34
- },
35
- enumerable: false,
36
- configurable: true
37
- });
38
- Object.defineProperty(Matrix2D.prototype, "m", {
39
- get: function () {
40
- return this._matrix;
41
- },
42
- enumerable: false,
43
- configurable: true
44
- });
45
- Matrix2D.prototype.toVector = function () {
20
+ static get empty() {
21
+ return [[], [], []];
22
+ }
23
+ static get identity() {
24
+ return [
25
+ [1, 0, 0],
26
+ [0, 1, 0],
27
+ [0, 0, 1]
28
+ ];
29
+ }
30
+ get m() {
31
+ return this._matrix;
32
+ }
33
+ toVector() {
46
34
  return new vector2d_1.default(this._matrix[0][0], this._matrix[1][0]);
47
- };
48
- Matrix2D.add = function (matrix1, matrix2) {
49
- var result = Matrix2D.empty;
50
- for (var i = 0; i < 3; i++) {
51
- for (var j = 0; j < 3; j++) {
35
+ }
36
+ static add(matrix1, matrix2) {
37
+ const result = Matrix2D.empty;
38
+ for (let i = 0; i < 3; i++) {
39
+ for (let j = 0; j < 3; j++) {
52
40
  result[i][j] = matrix1.m[i][j] + matrix2.m[i][j];
53
41
  }
54
42
  }
55
43
  return new Matrix2D(result);
56
- };
57
- Matrix2D.subtract = function (matrix1, matrix2) {
58
- var result = Matrix2D.empty;
59
- for (var i = 0; i < 3; i++) {
60
- for (var j = 0; j < 3; j++) {
44
+ }
45
+ static subtract(matrix1, matrix2) {
46
+ const result = Matrix2D.empty;
47
+ for (let i = 0; i < 3; i++) {
48
+ for (let j = 0; j < 3; j++) {
61
49
  result[i][j] = matrix1.m[i][j] - matrix2.m[i][j];
62
50
  }
63
51
  }
64
52
  return new Matrix2D(result);
65
- };
66
- Matrix2D.multiply = function (matrix1, matrix2) {
67
- var result = Matrix2D.empty;
68
- for (var i = 0; i < 3; i++) {
69
- for (var j = 0; j < 3; j++) {
53
+ }
54
+ static multiply(matrix1, matrix2) {
55
+ const result = Matrix2D.empty;
56
+ for (let i = 0; i < 3; i++) {
57
+ for (let j = 0; j < 3; j++) {
70
58
  result[i][j] = 0;
71
- for (var k = 0; k < 3; k++) {
59
+ for (let k = 0; k < 3; k++) {
72
60
  result[i][j] += matrix1.m[i][k] * matrix2.m[k][j];
73
61
  }
74
62
  }
75
63
  }
76
64
  return new Matrix2D(result);
77
- };
78
- Matrix2D.multiplyByValue = function (matrix, value) {
79
- var result = Matrix2D.empty;
80
- for (var i = 0; i < 3; i++) {
81
- for (var j = 0; j < 3; j++) {
65
+ }
66
+ static multiplyByValue(matrix, value) {
67
+ const result = Matrix2D.empty;
68
+ for (let i = 0; i < 3; i++) {
69
+ for (let j = 0; j < 3; j++) {
82
70
  result[i][j] = matrix.m[i][j] * value;
83
71
  }
84
72
  }
85
73
  return new Matrix2D(result);
86
- };
87
- Matrix2D.multiplyByVector = function (matrix, vector) {
88
- var resultMatrix = Matrix2D.multiply(matrix, new Matrix2D(vector));
74
+ }
75
+ static multiplyByVector(matrix, vector) {
76
+ const resultMatrix = Matrix2D.multiply(matrix, new Matrix2D(vector));
89
77
  return resultMatrix.toVector();
90
- };
91
- Matrix2D.view = function (width, height) {
92
- var scaleStep = 1;
93
- var centerX = width / 2;
94
- var centerY = height / 2;
95
- var flipX = Math.cos(Math.PI);
78
+ }
79
+ static view(width, height) {
80
+ const scaleStep = 1;
81
+ const centerX = width / 2;
82
+ const centerY = height / 2;
83
+ const flipX = Math.cos(Math.PI);
96
84
  return new Matrix2D([
97
85
  [scaleStep, 0, centerX],
98
86
  [0, flipX * scaleStep, centerY],
99
87
  [0, 0, 1]
100
88
  ]);
101
- };
102
- Matrix2D.scale = function (factor) {
89
+ }
90
+ static scale(factor) {
103
91
  return Matrix2D.multiplyByValue(new Matrix2D(), factor);
104
- };
105
- Matrix2D.rotate = function (radians) {
106
- var cos = Math.cos(radians);
107
- var sin = Math.sin(radians);
92
+ }
93
+ static rotate(radians) {
94
+ const cos = Math.cos(radians);
95
+ const sin = Math.sin(radians);
108
96
  return new Matrix2D([
109
97
  [cos, -sin, 0],
110
98
  [sin, cos, 0],
111
99
  [0, 0, 1]
112
100
  ]);
113
- };
114
- Matrix2D.translate = function (vector) {
101
+ }
102
+ static translate(vector) {
115
103
  return new Matrix2D([
116
104
  [1, 0, vector.x],
117
105
  [0, 1, vector.y],
118
106
  [0, 0, vector.w]
119
107
  ]);
120
- };
121
- return Matrix2D;
122
- }());
108
+ }
109
+ }
123
110
  exports.Matrix2D = Matrix2D;
124
111
  exports.default = Matrix2D;
125
112
  //# sourceMappingURL=matrix2d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"matrix2d.js","sourceRoot":"","sources":["../../../src/data-structures/matrix/matrix2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matrix2d.js","sourceRoot":"","sources":["../../../src/data-structures/matrix/matrix2d.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,15 @@
1
1
  "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
2
  Object.defineProperty(exports, "__esModule", { value: true });
19
3
  exports.Navigator = exports.Character = void 0;
20
- var Character = (function () {
21
- function Character(direction, turning) {
4
+ class Character {
5
+ constructor(direction, turning) {
22
6
  this.direction = direction;
23
- this.turn = function () { return new Character(turning[direction], turning); };
7
+ this.turn = () => new Character(turning[direction], turning);
24
8
  }
25
- return Character;
26
- }());
9
+ }
27
10
  exports.Character = Character;
28
- var Navigator = (function () {
29
- function Navigator(_a) {
30
- var matrix = _a.matrix, turning = _a.turning, onMove = _a.onMove, _b = _a.init, cur = _b.cur, charDir = _b.charDir, VISITED = _b.VISITED;
11
+ class Navigator {
12
+ constructor({ matrix, turning, onMove, init: { cur, charDir, VISITED } }) {
31
13
  this._matrix = matrix;
32
14
  this._cur = cur;
33
15
  this._character = new Character(charDir, turning);
@@ -36,9 +18,9 @@ var Navigator = (function () {
36
18
  this._VISITED = VISITED;
37
19
  this._matrix[this._cur[0]][this._cur[1]] = this._VISITED;
38
20
  }
39
- Navigator.prototype.start = function () {
21
+ start() {
40
22
  while (this.check(this._character.direction) || this.check(this._character.turn().direction)) {
41
- var direction = this._character.direction;
23
+ const { direction } = this._character;
42
24
  if (this.check(direction)) {
43
25
  this.move(direction);
44
26
  }
@@ -46,11 +28,11 @@ var Navigator = (function () {
46
28
  this._character = this._character.turn();
47
29
  }
48
30
  }
49
- };
50
- Navigator.prototype.check = function (direction) {
51
- var forward, row;
52
- var matrix = this._matrix;
53
- var _a = __read(this._cur, 2), i = _a[0], j = _a[1];
31
+ }
32
+ check(direction) {
33
+ let forward, row;
34
+ const matrix = this._matrix;
35
+ const [i, j] = this._cur;
54
36
  switch (direction) {
55
37
  case 'up':
56
38
  row = matrix[i - 1];
@@ -72,8 +54,8 @@ var Navigator = (function () {
72
54
  break;
73
55
  }
74
56
  return forward !== undefined && forward !== this._VISITED;
75
- };
76
- Navigator.prototype.move = function (direction) {
57
+ }
58
+ move(direction) {
77
59
  switch (direction) {
78
60
  case 'up':
79
61
  this._cur[0]--;
@@ -88,11 +70,10 @@ var Navigator = (function () {
88
70
  this._cur[1]--;
89
71
  break;
90
72
  }
91
- var _a = __read(this._cur, 2), i = _a[0], j = _a[1];
73
+ const [i, j] = this._cur;
92
74
  this._matrix[i][j] = this._VISITED;
93
75
  this.onMove && this.onMove(this._cur);
94
- };
95
- return Navigator;
96
- }());
76
+ }
77
+ }
97
78
  exports.Navigator = Navigator;
98
79
  //# sourceMappingURL=navigator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigator.js","sourceRoot":"","sources":["../../../src/data-structures/matrix/navigator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigator.js","sourceRoot":"","sources":["../../../src/data-structures/matrix/navigator.ts"],"names":[],"mappings":"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"}