binary-decision-diagram 1.3.1 → 2.0.0

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 (118) hide show
  1. package/.github/workflows/main.yml +22 -0
  2. package/README.md +3 -2
  3. package/dist/es/abstract-node.d.ts +1 -1
  4. package/dist/es/abstract-node.js +45 -51
  5. package/dist/es/abstract-node.js.map +1 -1
  6. package/dist/es/branches.d.ts +1 -1
  7. package/dist/es/branches.js +20 -22
  8. package/dist/es/branches.js.map +1 -1
  9. package/dist/es/create-bdd-from-truth-table.d.ts +1 -1
  10. package/dist/es/create-bdd-from-truth-table.js +19 -57
  11. package/dist/es/create-bdd-from-truth-table.js.map +1 -1
  12. package/dist/es/ensure-correct-bdd.js +26 -27
  13. package/dist/es/ensure-correct-bdd.js.map +1 -1
  14. package/dist/es/fill-truth-table.d.ts +1 -1
  15. package/dist/es/fill-truth-table.js +3 -3
  16. package/dist/es/fill-truth-table.js.map +1 -1
  17. package/dist/es/find-similar-node.js +3 -3
  18. package/dist/es/find-similar-node.js.map +1 -1
  19. package/dist/es/index.d.ts +7 -1
  20. package/dist/es/index.js.map +1 -1
  21. package/dist/es/internal-node.d.ts +1 -1
  22. package/dist/es/internal-node.js +15 -33
  23. package/dist/es/internal-node.js.map +1 -1
  24. package/dist/es/leaf-node.d.ts +1 -1
  25. package/dist/es/leaf-node.js +14 -32
  26. package/dist/es/leaf-node.js.map +1 -1
  27. package/dist/es/minimal-string/bdd-to-minimal-string.js +15 -15
  28. package/dist/es/minimal-string/bdd-to-minimal-string.js.map +1 -1
  29. package/dist/es/minimal-string/bdd-to-simple-bdd.js +2 -2
  30. package/dist/es/minimal-string/bdd-to-simple-bdd.js.map +1 -1
  31. package/dist/es/minimal-string/minimal-string-to-simple-bdd.js +27 -27
  32. package/dist/es/minimal-string/minimal-string-to-simple-bdd.js.map +1 -1
  33. package/dist/es/minimal-string/resolve-with-simple-bdd.js +4 -4
  34. package/dist/es/minimal-string/resolve-with-simple-bdd.js.map +1 -1
  35. package/dist/es/minimal-string/string-format.js +7 -7
  36. package/dist/es/minimal-string/string-format.js.map +1 -1
  37. package/dist/es/optimize-brute-force.d.ts +5 -5
  38. package/dist/es/optimize-brute-force.js +88 -186
  39. package/dist/es/optimize-brute-force.js.map +1 -1
  40. package/dist/es/parents.d.ts +1 -1
  41. package/dist/es/parents.js +19 -47
  42. package/dist/es/parents.js.map +1 -1
  43. package/dist/es/root-node.d.ts +1 -1
  44. package/dist/es/root-node.js +79 -131
  45. package/dist/es/root-node.js.map +1 -1
  46. package/dist/es/types.d.ts +9 -9
  47. package/dist/es/types.js +1 -0
  48. package/dist/es/util.d.ts +1 -1
  49. package/dist/es/util.js +21 -39
  50. package/dist/es/util.js.map +1 -1
  51. package/dist/lib/abstract-node.d.ts +1 -1
  52. package/dist/lib/abstract-node.js +48 -56
  53. package/dist/lib/abstract-node.js.map +1 -1
  54. package/dist/lib/branches.d.ts +1 -1
  55. package/dist/lib/branches.js +21 -26
  56. package/dist/lib/branches.js.map +1 -1
  57. package/dist/lib/create-bdd-from-truth-table.d.ts +1 -1
  58. package/dist/lib/create-bdd-from-truth-table.js +24 -65
  59. package/dist/lib/create-bdd-from-truth-table.js.map +1 -1
  60. package/dist/lib/ensure-correct-bdd.js +27 -32
  61. package/dist/lib/ensure-correct-bdd.js.map +1 -1
  62. package/dist/lib/fill-truth-table.d.ts +1 -1
  63. package/dist/lib/fill-truth-table.js +6 -9
  64. package/dist/lib/fill-truth-table.js.map +1 -1
  65. package/dist/lib/find-similar-node.js +4 -7
  66. package/dist/lib/find-similar-node.js.map +1 -1
  67. package/dist/lib/index.d.ts +7 -1
  68. package/dist/lib/index.js +13 -18
  69. package/dist/lib/index.js.map +1 -1
  70. package/dist/lib/internal-node.d.ts +1 -1
  71. package/dist/lib/internal-node.js +18 -38
  72. package/dist/lib/internal-node.js.map +1 -1
  73. package/dist/lib/leaf-node.d.ts +1 -1
  74. package/dist/lib/leaf-node.js +17 -37
  75. package/dist/lib/leaf-node.js.map +1 -1
  76. package/dist/lib/minimal-string/bdd-to-minimal-string.js +21 -25
  77. package/dist/lib/minimal-string/bdd-to-minimal-string.js.map +1 -1
  78. package/dist/lib/minimal-string/bdd-to-simple-bdd.js +4 -8
  79. package/dist/lib/minimal-string/bdd-to-simple-bdd.js.map +1 -1
  80. package/dist/lib/minimal-string/index.js +5 -10
  81. package/dist/lib/minimal-string/index.js.map +1 -1
  82. package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js +30 -33
  83. package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js.map +1 -1
  84. package/dist/lib/minimal-string/resolve-with-simple-bdd.js +6 -9
  85. package/dist/lib/minimal-string/resolve-with-simple-bdd.js.map +1 -1
  86. package/dist/lib/minimal-string/string-format.js +12 -18
  87. package/dist/lib/minimal-string/string-format.js.map +1 -1
  88. package/dist/lib/optimize-brute-force.d.ts +5 -5
  89. package/dist/lib/optimize-brute-force.js +93 -197
  90. package/dist/lib/optimize-brute-force.js.map +1 -1
  91. package/dist/lib/parents.d.ts +1 -1
  92. package/dist/lib/parents.js +19 -49
  93. package/dist/lib/parents.js.map +1 -1
  94. package/dist/lib/root-node.d.ts +1 -1
  95. package/dist/lib/root-node.js +84 -138
  96. package/dist/lib/root-node.js.map +1 -1
  97. package/dist/lib/types.d.ts +9 -9
  98. package/dist/lib/types.js +1 -2
  99. package/dist/lib/util.d.ts +1 -1
  100. package/dist/lib/util.js +36 -71
  101. package/dist/lib/util.js.map +1 -1
  102. package/package.json +16 -11
  103. package/renovate.json +3 -2
  104. package/src/abstract-node.ts +1 -1
  105. package/src/branches.ts +1 -2
  106. package/src/create-bdd-from-truth-table.ts +1 -1
  107. package/src/ensure-correct-bdd.ts +1 -1
  108. package/src/fill-truth-table.ts +1 -1
  109. package/src/index.ts +19 -1
  110. package/src/internal-node.ts +1 -1
  111. package/src/leaf-node.ts +1 -1
  112. package/src/optimize-brute-force.ts +1 -1
  113. package/src/parents.ts +1 -1
  114. package/src/root-node.ts +1 -1
  115. package/src/types.ts +1 -1
  116. package/src/util.ts +1 -1
  117. package/tsconfig.json +2 -2
  118. package/.travis.yml +0 -13
@@ -1,140 +1,101 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- extendStatics(d, b);
10
- function __() { this.constructor = d; }
11
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
- };
13
- })();
14
- var __values = (this && this.__values) || function(o) {
15
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
16
- if (m) return m.call(o);
17
- if (o && typeof o.length === "number") return {
18
- next: function () {
19
- if (o && i >= o.length) o = void 0;
20
- return { value: o && o[i++], done: !o };
21
- }
22
- };
23
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
24
- };
25
1
  import { AbstractNode } from './abstract-node';
26
2
  import { Branches } from './branches';
27
3
  import { lastOfArray, booleanToBooleanString } from './util';
28
4
  import { bddToSimpleBdd } from './minimal-string';
29
- var RootNode = /** @class */ (function (_super) {
30
- __extends(RootNode, _super);
31
- function RootNode() {
32
- var _this = _super.call(this, 0, null, 'RootNode') || this;
33
- _this.branches = new Branches(_this);
34
- _this.levels = [];
35
- _this.nodesByLevel = new Map();
36
- _this.levels.push(0);
37
- var level0Set = new Set();
38
- level0Set.add(_this);
39
- _this.nodesByLevel.set(0, level0Set);
40
- return _this;
5
+ export class RootNode extends AbstractNode {
6
+ constructor() {
7
+ super(0, null, 'RootNode');
8
+ this.branches = new Branches(this);
9
+ this.levels = [];
10
+ this.nodesByLevel = new Map();
11
+ this.levels.push(0);
12
+ const level0Set = new Set();
13
+ level0Set.add(this);
14
+ this.nodesByLevel.set(0, level0Set);
41
15
  }
42
- RootNode.prototype.addNode = function (node) {
43
- var level = node.level;
16
+ addNode(node) {
17
+ const level = node.level;
44
18
  if (!this.levels.includes(level)) {
45
19
  this.levels.push(level);
46
20
  }
47
21
  this.ensureLevelSetExists(level);
48
- var set = this.nodesByLevel.get(level);
22
+ const set = this.nodesByLevel.get(level);
49
23
  set === null || set === void 0 ? void 0 : set.add(node);
50
- };
51
- RootNode.prototype.removeNode = function (node) {
52
- var set = this.nodesByLevel.get(node.level);
24
+ }
25
+ removeNode(node) {
26
+ const set = this.nodesByLevel.get(node.level);
53
27
  if (!set.has(node)) {
54
28
  throw new Error('removed non-existing node ' + node.id);
55
29
  }
56
30
  set.delete(node);
57
- };
58
- RootNode.prototype.ensureLevelSetExists = function (level) {
31
+ }
32
+ ensureLevelSetExists(level) {
59
33
  if (!this.nodesByLevel.has(level)) {
60
34
  this.nodesByLevel.set(level, new Set());
61
35
  }
62
- };
63
- RootNode.prototype.getLevels = function () {
64
- return Array.from(this.levels).sort(function (a, b) { return a - b; });
65
- };
66
- RootNode.prototype.getNodesOfLevel = function (level) {
36
+ }
37
+ getLevels() {
38
+ return Array.from(this.levels).sort((a, b) => a - b);
39
+ }
40
+ getNodesOfLevel(level) {
67
41
  this.ensureLevelSetExists(level);
68
- var set = this.nodesByLevel.get(level);
42
+ const set = this.nodesByLevel.get(level);
69
43
  return Array.from(set);
70
- };
71
- RootNode.prototype.countNodes = function () {
72
- var _this = this;
73
- var ret = 0;
74
- this.getLevels().forEach(function (level) {
75
- var nodesAmount = _this.getNodesOfLevel(level).length;
44
+ }
45
+ countNodes() {
46
+ let ret = 0;
47
+ this.getLevels().forEach(level => {
48
+ const nodesAmount = this.getNodesOfLevel(level).length;
76
49
  ret = ret + nodesAmount;
77
50
  });
78
51
  return ret;
79
- };
52
+ }
80
53
  /**
81
54
  * applies the reduction rules to the whole bdd
82
55
  */
83
- RootNode.prototype.minimize = function (logState) {
84
- var e_1, _a;
85
- if (logState === void 0) { logState = false; }
56
+ minimize(logState = false) {
86
57
  // console.log('minimize(): START ###############');
87
- var done = false;
58
+ let done = false;
88
59
  while (!done) {
89
60
  if (logState) {
90
61
  console.log('minimize() itterate once');
91
62
  }
92
- var successCount = 0;
93
- var lastLevel = lastOfArray(this.getLevels());
63
+ let successCount = 0;
64
+ let lastLevel = lastOfArray(this.getLevels());
94
65
  while (lastLevel > 0) {
95
- var nodes = this.getNodesOfLevel(lastLevel);
66
+ const nodes = this.getNodesOfLevel(lastLevel);
96
67
  if (logState) {
97
68
  console.log('minimize() run for level ' + lastLevel +
98
69
  ' with ' + nodes.length + ' nodes');
99
70
  // console.dir(nodes);
100
71
  }
101
- var nodeCount = 0;
102
- try {
103
- for (var nodes_1 = (e_1 = void 0, __values(nodes)), nodes_1_1 = nodes_1.next(); !nodes_1_1.done; nodes_1_1 = nodes_1.next()) {
104
- var node = nodes_1_1.value;
105
- nodeCount++;
106
- // do not run that often because it is expensive
107
- if (logState && nodeCount % 4000 === 0) {
108
- console.log('minimize() node #' + node.id);
72
+ let nodeCount = 0;
73
+ for (const node of nodes) {
74
+ nodeCount++;
75
+ // do not run that often because it is expensive
76
+ if (logState && nodeCount % 4000 === 0) {
77
+ console.log('minimize() node #' + node.id);
78
+ }
79
+ if (node.isLeafNode()) {
80
+ // console.log('have leaf node ' + node.id);
81
+ const reductionDone = node.asLeafNode().applyEliminationRule();
82
+ if (reductionDone) {
83
+ successCount++;
109
84
  }
110
- if (node.isLeafNode()) {
111
- // console.log('have leaf node ' + node.id);
112
- var reductionDone = node.asLeafNode().applyEliminationRule();
113
- if (reductionDone) {
114
- successCount++;
115
- }
85
+ }
86
+ if (!node.deleted && node.isInternalNode()) {
87
+ const useNode = node;
88
+ const reductionDone = useNode.applyReductionRule();
89
+ let eliminationDone = false;
90
+ if (!useNode.deleted) {
91
+ // not might now be deleted from reduction-rule
92
+ eliminationDone = useNode.applyEliminationRule(nodes);
116
93
  }
117
- if (!node.deleted && node.isInternalNode()) {
118
- var useNode = node;
119
- var reductionDone = useNode.applyReductionRule();
120
- var eliminationDone = false;
121
- if (!useNode.deleted) {
122
- // not might now be deleted from reduction-rule
123
- eliminationDone = useNode.applyEliminationRule(nodes);
124
- }
125
- if (reductionDone || eliminationDone) {
126
- successCount++;
127
- }
94
+ if (reductionDone || eliminationDone) {
95
+ successCount++;
128
96
  }
129
97
  }
130
98
  }
131
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
132
- finally {
133
- try {
134
- if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);
135
- }
136
- finally { if (e_1) throw e_1.error; }
137
- }
138
99
  lastLevel--;
139
100
  }
140
101
  if (successCount === 0) {
@@ -148,59 +109,46 @@ var RootNode = /** @class */ (function (_super) {
148
109
  }
149
110
  }
150
111
  }
151
- };
152
- RootNode.prototype.getLeafNodes = function () {
153
- var lastLevel = lastOfArray(this.getLevels());
154
- var leafNodes = this.getNodesOfLevel(lastLevel).reverse();
112
+ }
113
+ getLeafNodes() {
114
+ const lastLevel = lastOfArray(this.getLevels());
115
+ const leafNodes = this.getNodesOfLevel(lastLevel).reverse();
155
116
  return leafNodes;
156
- };
117
+ }
157
118
  /**
158
119
  * strips all leaf-nodes
159
120
  * with the given value
160
121
  */
161
- RootNode.prototype.removeIrrelevantLeafNodes = function (leafNodeValue) {
162
- var e_2, _a;
163
- var done = false;
122
+ removeIrrelevantLeafNodes(leafNodeValue) {
123
+ let done = false;
164
124
  while (!done) {
165
- var countRemoved = 0;
166
- var leafNodes = this.getLeafNodes();
167
- try {
168
- for (var leafNodes_1 = (e_2 = void 0, __values(leafNodes)), leafNodes_1_1 = leafNodes_1.next(); !leafNodes_1_1.done; leafNodes_1_1 = leafNodes_1.next()) {
169
- var leafNode = leafNodes_1_1.value;
170
- var removed = leafNode.removeIfValueEquals(leafNodeValue);
171
- if (removed) {
172
- countRemoved++;
173
- }
125
+ let countRemoved = 0;
126
+ const leafNodes = this.getLeafNodes();
127
+ for (const leafNode of leafNodes) {
128
+ const removed = leafNode.removeIfValueEquals(leafNodeValue);
129
+ if (removed) {
130
+ countRemoved++;
174
131
  }
175
132
  }
176
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
177
- finally {
178
- try {
179
- if (leafNodes_1_1 && !leafNodes_1_1.done && (_a = leafNodes_1.return)) _a.call(leafNodes_1);
180
- }
181
- finally { if (e_2) throw e_2.error; }
182
- }
183
133
  this.minimize();
184
134
  if (countRemoved === 0) {
185
135
  done = true;
186
136
  }
187
137
  }
188
- };
189
- RootNode.prototype.resolve = function (fns, booleanFunctionInput) {
190
- var currentNode = this;
138
+ }
139
+ resolve(fns, booleanFunctionInput) {
140
+ let currentNode = this;
191
141
  while (true) {
192
- var booleanResult = fns[currentNode.level](booleanFunctionInput);
193
- var branchKey = booleanToBooleanString(booleanResult);
142
+ const booleanResult = fns[currentNode.level](booleanFunctionInput);
143
+ const branchKey = booleanToBooleanString(booleanResult);
194
144
  currentNode = currentNode.branches.getBranch(branchKey);
195
145
  if (currentNode.isLeafNode()) {
196
146
  return currentNode.asLeafNode().value;
197
147
  }
198
148
  }
199
- };
200
- RootNode.prototype.toSimpleBdd = function () {
149
+ }
150
+ toSimpleBdd() {
201
151
  return bddToSimpleBdd(this);
202
- };
203
- return RootNode;
204
- }(AbstractNode));
205
- export { RootNode };
152
+ }
153
+ }
206
154
  //# sourceMappingURL=root-node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"root-node.js","sourceRoot":"","sources":["../../src/root-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"root-node.js","sourceRoot":"","sources":["../../src/root-node.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,23 @@
1
1
  import { LeafNode } from './leaf-node';
2
2
  import { InternalNode } from './internal-node';
3
3
  import { RootNode } from './root-node';
4
- export declare type NodeType = 'LeafNode' | 'InternalNode' | 'RootNode';
5
- export declare type NonLeafNode = InternalNode | RootNode;
6
- export declare type NonRootNode = InternalNode | LeafNode;
7
- export declare type TruthTable = Map<string, number>;
8
- export declare type BooleanString = '0' | '1';
9
- export declare type ResolverFunction<T> = (i: T) => boolean;
10
- export declare type ResolverFunctions<T = any> = {
4
+ export type NodeType = 'LeafNode' | 'InternalNode' | 'RootNode';
5
+ export type NonLeafNode = InternalNode | RootNode;
6
+ export type NonRootNode = InternalNode | LeafNode;
7
+ export type TruthTable = Map<string, number>;
8
+ export type BooleanString = '0' | '1';
9
+ export type ResolverFunction<T> = (i: T) => boolean;
10
+ export type ResolverFunctions<T = any> = {
11
11
  [k: number]: ResolverFunction<T>;
12
12
  };
13
- export declare type SimpleBddLeafNode = number;
13
+ export type SimpleBddLeafNode = number;
14
14
  /**
15
15
  * a simple bdd is a json-representation
16
16
  * which could be parsed from the minimal string
17
17
  * use this to have great performance
18
18
  * when resolving values
19
19
  */
20
- export declare type SimpleBdd = {
20
+ export type SimpleBdd = {
21
21
  0: SimpleBdd | SimpleBddLeafNode;
22
22
  1: SimpleBdd | SimpleBddLeafNode;
23
23
  l: number;
package/dist/es/types.js CHANGED
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=types.js.map
package/dist/es/util.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { BooleanString } from './types';
1
+ import type { BooleanString } from './types';
2
2
  export declare function booleanStringToBoolean(str: BooleanString): boolean;
3
3
  export declare function booleanToBooleanString(b: boolean): BooleanString;
4
4
  export declare function oppositeBoolean(input: BooleanString): BooleanString;
package/dist/es/util.js CHANGED
@@ -1,19 +1,3 @@
1
- var __read = (this && this.__read) || function (o, n) {
2
- var m = typeof Symbol === "function" && o[Symbol.iterator];
3
- if (!m) return o;
4
- var i = m.call(o), r, ar = [], e;
5
- try {
6
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
- }
8
- catch (error) { e = { error: error }; }
9
- finally {
10
- try {
11
- if (r && !r.done && (m = i["return"])) m.call(i);
12
- }
13
- finally { if (e) throw e.error; }
14
- }
15
- return ar;
16
- };
17
1
  export function booleanStringToBoolean(str) {
18
2
  if (str === '1') {
19
3
  return true;
@@ -44,20 +28,19 @@ export function lastChar(str) {
44
28
  /**
45
29
  * @link https://stackoverflow.com/a/1349426
46
30
  */
47
- function makeid(length) {
48
- if (length === void 0) { length = 6; }
49
- var result = '';
50
- var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
51
- var charactersLength = characters.length;
52
- for (var i = 0; i < length; i++) {
31
+ function makeid(length = 6) {
32
+ let result = '';
33
+ const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
34
+ const charactersLength = characters.length;
35
+ for (let i = 0; i < length; i++) {
53
36
  result += characters.charAt(Math.floor(Math.random() * charactersLength));
54
37
  }
55
38
  return result;
56
39
  }
57
- var nodeIdPrefix = makeid(4);
58
- var lastIdGen = 0;
40
+ const nodeIdPrefix = makeid(4);
41
+ let lastIdGen = 0;
59
42
  export function nextNodeId() {
60
- var ret = 'node_' + nodeIdPrefix + '_' + lastIdGen;
43
+ const ret = 'node_' + nodeIdPrefix + '_' + lastIdGen;
61
44
  lastIdGen++;
62
45
  return ret;
63
46
  }
@@ -65,8 +48,8 @@ export function nextNodeId() {
65
48
  * @link https://stackoverflow.com/a/16155417
66
49
  */
67
50
  export function decimalToPaddedBinary(decimal, padding) {
68
- var binary = (decimal >>> 0).toString(2);
69
- var padded = binary.padStart(padding, '0');
51
+ const binary = (decimal >>> 0).toString(2);
52
+ const padded = binary.padStart(padding, '0');
70
53
  return padded;
71
54
  }
72
55
  export function oppositeBinary(i) {
@@ -84,19 +67,19 @@ export function binaryToDecimal(binary) {
84
67
  return parseInt(binary, 2);
85
68
  }
86
69
  export function minBinaryWithLength(length) {
87
- return new Array(length).fill(0).map(function () { return '0'; }).join('');
70
+ return new Array(length).fill(0).map(() => '0').join('');
88
71
  }
89
72
  export function maxBinaryWithLength(length) {
90
- return new Array(length).fill(0).map(function () { return '1'; }).join('');
73
+ return new Array(length).fill(0).map(() => '1').join('');
91
74
  }
92
75
  export function getNextStateSet(stateSet) {
93
- var decimal = binaryToDecimal(stateSet);
94
- var increase = decimal + 1;
95
- var binary = decimalToPaddedBinary(increase, stateSet.length);
76
+ const decimal = binaryToDecimal(stateSet);
77
+ const increase = decimal + 1;
78
+ const binary = decimalToPaddedBinary(increase, stateSet.length);
96
79
  return binary;
97
80
  }
98
81
  export function firstKeyOfMap(map) {
99
- var iterator1 = map.keys();
82
+ const iterator1 = map.keys();
100
83
  return iterator1.next().value;
101
84
  }
102
85
  /**
@@ -104,10 +87,9 @@ export function firstKeyOfMap(map) {
104
87
  * @link https://stackoverflow.com/a/6274381
105
88
  */
106
89
  export function shuffleArray(a) {
107
- var _a;
108
- for (var i = a.length - 1; i > 0; i--) {
109
- var j = Math.floor(Math.random() * (i + 1));
110
- _a = __read([a[j], a[i]], 2), a[i] = _a[0], a[j] = _a[1];
90
+ for (let i = a.length - 1; i > 0; i--) {
91
+ const j = Math.floor(Math.random() * (i + 1));
92
+ [a[i], a[j]] = [a[j], a[i]];
111
93
  }
112
94
  return a;
113
95
  }
@@ -118,8 +100,8 @@ export function lastOfArray(ar) {
118
100
  * @link https://stackoverflow.com/a/6259536
119
101
  */
120
102
  export function splitStringToChunks(str, chunkSize) {
121
- var chunks = [];
122
- for (var i = 0, charsLength = str.length; i < charsLength; i += chunkSize) {
103
+ const chunks = [];
104
+ for (let i = 0, charsLength = str.length; i < charsLength; i += chunkSize) {
123
105
  chunks.push(str.substring(i, i + chunkSize));
124
106
  }
125
107
  return chunks;
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,GAAkB;IACrD,IAAI,GAAG,KAAK,GAAG,EAAE;QACb,OAAO,IAAI,CAAC;KACf;SAAM;QACH,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,CAAU;IAC7C,IAAI,CAAC,EAAE;QACH,OAAO,GAAG,CAAC;KACd;SAAM;QACH,OAAO,GAAG,CAAC;KACd;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAoB;IAChD,IAAI,KAAK,KAAK,GAAG,EAAE;QACf,OAAO,GAAG,CAAC;KACd;SAAM;QACH,OAAO,GAAG,CAAC;KACd;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW;IAChC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAC,SAAiB,CAAC;IAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,UAAU,GAAG,gEAAgE,CAAC;IACpF,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;KAC7E;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,MAAM,UAAU,UAAU;IACtB,MAAM,GAAG,GAAG,OAAO,GAAG,YAAY,GAAG,GAAG,GAAG,SAAS,CAAC;IACrD,SAAS,EAAE,CAAC;IACZ,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACjC,OAAe,EACf,OAAe;IAEf,MAAM,MAAM,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS;IACpC,IAAI,CAAC,KAAK,GAAG,EAAE;QACX,OAAO,GAAG,CAAC;KACd;SAAM,IAAI,CAAC,KAAK,GAAG,EAAE;QAClB,OAAO,GAAG,CAAC;KACd;SAAM;QACH,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACvC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc;IAC1C,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAC9C,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAC9C,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,QAAgB;IAEhB,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAqB;IAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAI,CAAM;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/B;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,EAAO;IAClC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,SAAiB;IAC9D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,SAAS,EAAE;QACvE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;KAChD;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { NonRootNode, NodeType } from './types';
1
+ import type { NonRootNode, NodeType } from './types';
2
2
  import { RootNode } from './root-node';
3
3
  import { InternalNode } from './internal-node';
4
4
  import { LeafNode } from './leaf-node';