@rkmodules/rules 0.0.26 → 0.0.28

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.
package/dist/index.js CHANGED
@@ -189,7 +189,7 @@ function expandTree(tree, fn) {
189
189
  * @param tree
190
190
  * @returns
191
191
  */
192
- function graftTree$1(tree) {
192
+ function graftTree(tree) {
193
193
  return Object.fromEntries(Object.entries(tree).reduce(function (entries, _a) {
194
194
  var _b = __read(_a, 2), path = _b[0], values = _b[1];
195
195
  entries.push.apply(entries, __spreadArray([], __read(values.map(function (value, index) {
@@ -202,7 +202,7 @@ function graftTree$1(tree) {
202
202
  * Reduce the complexity of a tree by merging the outermost branches.
203
203
  * @param tree
204
204
  */
205
- function trimTree$1(tree, depth) {
205
+ function trimTree(tree, depth) {
206
206
  var _a;
207
207
  if (depth === void 0) { depth = 1; }
208
208
  if (depth <= 0)
@@ -504,6 +504,7 @@ function interpolate(inputs, scope) {
504
504
  var getValue = {
505
505
  name: "getValue",
506
506
  label: "Get Value",
507
+ description: "Get a value from an object at a specified path.",
507
508
  inputs: {
508
509
  tree: "any",
509
510
  path: "string",
@@ -552,6 +553,7 @@ var log = {
552
553
  var value = {
553
554
  name: "value",
554
555
  label: "Value",
556
+ description: "Outputs a constant value of a specified type",
555
557
  inputs: {},
556
558
  params: {
557
559
  value: "string",
@@ -569,25 +571,25 @@ var value = {
569
571
  value = params.value;
570
572
  switch (params.type) {
571
573
  case "number":
572
- return [2 /*return*/, { value: Number(value) }];
574
+ return [2 /*return*/, { value: broadCast(Number(value)) }];
573
575
  case "boolean":
574
- return [2 /*return*/, { value: Boolean(value) }];
576
+ return [2 /*return*/, { value: broadCast(Boolean(value)) }];
575
577
  case "string":
576
- return [2 /*return*/, { value: String(value) }];
578
+ return [2 /*return*/, { value: broadCast(String(value)) }];
577
579
  default:
578
580
  // return as is
579
- return [2 /*return*/, { value: value }];
581
+ return [2 /*return*/, { value: broadCast(value) }];
580
582
  }
581
583
  });
582
584
  }); },
583
585
  };
584
586
 
585
- var _a$4;
586
- var primitives$5 = (_a$4 = {},
587
- _a$4[getValue.name] = getValue,
588
- _a$4[log.name] = log,
589
- _a$4[value.name] = value,
590
- _a$4);
587
+ var _a$5;
588
+ var primitives$6 = (_a$5 = {},
589
+ _a$5[getValue.name] = getValue,
590
+ _a$5[log.name] = log,
591
+ _a$5[value.name] = value,
592
+ _a$5);
591
593
 
592
594
  var math$1 = mathjs.create(mathjs.all, {});
593
595
  function evaluate(expression, scope) {
@@ -765,10 +767,10 @@ var greaterThan = {
765
767
  return [2 /*return*/, {
766
768
  gt: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
767
769
  return itemA > itemB;
768
- }),
770
+ }, true),
769
771
  gte: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
770
772
  return itemA >= itemB;
771
- }),
773
+ }, true),
772
774
  }];
773
775
  });
774
776
  }); },
@@ -791,26 +793,26 @@ var lessThan = {
791
793
  return [2 /*return*/, {
792
794
  lt: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
793
795
  return itemA < itemB;
794
- }),
796
+ }, true),
795
797
  lte: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
796
798
  return itemA <= itemB;
797
- }),
799
+ }, true),
798
800
  }];
799
801
  });
800
802
  }); },
801
803
  };
802
804
 
803
- var _a$3;
804
- var primitives$4 = (_a$3 = {},
805
- _a$3[calc.name] = calc,
806
- _a$3[lessThan.name] = lessThan,
807
- _a$3[greaterThan.name] = greaterThan,
808
- _a$3);
805
+ var _a$4;
806
+ var primitives$5 = (_a$4 = {},
807
+ _a$4[calc.name] = calc,
808
+ _a$4[lessThan.name] = lessThan,
809
+ _a$4[greaterThan.name] = greaterThan,
810
+ _a$4);
809
811
 
810
812
  var filterList = {
811
813
  name: "filterList",
812
814
  label: "Filter List",
813
- description: "filters the list by a boolean value",
815
+ description: "Filters the list by a boolean value",
814
816
  inputs: {
815
817
  list: "any",
816
818
  keep: "boolean",
@@ -821,7 +823,7 @@ var filterList = {
821
823
  impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
822
824
  return __generator(this, function (_a) {
823
825
  return [2 /*return*/, {
824
- list: binaryOnTreeBranch(inputs.list, inputs.keep, function (branchA, branchB) {
826
+ list: binaryOnTreeBranch(inputs.list || {}, inputs.keep || {}, function (branchA, branchB) {
825
827
  return branchA.filter(function (item, index) {
826
828
  return (branchB[Math.min(index, branchB.length - 1)] ===
827
829
  true);
@@ -832,10 +834,10 @@ var filterList = {
832
834
  }); },
833
835
  };
834
836
 
835
- var graftTree = {
836
- name: "graftTree",
837
- label: "Graft Tree",
838
- description: "Creates a new branch for each item in the existing tree branches",
837
+ var splitGroup = {
838
+ name: "splitGroup",
839
+ label: "Split Group",
840
+ description: "Splits every item of a group into its own group",
839
841
  inputs: {
840
842
  tree: "any",
841
843
  },
@@ -845,7 +847,7 @@ var graftTree = {
845
847
  impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
846
848
  return __generator(this, function (_a) {
847
849
  return [2 /*return*/, {
848
- tree: graftTree$1(inputs.tree),
850
+ tree: graftTree(inputs.tree),
849
851
  }];
850
852
  });
851
853
  }); },
@@ -905,15 +907,15 @@ var listLength = {
905
907
  }); },
906
908
  };
907
909
 
908
- var trimTree = {
909
- name: "trimTree",
910
- label: "Trim Tree",
911
- description: "Reduce the complexity of a tree by merging the outermost branches.",
910
+ var mergeGroup = {
911
+ name: "mergeGroup",
912
+ label: "Merge Group",
913
+ description: "Merge the deepest groups into their parent.",
912
914
  inputs: {
913
915
  tree: "any",
914
916
  },
915
917
  params: {
916
- depth: "number", // Optional depth to trim the tree
918
+ depth: { type: "number", default: 1 }, // Optional depth to trim the tree
917
919
  },
918
920
  outputs: {
919
921
  tree: "any", // Return the trimed nodes
@@ -924,20 +926,20 @@ var trimTree = {
924
926
  return __generator(this, function (_b) {
925
927
  depth = (_a = params.depth) !== null && _a !== void 0 ? _a : 1;
926
928
  return [2 /*return*/, {
927
- tree: trimTree$1(inputs.tree, depth),
929
+ tree: trimTree(inputs.tree, depth),
928
930
  }];
929
931
  });
930
932
  }); },
931
933
  };
932
934
 
933
- var _a$2;
934
- var primitives$3 = (_a$2 = {},
935
- _a$2[graftTree.name] = graftTree,
936
- _a$2[trimTree.name] = trimTree,
937
- _a$2[listItem.name] = listItem,
938
- _a$2[listLength.name] = listLength,
939
- _a$2[filterList.name] = filterList,
940
- _a$2);
935
+ var _a$3;
936
+ var primitives$4 = (_a$3 = {},
937
+ _a$3[splitGroup.name] = splitGroup,
938
+ _a$3[mergeGroup.name] = mergeGroup,
939
+ _a$3[listItem.name] = listItem,
940
+ _a$3[listLength.name] = listLength,
941
+ _a$3[filterList.name] = filterList,
942
+ _a$3);
941
943
 
942
944
  var series = {
943
945
  name: "series",
@@ -955,9 +957,9 @@ var series = {
955
957
  return __generator(this, function (_a) {
956
958
  return [2 /*return*/, {
957
959
  series: nAryOnTreeBranch([
958
- graftTree$1(inputs.start),
959
- graftTree$1(inputs.step),
960
- graftTree$1(inputs.count),
960
+ graftTree(inputs.start),
961
+ graftTree(inputs.step),
962
+ graftTree(inputs.count),
961
963
  ], function (_a) {
962
964
  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;
963
965
  var series = [];
@@ -971,10 +973,10 @@ var series = {
971
973
  }); },
972
974
  };
973
975
 
974
- var _a$1;
975
- var primitives$2 = (_a$1 = {},
976
- _a$1[series.name] = series,
977
- _a$1);
976
+ var _a$2;
977
+ var primitives$3 = (_a$2 = {},
978
+ _a$2[series.name] = series,
979
+ _a$2);
978
980
 
979
981
  var mergeTree = {
980
982
  name: "mergeTree",
@@ -1005,12 +1007,60 @@ var mergeTree = {
1005
1007
  }); },
1006
1008
  };
1007
1009
 
1010
+ var _a$1;
1011
+ var primitives$2 = (_a$1 = {},
1012
+ _a$1[mergeTree.name] = mergeTree,
1013
+ _a$1);
1014
+
1015
+ var groupAnd = {
1016
+ name: "groupAnd",
1017
+ label: "Group and",
1018
+ description: "Returns true if all of the items in a group are true",
1019
+ inputs: {
1020
+ tree: "boolean",
1021
+ },
1022
+ outputs: {
1023
+ result: "boolean",
1024
+ },
1025
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
1026
+ return __generator(this, function (_a) {
1027
+ return [2 /*return*/, {
1028
+ result: mapTreeBranch(inputs.tree, function (branch) {
1029
+ return [branch.reduce(function (acc, val) { return acc && val; }, true)];
1030
+ }),
1031
+ }];
1032
+ });
1033
+ }); },
1034
+ };
1035
+
1036
+ var groupOr = {
1037
+ name: "groupOr",
1038
+ label: "Group or",
1039
+ description: "Returns true if any of the items in a group are true",
1040
+ inputs: {
1041
+ tree: "boolean",
1042
+ },
1043
+ outputs: {
1044
+ result: "boolean",
1045
+ },
1046
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
1047
+ return __generator(this, function (_a) {
1048
+ return [2 /*return*/, {
1049
+ result: mapTreeBranch(inputs.tree, function (branch) {
1050
+ return [branch.reduce(function (acc, val) { return acc || val; }, false)];
1051
+ }),
1052
+ }];
1053
+ });
1054
+ }); },
1055
+ };
1056
+
1008
1057
  var _a;
1009
1058
  var primitives$1 = (_a = {},
1010
- _a[mergeTree.name] = mergeTree,
1059
+ _a[groupAnd.name] = groupAnd,
1060
+ _a[groupOr.name] = groupOr,
1011
1061
  _a);
1012
1062
 
1013
- var primitives = __assign(__assign(__assign(__assign(__assign({}, primitives$5), primitives$4), primitives$3), primitives$2), primitives$1);
1063
+ var primitives = __assign(__assign(__assign(__assign(__assign(__assign({}, primitives$6), primitives$5), primitives$4), primitives$3), primitives$2), primitives$1);
1014
1064
 
1015
1065
  function isPrimitive(node) {
1016
1066
  return node.impl !== undefined;
@@ -1168,11 +1218,11 @@ var Engine = /** @class */ (function () {
1168
1218
  params: params_1,
1169
1219
  executionId: executionId,
1170
1220
  context: context,
1221
+ result: result_1,
1171
1222
  startTime: startTime_1,
1172
1223
  endTime: endTime_1,
1173
1224
  duration: endTime_1 - startTime_1,
1174
1225
  });
1175
- console.log("functionReult", name_1, inputs_1, params_1, result_1);
1176
1226
  _e.label = 4;
1177
1227
  case 4:
1178
1228
  _i++;
@@ -1187,11 +1237,12 @@ var Engine = /** @class */ (function () {
1187
1237
  params: params,
1188
1238
  executionId: executionId,
1189
1239
  context: context,
1240
+ result: result,
1190
1241
  startTime: startTime,
1191
1242
  endTime: endTime,
1192
1243
  duration: endTime - startTime,
1193
1244
  });
1194
- console.log("graph run done", result, context, endTime - startTime);
1245
+ // console.log("graph run done", result, context, endTime - startTime);
1195
1246
  return [2 /*return*/, result];
1196
1247
  }
1197
1248
  });
@@ -1431,11 +1482,11 @@ function Control(_a) {
1431
1482
  }
1432
1483
  }
1433
1484
 
1434
- var styles = {"DefaultNode":"DefaultNode_R2P6c","selected":"selected_VmB-F","active":"active_zjUzx","Log":"Log_dsq5e","Label":"Label_wBwWA","Input":"Input_Yhvzf","Output":"Output_e4yF-","Table":"Table_aZyRT"};
1485
+ var styles = {"DefaultNode":"DefaultNode_R2P6c","selected":"selected_VmB-F","active":"active_zjUzx","Log":"Log_dsq5e","Label":"Label_wBwWA","Description":"Description_f9s4l","Input":"Input_Yhvzf","Output":"Output_e4yF-","PreviewHead":"PreviewHead_oFT4K","expanded":"expanded_3vnbi","Preview":"Preview_HbkZ6","Duration":"Duration_0jqWx","Table":"Table_aZyRT","GroupHead":"GroupHead_QJhST","GroupChildren":"GroupChildren_NKx-B","GroupLeaf":"GroupLeaf_eliT8"};
1435
1486
 
1436
1487
  var Input = function (_a) {
1437
1488
  var _b;
1438
- var name = _a.name, varDef = _a.varDef, id = _a.id, data = _a.data;
1489
+ var name = _a.name, varDef = _a.varDef, id = _a.id, data = _a.data, onClick = _a.onClick;
1439
1490
  var normalized = normalizeVarDef(varDef);
1440
1491
  var value = (_b = data.inputs) === null || _b === void 0 ? void 0 : _b[name];
1441
1492
  var isRef = isReference(value);
@@ -1447,16 +1498,16 @@ var Input = function (_a) {
1447
1498
  }; };
1448
1499
  return (React.createElement("tr", { key: name, className: classNames(styles.Input, styles["type-".concat(normalized.type)]), style: {
1449
1500
  "--type-color": "var(--color-".concat(normalized.type, ")"),
1450
- } },
1501
+ }, onClick: onClick },
1451
1502
  React.createElement("td", null,
1452
- varDef.label || name,
1503
+ normalized.label || name,
1453
1504
  React.createElement(react.Handle, { type: "target", position: react.Position.Left, id: "".concat(id, "-").concat(name) })),
1454
1505
  React.createElement("td", null, !isRef && (React.createElement(Control, { type: normalized.type, value: value, onChange: handleInputChange(name) })))));
1455
1506
  };
1456
1507
 
1457
1508
  var Param = function (_a) {
1458
1509
  var _b;
1459
- _a.id; var name = _a.name, varDef = _a.varDef, data = _a.data;
1510
+ _a.id; var name = _a.name, varDef = _a.varDef, data = _a.data, onClick = _a.onClick;
1460
1511
  var normalized = normalizeVarDef(varDef);
1461
1512
  var value = (_b = data.params) === null || _b === void 0 ? void 0 : _b[name];
1462
1513
  var isRef = isReference(value);
@@ -1468,19 +1519,20 @@ var Param = function (_a) {
1468
1519
  }; };
1469
1520
  return (React.createElement("tr", { key: name, className: classNames(styles.Input, styles["type-".concat(normalized.type)]), style: {
1470
1521
  "--type-color": "var(--color-".concat(normalized.type, ")"),
1471
- } },
1472
- React.createElement("td", null, varDef.label || name),
1522
+ }, onClick: onClick },
1523
+ React.createElement("td", null, normalized.label || name),
1473
1524
  React.createElement("td", null, !isRef && (React.createElement(Control, { type: normalized.type, options: normalized.options, value: value, onChange: handleParamChange(name) })))));
1474
1525
  };
1475
1526
 
1476
1527
  var Output = function (_a) {
1477
- var name = _a.name, varDef = _a.varDef, id = _a.id;
1528
+ var name = _a.name, varDef = _a.varDef, id = _a.id, onClick = _a.onClick, focus = _a.focus;
1478
1529
  var normalized = normalizeVarDef(varDef);
1479
1530
  return (React.createElement("tr", { key: name, className: classNames(styles.Output, styles["type-".concat(normalized.type)]), style: {
1480
1531
  "--type-color": "var(--color-".concat(normalized.type, ")"),
1481
- } },
1532
+ }, onClick: onClick },
1482
1533
  React.createElement("td", { colSpan: 2 },
1483
- varDef.label || name,
1534
+ focus && "👁 ",
1535
+ normalized.label || name,
1484
1536
  React.createElement(react.Handle, { type: "source", position: react.Position.Right, id: "".concat(id, "-").concat(name) }))));
1485
1537
  };
1486
1538
 
@@ -1523,24 +1575,116 @@ function NodeContainer(_a) {
1523
1575
  children));
1524
1576
  }
1525
1577
 
1578
+ function createTreeStructure(tree) {
1579
+ var keys = Object.keys(tree);
1580
+ var structure = [];
1581
+ keys.forEach(function (key) {
1582
+ var path = key.split(";");
1583
+ var parent = structure;
1584
+ for (var i = 0; i < path.length; i++) {
1585
+ var part = parseInt(path[i], 10);
1586
+ if (!parent[part]) {
1587
+ parent[part] = [];
1588
+ }
1589
+ parent = parent[part];
1590
+ }
1591
+ parent.push({ items: tree[key] });
1592
+ });
1593
+ return structure;
1594
+ }
1595
+ function TreeBranchView(_a) {
1596
+ var branch = _a.branch, name = _a.name;
1597
+ return (React.createElement("div", null,
1598
+ React.createElement("div", { className: styles.GroupHead },
1599
+ React.createElement("span", null,
1600
+ "group ",
1601
+ name)),
1602
+ React.createElement("div", { className: styles.GroupChildren }, branch.map(function (item, index) {
1603
+ // sub branch
1604
+ if (Array.isArray(item)) {
1605
+ return (React.createElement(TreeBranchView, { key: index, branch: item, name: "".concat(name, ";").concat(index) }));
1606
+ }
1607
+ // items
1608
+ return (React.createElement("div", { key: index }, item.items.map(function (it, i) {
1609
+ var _a;
1610
+ var label = (_a = it === null || it === void 0 ? void 0 : it.toString) === null || _a === void 0 ? void 0 : _a.call(it);
1611
+ if (label === "[object Object]") {
1612
+ label = "{...}";
1613
+ }
1614
+ return (React.createElement("div", { key: i, className: styles.GroupLeaf, title: JSON.stringify(it, null, 2) }, label));
1615
+ })));
1616
+ }))));
1617
+ }
1618
+ function TreeView(_a) {
1619
+ var value = _a.value;
1620
+ var structure = createTreeStructure(value || {});
1621
+ return (React.createElement("div", null, structure.map(function (branch, index) { return (React.createElement(TreeBranchView, { key: index, branch: branch, name: index })); })));
1622
+ }
1623
+ var Log = React.memo(function (_a) {
1624
+ var id = _a.id, data = _a.data, selected = _a.selected;
1625
+ var engine = useEngine();
1626
+ var _b = __read(React.useState(null), 2), value = _b[0], setValue = _b[1];
1627
+ React.useEffect(function () {
1628
+ return engine.subscribe("functionResult", function (event) {
1629
+ var _a;
1630
+ if (event.name === id) {
1631
+ setValue(((_a = event.context.scope[id]) === null || _a === void 0 ? void 0 : _a.data) || null);
1632
+ }
1633
+ });
1634
+ }, []);
1635
+ return (React.createElement(NodeContainer, { id: id, label: data.name, selected: selected, className: styles.Log },
1636
+ React.createElement(TreeView, { value: value }),
1637
+ React.createElement(react.Handle, { type: "target", position: react.Position.Left, id: "".concat(id, "-data") }),
1638
+ React.createElement(react.Handle, { type: "source", position: react.Position.Right, id: "".concat(id, "-data") })));
1639
+ });
1640
+ Log.displayName = "LogNode";
1641
+
1526
1642
  function GenericNode(_a) {
1643
+ var _b;
1644
+ var _c;
1527
1645
  var id = _a.id, data = _a.data, selected = _a.selected, inputs = _a.inputs, outputs = _a.outputs, params = _a.params, children = _a.children;
1528
- return (React.createElement(NodeContainer, { label: data.name, selected: selected, id: id },
1646
+ var inputEntries = Object.entries(inputs || data.inputDefs || {});
1647
+ var outputEntries = Object.entries(outputs || data.outputDefs || {});
1648
+ var paramEntries = Object.entries(params || data.paramDefs || {});
1649
+ var engine = useEngine();
1650
+ var _d = __read(React.useState({}), 2), result = _d[0], setResult = _d[1];
1651
+ var _e = __read(React.useState(null), 2), duration = _e[0], setDuration = _e[1];
1652
+ var _f = __read(React.useState(((_c = outputEntries[0]) === null || _c === void 0 ? void 0 : _c[0]) || null), 2), focus = _f[0], setFocus = _f[1];
1653
+ var _g = __read(React.useState(false), 2), showPreview = _g[0], setShowPreview = _g[1];
1654
+ var previewValue = focus ? result[focus] : Object.values(result)[0];
1655
+ React.useEffect(function () {
1656
+ return engine.subscribe("functionResult", function (event) {
1657
+ if (event.name === id) {
1658
+ setResult(event.result || {});
1659
+ setDuration(event.duration || null);
1660
+ }
1661
+ });
1662
+ }, []);
1663
+ return (React.createElement(NodeContainer, { label: data.label, selected: selected, id: id },
1664
+ React.createElement("div", { className: styles.Description }, data.description),
1529
1665
  children,
1530
1666
  React.createElement("table", null,
1531
1667
  React.createElement("tbody", null,
1532
- Object.entries(outputs || data.outputDefs || {}).map(function (_a) {
1668
+ outputEntries.map(function (_a) {
1533
1669
  var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
1534
- return (React.createElement(Output, { key: name, name: name, varDef: varDef, id: id }));
1670
+ return (React.createElement(Output, { key: name, name: name, varDef: varDef, id: id, onClick: function () { return setFocus(name); }, focus: showPreview && focus === name }));
1535
1671
  }),
1536
- Object.entries(inputs || data.inputDefs || {}).map(function (_a) {
1672
+ inputEntries.map(function (_a) {
1537
1673
  var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
1538
1674
  return (React.createElement(Input, { key: name, name: name, varDef: varDef, id: id, data: data }));
1539
1675
  }),
1540
- Object.entries(params || data.paramDefs || {}).map(function (_a) {
1676
+ paramEntries.map(function (_a) {
1541
1677
  var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
1542
1678
  return (React.createElement(Param, { key: name, name: name, varDef: varDef, id: id, data: data }));
1543
- })))));
1679
+ }))),
1680
+ React.createElement("div", { className: classNames(styles.PreviewHead, (_b = {},
1681
+ _b[styles.expanded] = showPreview,
1682
+ _b)), onClick: function () { return setShowPreview(!showPreview); } }, "Preview"),
1683
+ showPreview && (React.createElement("div", { className: styles.Preview },
1684
+ React.createElement(TreeView, { value: previewValue }),
1685
+ duration && (React.createElement("div", { className: styles.Duration },
1686
+ duration.toFixed(2),
1687
+ " ms"))))));
1544
1688
  }
1545
1689
 
1546
1690
  var math = mathjs.create(mathjs.all, {});
@@ -1584,38 +1728,6 @@ var Default = React.memo(function (_a) {
1584
1728
  });
1585
1729
  Default.displayName = "DefaultNode";
1586
1730
 
1587
- var Log = React.memo(function (_a) {
1588
- var id = _a.id, data = _a.data, selected = _a.selected;
1589
- var engine = useEngine();
1590
- var _b = __read(React.useState(null), 2), value = _b[0], setValue = _b[1];
1591
- React.useEffect(function () {
1592
- return engine.subscribe("functionResult", function (event) {
1593
- var _a;
1594
- if (event.name === id) {
1595
- setValue(((_a = event.context.scope[id]) === null || _a === void 0 ? void 0 : _a.data) || null);
1596
- }
1597
- });
1598
- }, []);
1599
- return (React.createElement(NodeContainer, { id: id, label: data.name, selected: selected, className: styles.Log },
1600
- React.createElement("div", { className: styles.Table },
1601
- React.createElement("table", null, Object.entries(value || {}).map(function (_a) {
1602
- var _b = __read(_a, 2), key = _b[0], val = _b[1];
1603
- return (React.createElement(React.Fragment, { key: key },
1604
- React.createElement("tbody", null,
1605
- React.createElement("tr", null,
1606
- React.createElement("th", { colSpan: 2 }, "{".concat(key, "}"))),
1607
- val.map(function (item, index) {
1608
- var _a;
1609
- return (React.createElement("tr", { key: "".concat(key, "-").concat(index) },
1610
- React.createElement("td", null, index),
1611
- React.createElement("td", { title: JSON.stringify(item, null, 2) }, (_a = item === null || item === void 0 ? void 0 : item.toString) === null || _a === void 0 ? void 0 : _a.call(item))));
1612
- }))));
1613
- }))),
1614
- React.createElement(react.Handle, { type: "target", position: react.Position.Left, id: "".concat(id, "-data") }),
1615
- React.createElement(react.Handle, { type: "source", position: react.Position.Right, id: "".concat(id, "-data") })));
1616
- });
1617
- Log.displayName = "LogNode";
1618
-
1619
1731
  function uid() {
1620
1732
  return Math.random().toString(36).substring(2, 15);
1621
1733
  }
@@ -1827,6 +1939,8 @@ function createNode(engine, id, fncall, options) {
1827
1939
  id: id,
1828
1940
  data: {
1829
1941
  name: fncall.name,
1942
+ label: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.label) || fncall.name,
1943
+ description: calledFn === null || calledFn === void 0 ? void 0 : calledFn.description,
1830
1944
  inputs: fncall.inputs,
1831
1945
  params: fncall.params,
1832
1946
  inputDefs: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.inputs) || {},
@@ -1959,7 +2073,7 @@ function FlowInner(_a) {
1959
2073
  }, []);
1960
2074
  return (React.createElement(react.ReactFlow, { ref: drop, nodes: nodes, edges: edges, nodeTypes: nodeTypes, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, onNodesDelete: onNodesDelete, onEdgesDelete: onEdgesDelete, onNodeDragStop: function (e, n) { return updatePosition(n.id, n.position); }, onConnect: onConnect, onInit: setInstance, onPaneClick: handleClick, fitView: true,
1961
2075
  // panOnDrag={false}
1962
- selectionOnDrag: true, minZoom: 0.1, deleteKeyCode: "Delete" },
2076
+ selectionOnDrag: true, minZoom: 0.1, maxZoom: 4, deleteKeyCode: "Delete" },
1963
2077
  React.createElement(react.Background, { color: "#ccc", variant: react.BackgroundVariant.Dots }),
1964
2078
  React.createElement(react.Controls, null)));
1965
2079
  }
@@ -2030,7 +2144,7 @@ exports.expandTree = expandTree;
2030
2144
  exports.getBranch = getBranch;
2031
2145
  exports.getReferences = getReferences;
2032
2146
  exports.getValue = getValue$1;
2033
- exports.graftTree = graftTree$1;
2147
+ exports.graftTree = graftTree;
2034
2148
  exports.interpolate = interpolate;
2035
2149
  exports.isReference = isReference;
2036
2150
  exports.isSingleTon = isSingleTon;
@@ -2047,7 +2161,7 @@ exports.simplifyTree = simplifyTree;
2047
2161
  exports.toArray = toArray;
2048
2162
  exports.topSort = topSort;
2049
2163
  exports.treeSize = treeSize;
2050
- exports.trimTree = trimTree$1;
2164
+ exports.trimTree = trimTree;
2051
2165
  exports.uid = uid$1;
2052
2166
  exports.useDraggableNode = useDraggableNode;
2053
2167
  exports.useFlow = useFlow;