binary-decision-diagram 1.4.0 → 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 (80) hide show
  1. package/.github/workflows/main.yml +2 -2
  2. package/dist/es/abstract-node.js +45 -51
  3. package/dist/es/abstract-node.js.map +1 -1
  4. package/dist/es/branches.js +20 -22
  5. package/dist/es/branches.js.map +1 -1
  6. package/dist/es/create-bdd-from-truth-table.js +19 -57
  7. package/dist/es/create-bdd-from-truth-table.js.map +1 -1
  8. package/dist/es/ensure-correct-bdd.js +26 -27
  9. package/dist/es/ensure-correct-bdd.js.map +1 -1
  10. package/dist/es/fill-truth-table.js +3 -3
  11. package/dist/es/fill-truth-table.js.map +1 -1
  12. package/dist/es/find-similar-node.js +3 -3
  13. package/dist/es/find-similar-node.js.map +1 -1
  14. package/dist/es/internal-node.js +15 -35
  15. package/dist/es/internal-node.js.map +1 -1
  16. package/dist/es/leaf-node.js +14 -34
  17. package/dist/es/leaf-node.js.map +1 -1
  18. package/dist/es/minimal-string/bdd-to-minimal-string.js +15 -15
  19. package/dist/es/minimal-string/bdd-to-minimal-string.js.map +1 -1
  20. package/dist/es/minimal-string/bdd-to-simple-bdd.js +2 -2
  21. package/dist/es/minimal-string/bdd-to-simple-bdd.js.map +1 -1
  22. package/dist/es/minimal-string/minimal-string-to-simple-bdd.js +27 -27
  23. package/dist/es/minimal-string/minimal-string-to-simple-bdd.js.map +1 -1
  24. package/dist/es/minimal-string/resolve-with-simple-bdd.js +4 -4
  25. package/dist/es/minimal-string/resolve-with-simple-bdd.js.map +1 -1
  26. package/dist/es/minimal-string/string-format.js +7 -7
  27. package/dist/es/minimal-string/string-format.js.map +1 -1
  28. package/dist/es/optimize-brute-force.d.ts +4 -4
  29. package/dist/es/optimize-brute-force.js +88 -186
  30. package/dist/es/optimize-brute-force.js.map +1 -1
  31. package/dist/es/parents.js +19 -47
  32. package/dist/es/parents.js.map +1 -1
  33. package/dist/es/root-node.js +79 -133
  34. package/dist/es/root-node.js.map +1 -1
  35. package/dist/es/types.d.ts +9 -9
  36. package/dist/es/util.js +21 -39
  37. package/dist/es/util.js.map +1 -1
  38. package/dist/lib/abstract-node.js +48 -57
  39. package/dist/lib/abstract-node.js.map +1 -1
  40. package/dist/lib/branches.js +21 -27
  41. package/dist/lib/branches.js.map +1 -1
  42. package/dist/lib/create-bdd-from-truth-table.js +24 -66
  43. package/dist/lib/create-bdd-from-truth-table.js.map +1 -1
  44. package/dist/lib/ensure-correct-bdd.js +27 -33
  45. package/dist/lib/ensure-correct-bdd.js.map +1 -1
  46. package/dist/lib/fill-truth-table.js +6 -10
  47. package/dist/lib/fill-truth-table.js.map +1 -1
  48. package/dist/lib/find-similar-node.js +4 -8
  49. package/dist/lib/find-similar-node.js.map +1 -1
  50. package/dist/lib/index.js +13 -25
  51. package/dist/lib/index.js.map +1 -1
  52. package/dist/lib/internal-node.js +18 -41
  53. package/dist/lib/internal-node.js.map +1 -1
  54. package/dist/lib/leaf-node.js +17 -40
  55. package/dist/lib/leaf-node.js.map +1 -1
  56. package/dist/lib/minimal-string/bdd-to-minimal-string.js +21 -26
  57. package/dist/lib/minimal-string/bdd-to-minimal-string.js.map +1 -1
  58. package/dist/lib/minimal-string/bdd-to-simple-bdd.js +4 -9
  59. package/dist/lib/minimal-string/bdd-to-simple-bdd.js.map +1 -1
  60. package/dist/lib/minimal-string/index.js +5 -17
  61. package/dist/lib/minimal-string/index.js.map +1 -1
  62. package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js +30 -34
  63. package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js.map +1 -1
  64. package/dist/lib/minimal-string/resolve-with-simple-bdd.js +6 -10
  65. package/dist/lib/minimal-string/resolve-with-simple-bdd.js.map +1 -1
  66. package/dist/lib/minimal-string/string-format.js +12 -19
  67. package/dist/lib/minimal-string/string-format.js.map +1 -1
  68. package/dist/lib/optimize-brute-force.d.ts +4 -4
  69. package/dist/lib/optimize-brute-force.js +93 -199
  70. package/dist/lib/optimize-brute-force.js.map +1 -1
  71. package/dist/lib/parents.js +19 -50
  72. package/dist/lib/parents.js.map +1 -1
  73. package/dist/lib/root-node.js +84 -141
  74. package/dist/lib/root-node.js.map +1 -1
  75. package/dist/lib/types.d.ts +9 -9
  76. package/dist/lib/types.js +1 -2
  77. package/dist/lib/util.js +36 -72
  78. package/dist/lib/util.js.map +1 -1
  79. package/package.json +8 -8
  80. package/tsconfig.json +2 -2
@@ -1,145 +1,101 @@
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 __values = (this && this.__values) || function(o) {
18
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
19
- if (m) return m.call(o);
20
- if (o && typeof o.length === "number") return {
21
- next: function () {
22
- if (o && i >= o.length) o = void 0;
23
- return { value: o && o[i++], done: !o };
24
- }
25
- };
26
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.RootNode = void 0;
30
- var abstract_node_1 = require("./abstract-node");
31
- var branches_1 = require("./branches");
32
- var util_1 = require("./util");
33
- var minimal_string_1 = require("./minimal-string");
34
- var RootNode = /** @class */ (function (_super) {
35
- __extends(RootNode, _super);
36
- function RootNode() {
37
- var _this = _super.call(this, 0, null, 'RootNode') || this;
38
- _this.branches = new branches_1.Branches(_this);
39
- _this.levels = [];
40
- _this.nodesByLevel = new Map();
41
- _this.levels.push(0);
42
- var level0Set = new Set();
43
- level0Set.add(_this);
44
- _this.nodesByLevel.set(0, level0Set);
45
- return _this;
1
+ import { AbstractNode } from './abstract-node';
2
+ import { Branches } from './branches';
3
+ import { lastOfArray, booleanToBooleanString } from './util';
4
+ import { bddToSimpleBdd } from './minimal-string';
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);
46
15
  }
47
- RootNode.prototype.addNode = function (node) {
48
- var level = node.level;
16
+ addNode(node) {
17
+ const level = node.level;
49
18
  if (!this.levels.includes(level)) {
50
19
  this.levels.push(level);
51
20
  }
52
21
  this.ensureLevelSetExists(level);
53
- var set = this.nodesByLevel.get(level);
22
+ const set = this.nodesByLevel.get(level);
54
23
  set === null || set === void 0 ? void 0 : set.add(node);
55
- };
56
- RootNode.prototype.removeNode = function (node) {
57
- var set = this.nodesByLevel.get(node.level);
24
+ }
25
+ removeNode(node) {
26
+ const set = this.nodesByLevel.get(node.level);
58
27
  if (!set.has(node)) {
59
28
  throw new Error('removed non-existing node ' + node.id);
60
29
  }
61
30
  set.delete(node);
62
- };
63
- RootNode.prototype.ensureLevelSetExists = function (level) {
31
+ }
32
+ ensureLevelSetExists(level) {
64
33
  if (!this.nodesByLevel.has(level)) {
65
34
  this.nodesByLevel.set(level, new Set());
66
35
  }
67
- };
68
- RootNode.prototype.getLevels = function () {
69
- return Array.from(this.levels).sort(function (a, b) { return a - b; });
70
- };
71
- RootNode.prototype.getNodesOfLevel = function (level) {
36
+ }
37
+ getLevels() {
38
+ return Array.from(this.levels).sort((a, b) => a - b);
39
+ }
40
+ getNodesOfLevel(level) {
72
41
  this.ensureLevelSetExists(level);
73
- var set = this.nodesByLevel.get(level);
42
+ const set = this.nodesByLevel.get(level);
74
43
  return Array.from(set);
75
- };
76
- RootNode.prototype.countNodes = function () {
77
- var _this = this;
78
- var ret = 0;
79
- this.getLevels().forEach(function (level) {
80
- 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;
81
49
  ret = ret + nodesAmount;
82
50
  });
83
51
  return ret;
84
- };
52
+ }
85
53
  /**
86
54
  * applies the reduction rules to the whole bdd
87
55
  */
88
- RootNode.prototype.minimize = function (logState) {
89
- var e_1, _a;
90
- if (logState === void 0) { logState = false; }
56
+ minimize(logState = false) {
91
57
  // console.log('minimize(): START ###############');
92
- var done = false;
58
+ let done = false;
93
59
  while (!done) {
94
60
  if (logState) {
95
61
  console.log('minimize() itterate once');
96
62
  }
97
- var successCount = 0;
98
- var lastLevel = (0, util_1.lastOfArray)(this.getLevels());
63
+ let successCount = 0;
64
+ let lastLevel = lastOfArray(this.getLevels());
99
65
  while (lastLevel > 0) {
100
- var nodes = this.getNodesOfLevel(lastLevel);
66
+ const nodes = this.getNodesOfLevel(lastLevel);
101
67
  if (logState) {
102
68
  console.log('minimize() run for level ' + lastLevel +
103
69
  ' with ' + nodes.length + ' nodes');
104
70
  // console.dir(nodes);
105
71
  }
106
- var nodeCount = 0;
107
- try {
108
- 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()) {
109
- var node = nodes_1_1.value;
110
- nodeCount++;
111
- // do not run that often because it is expensive
112
- if (logState && nodeCount % 4000 === 0) {
113
- 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++;
114
84
  }
115
- if (node.isLeafNode()) {
116
- // console.log('have leaf node ' + node.id);
117
- var reductionDone = node.asLeafNode().applyEliminationRule();
118
- if (reductionDone) {
119
- successCount++;
120
- }
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);
121
93
  }
122
- if (!node.deleted && node.isInternalNode()) {
123
- var useNode = node;
124
- var reductionDone = useNode.applyReductionRule();
125
- var eliminationDone = false;
126
- if (!useNode.deleted) {
127
- // not might now be deleted from reduction-rule
128
- eliminationDone = useNode.applyEliminationRule(nodes);
129
- }
130
- if (reductionDone || eliminationDone) {
131
- successCount++;
132
- }
94
+ if (reductionDone || eliminationDone) {
95
+ successCount++;
133
96
  }
134
97
  }
135
98
  }
136
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
137
- finally {
138
- try {
139
- if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);
140
- }
141
- finally { if (e_1) throw e_1.error; }
142
- }
143
99
  lastLevel--;
144
100
  }
145
101
  if (successCount === 0) {
@@ -153,59 +109,46 @@ var RootNode = /** @class */ (function (_super) {
153
109
  }
154
110
  }
155
111
  }
156
- };
157
- RootNode.prototype.getLeafNodes = function () {
158
- var lastLevel = (0, util_1.lastOfArray)(this.getLevels());
159
- var leafNodes = this.getNodesOfLevel(lastLevel).reverse();
112
+ }
113
+ getLeafNodes() {
114
+ const lastLevel = lastOfArray(this.getLevels());
115
+ const leafNodes = this.getNodesOfLevel(lastLevel).reverse();
160
116
  return leafNodes;
161
- };
117
+ }
162
118
  /**
163
119
  * strips all leaf-nodes
164
120
  * with the given value
165
121
  */
166
- RootNode.prototype.removeIrrelevantLeafNodes = function (leafNodeValue) {
167
- var e_2, _a;
168
- var done = false;
122
+ removeIrrelevantLeafNodes(leafNodeValue) {
123
+ let done = false;
169
124
  while (!done) {
170
- var countRemoved = 0;
171
- var leafNodes = this.getLeafNodes();
172
- try {
173
- 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()) {
174
- var leafNode = leafNodes_1_1.value;
175
- var removed = leafNode.removeIfValueEquals(leafNodeValue);
176
- if (removed) {
177
- countRemoved++;
178
- }
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++;
179
131
  }
180
132
  }
181
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
182
- finally {
183
- try {
184
- if (leafNodes_1_1 && !leafNodes_1_1.done && (_a = leafNodes_1.return)) _a.call(leafNodes_1);
185
- }
186
- finally { if (e_2) throw e_2.error; }
187
- }
188
133
  this.minimize();
189
134
  if (countRemoved === 0) {
190
135
  done = true;
191
136
  }
192
137
  }
193
- };
194
- RootNode.prototype.resolve = function (fns, booleanFunctionInput) {
195
- var currentNode = this;
138
+ }
139
+ resolve(fns, booleanFunctionInput) {
140
+ let currentNode = this;
196
141
  while (true) {
197
- var booleanResult = fns[currentNode.level](booleanFunctionInput);
198
- var branchKey = (0, util_1.booleanToBooleanString)(booleanResult);
142
+ const booleanResult = fns[currentNode.level](booleanFunctionInput);
143
+ const branchKey = booleanToBooleanString(booleanResult);
199
144
  currentNode = currentNode.branches.getBranch(branchKey);
200
145
  if (currentNode.isLeafNode()) {
201
146
  return currentNode.asLeafNode().value;
202
147
  }
203
148
  }
204
- };
205
- RootNode.prototype.toSimpleBdd = function () {
206
- return (0, minimal_string_1.bddToSimpleBdd)(this);
207
- };
208
- return RootNode;
209
- }(abstract_node_1.AbstractNode));
210
- exports.RootNode = RootNode;
149
+ }
150
+ toSimpleBdd() {
151
+ return bddToSimpleBdd(this);
152
+ }
153
+ }
211
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/lib/types.js CHANGED
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=types.js.map
package/dist/lib/util.js CHANGED
@@ -1,23 +1,4 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.splitStringToChunks = exports.lastOfArray = exports.shuffleArray = exports.firstKeyOfMap = exports.getNextStateSet = exports.maxBinaryWithLength = exports.minBinaryWithLength = exports.binaryToDecimal = exports.oppositeBinary = exports.decimalToPaddedBinary = exports.nextNodeId = exports.lastChar = exports.oppositeBoolean = exports.booleanToBooleanString = exports.booleanStringToBoolean = void 0;
20
- function booleanStringToBoolean(str) {
1
+ export function booleanStringToBoolean(str) {
21
2
  if (str === '1') {
22
3
  return true;
23
4
  }
@@ -25,8 +6,7 @@ function booleanStringToBoolean(str) {
25
6
  return false;
26
7
  }
27
8
  }
28
- exports.booleanStringToBoolean = booleanStringToBoolean;
29
- function booleanToBooleanString(b) {
9
+ export function booleanToBooleanString(b) {
30
10
  if (b) {
31
11
  return '1';
32
12
  }
@@ -34,8 +14,7 @@ function booleanToBooleanString(b) {
34
14
  return '0';
35
15
  }
36
16
  }
37
- exports.booleanToBooleanString = booleanToBooleanString;
38
- function oppositeBoolean(input) {
17
+ export function oppositeBoolean(input) {
39
18
  if (input === '1') {
40
19
  return '0';
41
20
  }
@@ -43,42 +22,37 @@ function oppositeBoolean(input) {
43
22
  return '1';
44
23
  }
45
24
  }
46
- exports.oppositeBoolean = oppositeBoolean;
47
- function lastChar(str) {
25
+ export function lastChar(str) {
48
26
  return str.slice(-1);
49
27
  }
50
- exports.lastChar = lastChar;
51
28
  /**
52
29
  * @link https://stackoverflow.com/a/1349426
53
30
  */
54
- function makeid(length) {
55
- if (length === void 0) { length = 6; }
56
- var result = '';
57
- var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
58
- var charactersLength = characters.length;
59
- 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++) {
60
36
  result += characters.charAt(Math.floor(Math.random() * charactersLength));
61
37
  }
62
38
  return result;
63
39
  }
64
- var nodeIdPrefix = makeid(4);
65
- var lastIdGen = 0;
66
- function nextNodeId() {
67
- var ret = 'node_' + nodeIdPrefix + '_' + lastIdGen;
40
+ const nodeIdPrefix = makeid(4);
41
+ let lastIdGen = 0;
42
+ export function nextNodeId() {
43
+ const ret = 'node_' + nodeIdPrefix + '_' + lastIdGen;
68
44
  lastIdGen++;
69
45
  return ret;
70
46
  }
71
- exports.nextNodeId = nextNodeId;
72
47
  /**
73
48
  * @link https://stackoverflow.com/a/16155417
74
49
  */
75
- function decimalToPaddedBinary(decimal, padding) {
76
- var binary = (decimal >>> 0).toString(2);
77
- var padded = binary.padStart(padding, '0');
50
+ export function decimalToPaddedBinary(decimal, padding) {
51
+ const binary = (decimal >>> 0).toString(2);
52
+ const padded = binary.padStart(padding, '0');
78
53
  return padded;
79
54
  }
80
- exports.decimalToPaddedBinary = decimalToPaddedBinary;
81
- function oppositeBinary(i) {
55
+ export function oppositeBinary(i) {
82
56
  if (i === '1') {
83
57
  return '0';
84
58
  }
@@ -89,57 +63,47 @@ function oppositeBinary(i) {
89
63
  throw new Error('non-binary given');
90
64
  }
91
65
  }
92
- exports.oppositeBinary = oppositeBinary;
93
- function binaryToDecimal(binary) {
66
+ export function binaryToDecimal(binary) {
94
67
  return parseInt(binary, 2);
95
68
  }
96
- exports.binaryToDecimal = binaryToDecimal;
97
- function minBinaryWithLength(length) {
98
- return new Array(length).fill(0).map(function () { return '0'; }).join('');
69
+ export function minBinaryWithLength(length) {
70
+ return new Array(length).fill(0).map(() => '0').join('');
99
71
  }
100
- exports.minBinaryWithLength = minBinaryWithLength;
101
- function maxBinaryWithLength(length) {
102
- return new Array(length).fill(0).map(function () { return '1'; }).join('');
72
+ export function maxBinaryWithLength(length) {
73
+ return new Array(length).fill(0).map(() => '1').join('');
103
74
  }
104
- exports.maxBinaryWithLength = maxBinaryWithLength;
105
- function getNextStateSet(stateSet) {
106
- var decimal = binaryToDecimal(stateSet);
107
- var increase = decimal + 1;
108
- var binary = decimalToPaddedBinary(increase, stateSet.length);
75
+ export function getNextStateSet(stateSet) {
76
+ const decimal = binaryToDecimal(stateSet);
77
+ const increase = decimal + 1;
78
+ const binary = decimalToPaddedBinary(increase, stateSet.length);
109
79
  return binary;
110
80
  }
111
- exports.getNextStateSet = getNextStateSet;
112
- function firstKeyOfMap(map) {
113
- var iterator1 = map.keys();
81
+ export function firstKeyOfMap(map) {
82
+ const iterator1 = map.keys();
114
83
  return iterator1.next().value;
115
84
  }
116
- exports.firstKeyOfMap = firstKeyOfMap;
117
85
  /**
118
86
  * Shuffles array in place. ES6 version
119
87
  * @link https://stackoverflow.com/a/6274381
120
88
  */
121
- function shuffleArray(a) {
122
- var _a;
123
- for (var i = a.length - 1; i > 0; i--) {
124
- var j = Math.floor(Math.random() * (i + 1));
125
- _a = __read([a[j], a[i]], 2), a[i] = _a[0], a[j] = _a[1];
89
+ export function shuffleArray(a) {
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]];
126
93
  }
127
94
  return a;
128
95
  }
129
- exports.shuffleArray = shuffleArray;
130
- function lastOfArray(ar) {
96
+ export function lastOfArray(ar) {
131
97
  return ar[ar.length - 1];
132
98
  }
133
- exports.lastOfArray = lastOfArray;
134
99
  /**
135
100
  * @link https://stackoverflow.com/a/6259536
136
101
  */
137
- function splitStringToChunks(str, chunkSize) {
138
- var chunks = [];
139
- for (var i = 0, charsLength = str.length; i < charsLength; i += chunkSize) {
102
+ export function splitStringToChunks(str, chunkSize) {
103
+ const chunks = [];
104
+ for (let i = 0, charsLength = str.length; i < charsLength; i += chunkSize) {
140
105
  chunks.push(str.substring(i, i + chunkSize));
141
106
  }
142
107
  return chunks;
143
108
  }
144
- exports.splitStringToChunks = splitStringToChunks;
145
109
  //# sourceMappingURL=util.js.map
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "binary-decision-diagram",
3
- "version": "1.4.0",
3
+ "version": "2.0.0",
4
4
  "description": "A library to create, minimize and optimize binary decision diagrams",
5
5
  "keywords": [
6
6
  "binary decision diagram",
@@ -32,19 +32,19 @@
32
32
  "lint": "tslint --project .",
33
33
  "lint:fix": "tslint --project . --fix",
34
34
  "transpile": "tsc -p ./ && echo '# transpile es5 (require) sucess!'",
35
- "transpile:es": "tsc -p ./ --target ES5 --module ES6 --outDir ./dist/es && echo '# transpile es (modules) sucess!'",
35
+ "transpile:es": "tsc -p ./ --module ES6 --outDir ./dist/es && echo '# transpile es (modules) sucess!'",
36
36
  "build": "rimraf -r ./dist && npm run transpile && npm run transpile:es",
37
37
  "test": "mocha -r ts-node/register test/unit/index.test.ts --timeout 40000 --bail"
38
38
  },
39
39
  "devDependencies": {
40
- "@types/mocha": "9.0.0",
41
- "@types/node": "14.17.20",
40
+ "@types/mocha": "10.0.1",
41
+ "@types/node": "18.11.18",
42
42
  "assert": "2.0.0",
43
- "async-test-util": "1.7.3",
44
- "mocha": "9.1.2",
43
+ "async-test-util": "2.0.0",
44
+ "mocha": "10.2.0",
45
45
  "rimraf": "3.0.2",
46
- "ts-node": "10.2.1",
46
+ "ts-node": "10.9.1",
47
47
  "tslint": "6.1.3",
48
- "typescript": "4.4.3"
48
+ "typescript": "4.9.4"
49
49
  }
50
50
  }
package/tsconfig.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "moduleResolution": "node",
13
13
  "esModuleInterop": true,
14
14
  "declaration": true,
15
- "target": "es5",
15
+ "target": "ES2017",
16
16
  "outDir": "./dist/lib",
17
17
  "lib": [
18
18
  "es7",
@@ -35,4 +35,4 @@
35
35
  "**.json"
36
36
  ],
37
37
  "compileOnSave": false
38
- }
38
+ }