@rkmodules/rules 0.0.153 → 0.0.155

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.esm.js CHANGED
@@ -2387,7 +2387,9 @@ var inputs = {
2387
2387
  description: "Data input.",
2388
2388
  nodeType: "Input",
2389
2389
  inputs: {},
2390
- outputs: {},
2390
+ outputs: {
2391
+ // can be added by implementations
2392
+ },
2391
2393
  impl: function () { return __awaiter(void 0, void 0, void 0, function () {
2392
2394
  return __generator(this, function (_a) {
2393
2395
  return [2 /*return*/, {}];
@@ -2604,14 +2606,110 @@ var explodeObject = {
2604
2606
  }); },
2605
2607
  };
2606
2608
 
2609
+ var setField = {
2610
+ name: "setField",
2611
+ label: "Set Field",
2612
+ description: "Sets a field in an object to a specified value.",
2613
+ inputs: {
2614
+ object: "any",
2615
+ key: "string",
2616
+ value: "string",
2617
+ },
2618
+ params: {
2619
+ overwrite: { type: "boolean", default: true },
2620
+ },
2621
+ outputs: {
2622
+ object: "any",
2623
+ },
2624
+ impl: function (_a, _b) { return __awaiter(void 0, [_a, _b], void 0, function (_c, _d) {
2625
+ var newObject;
2626
+ var _e = _c.object, object = _e === void 0 ? {} : _e, _f = _c.key, key = _f === void 0 ? {} : _f, _g = _c.value, value = _g === void 0 ? {} : _g;
2627
+ var overwrite = _d.overwrite;
2628
+ return __generator(this, function (_h) {
2629
+ newObject = nAryOnTree([object, key, value], function (_a) {
2630
+ var _b = __read(_a, 3), o = _b[0], k = _b[1], v = _b[2];
2631
+ var newObj = __assign({}, o);
2632
+ if (newObj[k] !== undefined && !overwrite) {
2633
+ // If the key already exists and overwrite is false, return the original object
2634
+ return newObj;
2635
+ }
2636
+ if (k !== undefined) {
2637
+ newObj[k] = v;
2638
+ }
2639
+ return newObj;
2640
+ }, true);
2641
+ return [2 /*return*/, {
2642
+ object: newObject,
2643
+ }];
2644
+ });
2645
+ }); },
2646
+ };
2647
+
2648
+ var destructureObject = {
2649
+ name: "destructureObject",
2650
+ label: "Destructure Object",
2651
+ description: "Separates an object into a part with the specified fields and the rest",
2652
+ inputs: {
2653
+ object: "any",
2654
+ fields: { type: "string" },
2655
+ },
2656
+ params: {
2657
+ all: { type: "boolean", default: true, label: "all fields" },
2658
+ },
2659
+ outputs: {
2660
+ object: "any",
2661
+ exclusion: "any",
2662
+ },
2663
+ impl: function (_a, params_1) { return __awaiter(void 0, [_a, params_1], void 0, function (_b, params) {
2664
+ var split;
2665
+ var _c = _b.object, object = _c === void 0 ? {} : _c, _d = _b.fields, fields = _d === void 0 ? {} : _d;
2666
+ return __generator(this, function (_e) {
2667
+ if (params.all) {
2668
+ fields = mapTreeBranch(fields, function (items) {
2669
+ return [items];
2670
+ });
2671
+ }
2672
+ split = nAryOnTree([object, fields], function (_a) {
2673
+ var _b = __read(_a, 2), obj = _b[0], _c = _b[1], flds = _c === void 0 ? [] : _c;
2674
+ var newObj = {};
2675
+ var exclusion = {};
2676
+ if (typeof obj !== "object" || obj === null)
2677
+ return DISCARD;
2678
+ Object.entries(obj).forEach(function (_a) {
2679
+ var _b = __read(_a, 2), key = _b[0], value = _b[1];
2680
+ if (flds.includes(key)) {
2681
+ newObj[key] = value;
2682
+ }
2683
+ else {
2684
+ exclusion[key] = value;
2685
+ }
2686
+ });
2687
+ return [[newObj, exclusion]];
2688
+ }, true);
2689
+ return [2 /*return*/, {
2690
+ object: mapTree(split, function (_a) {
2691
+ var _b = __read(_a, 2), o = _b[0]; _b[1];
2692
+ return o;
2693
+ }),
2694
+ exclusion: mapTree(split, function (_a) {
2695
+ var _b = __read(_a, 2); _b[0]; var e = _b[1];
2696
+ return e;
2697
+ }),
2698
+ }];
2699
+ });
2700
+ }); },
2701
+ };
2702
+
2607
2703
  var _a$1;
2608
2704
  var primitives$1 = (_a$1 = {},
2609
2705
  _a$1[object.name] = object,
2706
+ _a$1[setField.name] = setField,
2610
2707
  _a$1[listToArray.name] = listToArray,
2611
2708
  _a$1[arrayToList.name] = arrayToList,
2612
2709
  _a$1[mergeObject.name] = mergeObject,
2613
2710
  _a$1[objectEntries.name] = objectEntries,
2614
2711
  _a$1[explodeObject.name] = explodeObject,
2712
+ _a$1[destructureObject.name] = destructureObject,
2615
2713
  _a$1);
2616
2714
 
2617
2715
  var INFERRED = "inferred";
@@ -6604,6 +6702,7 @@ var InputNode = React.memo(function (_a) {
6604
6702
  name,
6605
6703
  normalizeVarDef(fn.inputs[name]),
6606
6704
  ]; }));
6705
+ var outputEntries = Object.entries(data.outputDefs || {});
6607
6706
  var onRename = function (id, oldLabel) { return __awaiter(void 0, void 0, void 0, function () {
6608
6707
  var label;
6609
6708
  var _a;
@@ -6699,21 +6798,26 @@ var InputNode = React.memo(function (_a) {
6699
6798
  }); };
6700
6799
  return (React.createElement(NodeContainer, { label: data.label, selected: selected, id: id, noDelete: true },
6701
6800
  React.createElement("div", { className: styles.Description }, data.description),
6702
- React.createElement("div", { className: styles.Ports }, Object.entries(outputs || {}).map(function (_a) {
6703
- var _b = __read(_a, 2), name = _b[0], normalized = _b[1];
6704
- return (React.createElement(Handle, { key: name, type: "source", position: Position.Right, id: "".concat(id, "-").concat(name), className: classNames(styles$1.Output, styles$1.Port, styles$1["type-".concat(normalized.type)]), style: {
6705
- "--type-color": "var(--color-".concat(normalized.type, ")"),
6706
- gridColumn: "1/3",
6707
- } },
6708
- React.createElement(Menu, { handle: React.createElement("button", null, "...") },
6709
- React.createElement(MenuItem, { onClick: function () {
6710
- return onRename(name, normalized.label || name);
6711
- } }, "Rename"),
6712
- React.createElement(MenuItem, { onClick: function () { return onDelete(name); } }, "Delete"),
6713
- React.createElement(MenuItem, { onClick: function () { return onDefault(name); } }, "Set Default"),
6714
- React.createElement(MenuItem, { onClick: function () { return onType(name); } }, "Set Type")),
6715
- React.createElement("span", { className: styles$1.PortLabel }, normalized.label || name)));
6716
- })),
6801
+ React.createElement("div", { className: styles.Ports },
6802
+ outputEntries.map(function (_a, index) {
6803
+ var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
6804
+ return (React.createElement(Output, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id }));
6805
+ }),
6806
+ Object.entries(outputs || {}).map(function (_a) {
6807
+ var _b = __read(_a, 2), name = _b[0], normalized = _b[1];
6808
+ return (React.createElement(Handle, { key: name, type: "source", position: Position.Right, id: "".concat(id, "-").concat(name), className: classNames(styles$1.Output, styles$1.Port, styles$1["type-".concat(normalized.type)]), style: {
6809
+ "--type-color": "var(--color-".concat(normalized.type, ")"),
6810
+ gridColumn: "1/3",
6811
+ } },
6812
+ React.createElement(Menu, { handle: React.createElement("button", null, "...") },
6813
+ React.createElement(MenuItem, { onClick: function () {
6814
+ return onRename(name, normalized.label || name);
6815
+ } }, "Rename"),
6816
+ React.createElement(MenuItem, { onClick: function () { return onDelete(name); } }, "Delete"),
6817
+ React.createElement(MenuItem, { onClick: function () { return onDefault(name); } }, "Set Default"),
6818
+ React.createElement(MenuItem, { onClick: function () { return onType(name); } }, "Set Type")),
6819
+ React.createElement("span", { className: styles$1.PortLabel }, normalized.label || name)));
6820
+ })),
6717
6821
  React.createElement("div", { className: styles.Body },
6718
6822
  React.createElement("button", { onClick: function () { return onAdd(); } }, "+"))));
6719
6823
  });