@rkmodules/rules 0.0.66 → 0.0.68

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.
@@ -93,7 +93,6 @@
93
93
  box-shadow: 0px 0px 3px 2px var(--node-active-line);
94
94
  }
95
95
 
96
-
97
96
  .Log_dsq5e {
98
97
  --bg: var(--log-background, var(--node-background));
99
98
  --ln: var(--log-line, var(--node-line));
@@ -120,7 +119,6 @@
120
119
  position: relative;
121
120
  }
122
121
 
123
-
124
122
  .DefaultNode_R2P6c input,
125
123
  .DefaultNode_R2P6c select {
126
124
  border: 1px solid var(--ln);
@@ -129,7 +127,6 @@
129
127
  box-sizing: border-box;
130
128
  }
131
129
 
132
-
133
130
  .Description_f9s4l {
134
131
  font-size: 0.8em;
135
132
  opacity: 0.7;
@@ -140,10 +137,6 @@
140
137
  max-width: 200px;
141
138
  }
142
139
 
143
-
144
-
145
-
146
-
147
140
  .PreviewHead_oFT4K {
148
141
  margin-top: 16px;
149
142
  text-align: center;
@@ -154,15 +147,17 @@
154
147
  gap: 8px;
155
148
  color: #444;
156
149
  }
157
- .PreviewHead_oFT4K::before, .PreviewHead_oFT4K::after {
158
- content: '🠻';
150
+ .PreviewHead_oFT4K::before,
151
+ .PreviewHead_oFT4K::after {
152
+ content: "🠻";
159
153
  }
160
- .PreviewHead_oFT4K.expanded_3vnbi::before, .PreviewHead_oFT4K.expanded_3vnbi::after {
161
- content: '🠹';
154
+ .PreviewHead_oFT4K.expanded_3vnbi::before,
155
+ .PreviewHead_oFT4K.expanded_3vnbi::after {
156
+ content: "🠹";
162
157
  }
163
158
 
164
159
  .Preview_HbkZ6 {
165
- background-color: rgba(0,0,0,0.1);
160
+ background-color: rgba(0, 0, 0, 0.1);
166
161
  border-top: 1px solid var(--ln);
167
162
  padding: 4px;
168
163
  max-height: 300px;
@@ -178,7 +173,6 @@
178
173
  border-top: 1px solid var(--ln);
179
174
  }
180
175
 
181
-
182
176
  .Table_aZyRT {
183
177
  margin: 2px;
184
178
  max-height: 400px;
@@ -189,14 +183,13 @@
189
183
  border: 1px solid var(--ln);
190
184
  }
191
185
 
192
-
193
186
  .GroupHead_QJhST {
194
187
  display: flex;
195
188
  align-items: center;
196
- height: 22px;;
189
+ height: 22px;
197
190
  }
198
191
  .GroupHead_QJhST::before {
199
- content: '🢒';
192
+ content: "🢒";
200
193
  display: flex;
201
194
  width: 22px;
202
195
  height: 22px;
@@ -205,11 +198,25 @@
205
198
  text-align: center;
206
199
  font-size: 1.8em;
207
200
  color: var(--type-color);
201
+ transform: rotate(0deg);
202
+ transition: transform 0.2s ease;
203
+ }
204
+ .GroupHead_QJhST.expanded_3vnbi::before {
208
205
  transform: rotate(90deg);
209
206
  }
210
- .GroupHead_QJhST span {
211
- opacity: 0.7;
207
+ .GroupName_Qvu4r {
208
+ opacity: 0.6;
209
+ font-style: italic;
210
+ flex: 1;
211
+ }
212
+ .GroupCnt_3ctdd {
213
+ opacity: 0.6;
214
+ font-style: italic;
215
+ }
216
+ .GroupMore_D1Kiz {
217
+ opacity: 0.6;
212
218
  font-style: italic;
219
+ text-align: center;
213
220
  }
214
221
 
215
222
  .GroupChildren_NKx-B {
package/dist/index.esm.js CHANGED
@@ -136,7 +136,7 @@ var DISCARD = Symbol("DISCARD");
136
136
  * @param tree
137
137
  * @returns
138
138
  */
139
- function simplifyTree(tree) {
139
+ function simplifyTree$1(tree) {
140
140
  var keys = Object.keys(tree);
141
141
  if (keys.length <= 1)
142
142
  return tree; // ✅ Don't simplify if only one path
@@ -252,6 +252,9 @@ function broadCast(value) {
252
252
  function getBranch(tree, path) {
253
253
  return tree[path];
254
254
  }
255
+ function getPaths(tree) {
256
+ return Object.keys(tree);
257
+ }
255
258
  /**
256
259
  * maps a tree, the tree branches are flatmapped, so if an array is returned for each item in the list, a flat list is returned
257
260
  * @param tree
@@ -651,6 +654,8 @@ var add$1 = {
651
654
  return __generator(this, function (_a) {
652
655
  return [2 /*return*/, {
653
656
  sum: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
657
+ if (itemA === undefined || itemB === undefined)
658
+ return DISCARD;
654
659
  return itemA + itemB;
655
660
  }, true),
656
661
  }];
@@ -817,6 +822,29 @@ function getUnboundSymbols(expr, scope, extraBound) {
817
822
  return Array.from(free).sort();
818
823
  }
819
824
 
825
+ var cosDeg = {
826
+ name: "cosDeg",
827
+ label: "Cosine",
828
+ description: "Cosine of angle in degrees",
829
+ inputs: {
830
+ a: { type: "number", default: 0 },
831
+ },
832
+ outputs: {
833
+ cos: "number",
834
+ },
835
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
836
+ return __generator(this, function (_a) {
837
+ return [2 /*return*/, {
838
+ cos: mapTree(inputs.a, function (angle) {
839
+ if (angle === undefined)
840
+ return DISCARD;
841
+ return Math.cos((angle * Math.PI) / 180);
842
+ }),
843
+ }];
844
+ });
845
+ }); },
846
+ };
847
+
820
848
  var divide = {
821
849
  name: "divide",
822
850
  label: "Divide",
@@ -832,6 +860,8 @@ var divide = {
832
860
  return __generator(this, function (_a) {
833
861
  return [2 /*return*/, {
834
862
  quotient: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
863
+ if (itemA === undefined || itemB === undefined)
864
+ return DISCARD;
835
865
  if (itemB === 0)
836
866
  return DISCARD;
837
867
  return itemA / itemB;
@@ -901,6 +931,30 @@ var lessThan = {
901
931
  }); },
902
932
  };
903
933
 
934
+ var modulo = {
935
+ name: "modulo",
936
+ label: "Modulo",
937
+ description: "Division remainder of two numbers",
938
+ inputs: {
939
+ a: { type: "number", default: 1 },
940
+ b: { type: "number", default: 1 },
941
+ },
942
+ outputs: {
943
+ mod: "number",
944
+ },
945
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
946
+ return __generator(this, function (_a) {
947
+ return [2 /*return*/, {
948
+ mod: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
949
+ if (itemA === undefined || itemB === undefined)
950
+ return DISCARD;
951
+ return itemA % itemB;
952
+ }, true),
953
+ }];
954
+ });
955
+ }); },
956
+ };
957
+
904
958
  var multiply = {
905
959
  name: "multiply",
906
960
  label: "Multiply",
@@ -916,6 +970,8 @@ var multiply = {
916
970
  return __generator(this, function (_a) {
917
971
  return [2 /*return*/, {
918
972
  product: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
973
+ if (itemA === undefined || itemB === undefined)
974
+ return DISCARD;
919
975
  return itemA * itemB;
920
976
  }, true),
921
977
  }];
@@ -923,6 +979,78 @@ var multiply = {
923
979
  }); },
924
980
  };
925
981
 
982
+ var pow = {
983
+ name: "pow",
984
+ label: "Power",
985
+ description: "Power a number",
986
+ inputs: {
987
+ x: { type: "number", default: 0 },
988
+ n: { type: "number", default: 2 },
989
+ },
990
+ outputs: {
991
+ pow: "number",
992
+ },
993
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
994
+ return __generator(this, function (_a) {
995
+ return [2 /*return*/, {
996
+ pow: binaryOnTree(inputs.x, inputs.n, function (x, n) {
997
+ if (x === undefined || n === undefined)
998
+ return DISCARD;
999
+ return Math.pow(x, n);
1000
+ }),
1001
+ }];
1002
+ });
1003
+ }); },
1004
+ };
1005
+
1006
+ var sinDeg = {
1007
+ name: "sinDeg",
1008
+ label: "Sine",
1009
+ description: "Sine of angle in degrees",
1010
+ inputs: {
1011
+ a: { type: "number", default: 0 },
1012
+ },
1013
+ outputs: {
1014
+ sin: "number",
1015
+ },
1016
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
1017
+ return __generator(this, function (_a) {
1018
+ return [2 /*return*/, {
1019
+ sin: mapTree(inputs.a, function (angle) {
1020
+ if (angle === undefined)
1021
+ return DISCARD;
1022
+ return Math.sin((angle * Math.PI) / 180);
1023
+ }),
1024
+ }];
1025
+ });
1026
+ }); },
1027
+ };
1028
+
1029
+ var sqrt = {
1030
+ name: "sqrt",
1031
+ label: "Square root",
1032
+ description: "Square root of a number",
1033
+ inputs: {
1034
+ x: { type: "number", default: 0 },
1035
+ },
1036
+ outputs: {
1037
+ sqrt: "number",
1038
+ },
1039
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
1040
+ return __generator(this, function (_a) {
1041
+ return [2 /*return*/, {
1042
+ sqrt: mapTree(inputs.x, function (x) {
1043
+ if (x === undefined)
1044
+ return DISCARD;
1045
+ if (x < 0)
1046
+ return DISCARD;
1047
+ return Math.sqrt(x);
1048
+ }),
1049
+ }];
1050
+ });
1051
+ }); },
1052
+ };
1053
+
926
1054
  var subtract$1 = {
927
1055
  name: "subtract",
928
1056
  label: "Subtract",
@@ -938,6 +1066,8 @@ var subtract$1 = {
938
1066
  return __generator(this, function (_a) {
939
1067
  return [2 /*return*/, {
940
1068
  difference: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
1069
+ if (itemA === undefined || itemB === undefined)
1070
+ return DISCARD;
941
1071
  return itemA - itemB;
942
1072
  }, true),
943
1073
  }];
@@ -945,6 +1075,29 @@ var subtract$1 = {
945
1075
  }); },
946
1076
  };
947
1077
 
1078
+ var tanDeg = {
1079
+ name: "tanDeg",
1080
+ label: "Tangent",
1081
+ description: "Tangent of angle in degrees",
1082
+ inputs: {
1083
+ a: { type: "number", default: 0 },
1084
+ },
1085
+ outputs: {
1086
+ tan: "number",
1087
+ },
1088
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
1089
+ return __generator(this, function (_a) {
1090
+ return [2 /*return*/, {
1091
+ tan: mapTree(inputs.a, function (angle) {
1092
+ if (angle === undefined)
1093
+ return DISCARD;
1094
+ return Math.tan((angle * Math.PI) / 180);
1095
+ }),
1096
+ }];
1097
+ });
1098
+ }); },
1099
+ };
1100
+
948
1101
  var _a$5;
949
1102
  var primitives$5 = (_a$5 = {},
950
1103
  _a$5[calc.name] = calc,
@@ -954,6 +1107,12 @@ var primitives$5 = (_a$5 = {},
954
1107
  _a$5[subtract$1.name] = subtract$1,
955
1108
  _a$5[multiply.name] = multiply,
956
1109
  _a$5[divide.name] = divide,
1110
+ _a$5[modulo.name] = modulo,
1111
+ _a$5[sinDeg.name] = sinDeg,
1112
+ _a$5[cosDeg.name] = cosDeg,
1113
+ _a$5[tanDeg.name] = tanDeg,
1114
+ _a$5[sqrt.name] = sqrt,
1115
+ _a$5[pow.name] = pow,
957
1116
  _a$5);
958
1117
 
959
1118
  var filterList = {
@@ -1029,6 +1188,7 @@ var listItem = {
1029
1188
  if (indices) {
1030
1189
  return indices.map(function (i) { return branch[i]; });
1031
1190
  }
1191
+ return DISCARD;
1032
1192
  });
1033
1193
  others = binaryOnTreeBranch(inputs.list || {}, inputs.index || {}, function (branch, indices) {
1034
1194
  return branch.filter(function (_, i) { return !(indices === null || indices === void 0 ? void 0 : indices.includes(i)); });
@@ -1104,7 +1264,7 @@ var shiftList = {
1104
1264
  return [2 /*return*/, {
1105
1265
  list: nAryOnTreeBranch([inputs.list || {}, inputs.step || {}, inputs.wrap || {}], function (_a) {
1106
1266
  var _b;
1107
- var _c = __read(_a, 3), list = _c[0], step = _c[1], wrap = _c[2];
1267
+ var _c = __read(_a, 3), _d = _c[0], list = _d === void 0 ? [] : _d, _e = _c[1], step = _e === void 0 ? [] : _e, _f = _c[2], wrap = _f === void 0 ? [] : _f;
1108
1268
  var n = (_b = step[0]) !== null && _b !== void 0 ? _b : 1;
1109
1269
  if (wrap[0]) {
1110
1270
  n = n % (list.length || 1);
@@ -1120,6 +1280,45 @@ var shiftList = {
1120
1280
  }); },
1121
1281
  };
1122
1282
 
1283
+ var cartesianGroups = {
1284
+ name: "cartesianGroups",
1285
+ label: "Cartesian Groups",
1286
+ description: "Duplicate groups such that all pairings are created.",
1287
+ inputs: {
1288
+ treeA: "any",
1289
+ treeB: "any",
1290
+ },
1291
+ params: {},
1292
+ outputs: {
1293
+ treeA: "any",
1294
+ treeB: "any",
1295
+ },
1296
+ impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
1297
+ var pathsA, pathsB, treeA, treeB;
1298
+ return __generator(this, function (_a) {
1299
+ if (!inputs.treeA || !inputs.treeB) {
1300
+ return [2 /*return*/, {}];
1301
+ }
1302
+ pathsA = getPaths(inputs.treeA);
1303
+ pathsB = getPaths(inputs.treeB);
1304
+ treeA = {};
1305
+ treeB = {};
1306
+ pathsB.forEach(function (pathB, ib) {
1307
+ pathsA.forEach(function (pathA, ia) {
1308
+ var pa = "".concat(ib, ";").concat(pathA);
1309
+ treeA[pa] = inputs.treeA[pathA];
1310
+ var pb = "".concat(pathB, ";").concat(ia);
1311
+ treeB[pb] = inputs.treeB[pathB];
1312
+ });
1313
+ });
1314
+ return [2 /*return*/, {
1315
+ treeA: treeA,
1316
+ treeB: treeB,
1317
+ }];
1318
+ });
1319
+ }); },
1320
+ };
1321
+
1123
1322
  var _a$4;
1124
1323
  var primitives$4 = (_a$4 = {},
1125
1324
  _a$4[splitGroup.name] = splitGroup,
@@ -1128,6 +1327,7 @@ var primitives$4 = (_a$4 = {},
1128
1327
  _a$4[listLength.name] = listLength,
1129
1328
  _a$4[filterList.name] = filterList,
1130
1329
  _a$4[shiftList.name] = shiftList,
1330
+ _a$4[cartesianGroups.name] = cartesianGroups,
1131
1331
  _a$4);
1132
1332
 
1133
1333
  var series = {
@@ -1150,7 +1350,10 @@ var series = {
1150
1350
  graftTree(inputs.step),
1151
1351
  graftTree(inputs.count),
1152
1352
  ], function (_a) {
1153
- var _b = __read(_a, 3), _c = __read(_b[0], 1), _d = _c[0], start = _d === void 0 ? 0 : _d, _e = __read(_b[1], 1), _f = _e[0], step = _f === void 0 ? 1 : _f, _g = __read(_b[2], 1), _h = _g[0], count = _h === void 0 ? 10 : _h;
1353
+ var _b = __read(_a, 3), _c = _b[0], starts = _c === void 0 ? [] : _c, _d = _b[1], steps = _d === void 0 ? [] : _d, _e = _b[2], counts = _e === void 0 ? [] : _e;
1354
+ var start = starts[0];
1355
+ var step = steps[0];
1356
+ var count = counts[0];
1154
1357
  var series = [];
1155
1358
  for (var i = 0; i < count; i++) {
1156
1359
  series.push(start + i * step);
@@ -1196,9 +1399,32 @@ var mergeTree = {
1196
1399
  }); },
1197
1400
  };
1198
1401
 
1402
+ var simplifyTree = {
1403
+ name: "simplifyTree",
1404
+ label: "Simplify Tree",
1405
+ description: "Simplify a tree by removing redundant groups.",
1406
+ inputs: {
1407
+ tree: "any",
1408
+ },
1409
+ outputs: {
1410
+ tree: "any",
1411
+ },
1412
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
1413
+ return __generator(this, function (_a) {
1414
+ if (!inputs.tree) {
1415
+ return [2 /*return*/, {}];
1416
+ }
1417
+ return [2 /*return*/, {
1418
+ tree: simplifyTree$1(inputs.tree),
1419
+ }];
1420
+ });
1421
+ }); },
1422
+ };
1423
+
1199
1424
  var _a$2;
1200
1425
  var primitives$2 = (_a$2 = {},
1201
1426
  _a$2[mergeTree.name] = mergeTree,
1427
+ _a$2[simplifyTree.name] = simplifyTree,
1202
1428
  _a$2);
1203
1429
 
1204
1430
  var groupAnd = {
@@ -4523,7 +4749,7 @@ var Output = function (_a) {
4523
4749
  normalized.label || name)));
4524
4750
  };
4525
4751
 
4526
- var styles = {"DefaultNode":"DefaultNode_R2P6c","selected":"selected_VmB-F","active":"active_zjUzx","Log":"Log_dsq5e","Label":"Label_wBwWA","Description":"Description_f9s4l","PreviewHead":"PreviewHead_oFT4K","expanded":"expanded_3vnbi","Preview":"Preview_HbkZ6","Duration":"Duration_0jqWx","GroupHead":"GroupHead_QJhST","GroupChildren":"GroupChildren_NKx-B","GroupLeaf":"GroupLeaf_eliT8"};
4752
+ var styles = {"DefaultNode":"DefaultNode_R2P6c","selected":"selected_VmB-F","active":"active_zjUzx","Log":"Log_dsq5e","Label":"Label_wBwWA","Description":"Description_f9s4l","PreviewHead":"PreviewHead_oFT4K","expanded":"expanded_3vnbi","Preview":"Preview_HbkZ6","Duration":"Duration_0jqWx","GroupHead":"GroupHead_QJhST","GroupName":"GroupName_Qvu4r","GroupCnt":"GroupCnt_3ctdd","GroupMore":"GroupMore_D1Kiz","GroupChildren":"GroupChildren_NKx-B","GroupLeaf":"GroupLeaf_eliT8"};
4527
4753
 
4528
4754
  function NodeContainer(_a) {
4529
4755
  var _b;
@@ -4560,48 +4786,67 @@ function NodeContainer(_a) {
4560
4786
 
4561
4787
  function createTreeStructure(tree) {
4562
4788
  var keys = Object.keys(tree);
4563
- var structure = [];
4789
+ var structure = { name: "root", children: [] };
4564
4790
  keys.forEach(function (key) {
4565
4791
  var path = key.split(";");
4566
4792
  var parent = structure;
4567
4793
  for (var i = 0; i < path.length; i++) {
4568
4794
  var part = parseInt(path[i], 10);
4569
- if (!parent[part]) {
4570
- parent[part] = [];
4795
+ if (!parent.children[part]) {
4796
+ parent.children[part] = {
4797
+ name: path.slice(0, i + 1).join(";"),
4798
+ children: [],
4799
+ };
4571
4800
  }
4572
- parent = parent[part];
4801
+ parent = parent.children[part];
4573
4802
  }
4574
- parent.push({ items: tree[key] });
4803
+ parent.items = tree[key];
4575
4804
  });
4576
4805
  return structure;
4577
4806
  }
4578
4807
  function TreeBranchView(_a) {
4579
- var branch = _a.branch, name = _a.name;
4808
+ var _b;
4809
+ var _c, _d;
4810
+ var branch = _a.branch;
4811
+ var _e = __read(React.useState(true), 2), expanded = _e[0], setExpanded = _e[1];
4812
+ var isLeaf = !!branch.items;
4813
+ var subCnt = branch.children.length || ((_c = branch.items) === null || _c === void 0 ? void 0 : _c.length) || 0;
4814
+ var maxCnt = 10;
4580
4815
  return (React.createElement("div", null,
4581
- React.createElement("div", { className: styles.GroupHead },
4582
- React.createElement("span", null,
4816
+ React.createElement("div", { className: classNames((_b = {}, _b[styles.expanded] = expanded, _b), styles.GroupHead), onClick: function () { return setExpanded(!expanded); } },
4817
+ React.createElement("div", { className: styles.GroupName },
4583
4818
  "group ",
4584
- name)),
4585
- React.createElement("div", { className: styles.GroupChildren }, branch.map(function (item, index) {
4586
- // sub branch
4587
- if (Array.isArray(item)) {
4588
- return (React.createElement(TreeBranchView, { key: index, branch: item, name: "".concat(name, ";").concat(index) }));
4589
- }
4590
- // items
4591
- return (React.createElement("div", { key: index }, item.items.map(function (it, i) {
4592
- var _a;
4593
- var label = (_a = it === null || it === void 0 ? void 0 : it.toString) === null || _a === void 0 ? void 0 : _a.call(it);
4594
- if (label === "[object Object]") {
4595
- label = "{...}";
4596
- }
4597
- return (React.createElement("div", { key: i, className: styles.GroupLeaf, title: JSON.stringify(it, null, 2) }, label));
4598
- })));
4599
- }))));
4819
+ branch.name),
4820
+ React.createElement("div", { className: styles.GroupCnt },
4821
+ "(",
4822
+ subCnt,
4823
+ ")")),
4824
+ expanded && (React.createElement("div", { className: styles.GroupChildren },
4825
+ !isLeaf &&
4826
+ branch.children.map(function (subgroup, index) {
4827
+ // sub branch
4828
+ return (React.createElement(TreeBranchView, { key: index, branch: subgroup }));
4829
+ }),
4830
+ isLeaf && (React.createElement(React.Fragment, null, (_d = branch.items) === null || _d === void 0 ? void 0 :
4831
+ _d.slice(0, maxCnt).map(function (item, index) {
4832
+ var _a;
4833
+ // items
4834
+ var label = (_a = item === null || item === void 0 ? void 0 : item.toString) === null || _a === void 0 ? void 0 : _a.call(item);
4835
+ if (label === "[object Object]") {
4836
+ label = "{...}";
4837
+ }
4838
+ return (React.createElement("div", { key: index },
4839
+ React.createElement("div", { className: styles.GroupLeaf, title: JSON.stringify(item, null, 2) }, label)));
4840
+ }),
4841
+ branch.items && branch.items.length > maxCnt && (React.createElement("div", { className: styles.GroupMore },
4842
+ "... ",
4843
+ branch.items.length - maxCnt,
4844
+ " more"))))))));
4600
4845
  }
4601
4846
  function TreeView(_a) {
4602
4847
  var value = _a.value;
4603
4848
  var structure = createTreeStructure(value || {});
4604
- return (React.createElement("div", null, structure.map(function (branch, index) { return (React.createElement(TreeBranchView, { key: index, branch: branch, name: index })); })));
4849
+ return (React.createElement("div", null, structure.children.map(function (branch, index) { return (React.createElement(TreeBranchView, { key: index, branch: branch })); })));
4605
4850
  }
4606
4851
  var Log = React.memo(function (_a) {
4607
4852
  var id = _a.id, data = _a.data, selected = _a.selected;
@@ -4637,9 +4882,10 @@ function GenericNode(_a) {
4637
4882
  var previewValue = focus ? result[focus] : Object.values(result)[0];
4638
4883
  React.useEffect(function () {
4639
4884
  return engine.subscribe("functionResult", function (event) {
4885
+ var _a;
4640
4886
  if (event.name === id) {
4641
4887
  setResult(event.result || {});
4642
- setDuration(event.duration || null);
4888
+ setDuration((_a = event.duration) !== null && _a !== void 0 ? _a : null);
4643
4889
  }
4644
4890
  });
4645
4891
  }, []);
@@ -4664,7 +4910,7 @@ function GenericNode(_a) {
4664
4910
  _b)), onClick: function () { return setShowPreview(!showPreview); } }, "Preview"),
4665
4911
  showPreview && (React.createElement("div", { className: styles.Preview },
4666
4912
  React.createElement(TreeView, { value: previewValue }),
4667
- duration && (React.createElement("div", { className: styles.Duration },
4913
+ duration !== null && (React.createElement("div", { className: styles.Duration },
4668
4914
  duration.toFixed(2),
4669
4915
  " ms"))))));
4670
4916
  }
@@ -6129,5 +6375,5 @@ function DDContext(_a) {
6129
6375
  return React.createElement(DndProvider, { backend: HTML5Backend }, children);
6130
6376
  }
6131
6377
 
6132
- export { DDContext, DISCARD, Engine, Flow, Lib, binaryOnTree, binaryOnTreeBranch, broadCast, expandTree, getBranch, getReferences, getValue$1 as getValue, graftTree, hasReference, interpolate, isReference, isSingleTon, isTree, mapTree, mapTreeBranch, nAryOnTree, nAryOnTreeBranch, normalizeVarDef, parseReference, primitives, sameShape, simplifyTree, toArray, topSort, treeSize, trimTree, uid$1 as uid, useDraggableNode, useFlow, useFunction, usePositions, useUpdatePositions, useVariable };
6378
+ export { DDContext, DISCARD, Engine, Flow, Lib, binaryOnTree, binaryOnTreeBranch, broadCast, expandTree, getBranch, getPaths, getReferences, getValue$1 as getValue, graftTree, hasReference, interpolate, isReference, isSingleTon, isTree, mapTree, mapTreeBranch, nAryOnTree, nAryOnTreeBranch, normalizeVarDef, parseReference, primitives, sameShape, simplifyTree$1 as simplifyTree, toArray, topSort, treeSize, trimTree, uid$1 as uid, useDraggableNode, useFlow, useFunction, usePositions, useUpdatePositions, useVariable };
6133
6379
  //# sourceMappingURL=index.esm.js.map