@rkmodules/rules 0.0.116 → 0.0.118

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.cjs.js CHANGED
@@ -767,13 +767,13 @@ var value = {
767
767
  }); },
768
768
  };
769
769
 
770
- var _a$8;
771
- var primitives$8 = (_a$8 = {},
772
- _a$8[getValue.name] = getValue,
773
- _a$8[log.name] = log,
774
- _a$8[value.name] = value,
775
- _a$8[getType.name] = getType,
776
- _a$8);
770
+ var _a$9;
771
+ var primitives$9 = (_a$9 = {},
772
+ _a$9[getValue.name] = getValue,
773
+ _a$9[log.name] = log,
774
+ _a$9[value.name] = value,
775
+ _a$9[getType.name] = getType,
776
+ _a$9);
777
777
 
778
778
  function isNumber() {
779
779
  var ns = [];
@@ -1384,27 +1384,27 @@ var sum = {
1384
1384
  }); },
1385
1385
  };
1386
1386
 
1387
- var _a$7;
1388
- var primitives$7 = (_a$7 = {},
1389
- _a$7[calc.name] = calc,
1390
- _a$7[equalTo.name] = equalTo,
1391
- _a$7[lessThan.name] = lessThan,
1392
- _a$7[greaterThan.name] = greaterThan,
1393
- _a$7[add$1.name] = add$1,
1394
- _a$7[subtract$1.name] = subtract$1,
1395
- _a$7[multiply.name] = multiply,
1396
- _a$7[divide.name] = divide,
1397
- _a$7[modulo.name] = modulo,
1398
- _a$7[sinDeg.name] = sinDeg,
1399
- _a$7[cosDeg.name] = cosDeg,
1400
- _a$7[tanDeg.name] = tanDeg,
1401
- _a$7[sqrt.name] = sqrt,
1402
- _a$7[pow.name] = pow,
1403
- _a$7[round.name] = round,
1404
- _a$7[ceil.name] = ceil,
1405
- _a$7[floor.name] = floor,
1406
- _a$7[sum.name] = sum,
1407
- _a$7);
1387
+ var _a$8;
1388
+ var primitives$8 = (_a$8 = {},
1389
+ _a$8[calc.name] = calc,
1390
+ _a$8[equalTo.name] = equalTo,
1391
+ _a$8[lessThan.name] = lessThan,
1392
+ _a$8[greaterThan.name] = greaterThan,
1393
+ _a$8[add$1.name] = add$1,
1394
+ _a$8[subtract$1.name] = subtract$1,
1395
+ _a$8[multiply.name] = multiply,
1396
+ _a$8[divide.name] = divide,
1397
+ _a$8[modulo.name] = modulo,
1398
+ _a$8[sinDeg.name] = sinDeg,
1399
+ _a$8[cosDeg.name] = cosDeg,
1400
+ _a$8[tanDeg.name] = tanDeg,
1401
+ _a$8[sqrt.name] = sqrt,
1402
+ _a$8[pow.name] = pow,
1403
+ _a$8[round.name] = round,
1404
+ _a$8[ceil.name] = ceil,
1405
+ _a$8[floor.name] = floor,
1406
+ _a$8[sum.name] = sum,
1407
+ _a$8);
1408
1408
 
1409
1409
  var joinStrings = {
1410
1410
  name: "joinStrings",
@@ -1483,12 +1483,12 @@ var toString = {
1483
1483
  }); },
1484
1484
  };
1485
1485
 
1486
- var _a$6;
1487
- var primitives$6 = (_a$6 = {},
1488
- _a$6[toString.name] = toString,
1489
- _a$6[joinStrings.name] = joinStrings,
1490
- _a$6[stringEqualTo.name] = stringEqualTo,
1491
- _a$6);
1486
+ var _a$7;
1487
+ var primitives$7 = (_a$7 = {},
1488
+ _a$7[toString.name] = toString,
1489
+ _a$7[joinStrings.name] = joinStrings,
1490
+ _a$7[stringEqualTo.name] = stringEqualTo,
1491
+ _a$7);
1492
1492
 
1493
1493
  var filterList = {
1494
1494
  name: "filterList",
@@ -1720,43 +1720,47 @@ var listInput = {
1720
1720
  },
1721
1721
  outputs: {
1722
1722
  tree: "string",
1723
+ array: "array",
1723
1724
  },
1724
1725
  impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
1726
+ var tree;
1725
1727
  return __generator(this, function (_a) {
1728
+ tree = mapTreeBranch(inputs.list || {}, function (branch) {
1729
+ if (!branch || branch.length === 0)
1730
+ return DISCARD;
1731
+ var allLines = branch.flatMap(function (text) {
1732
+ return text.replace(/(^[\n\r]+)|([\n\r]+$)/, "").split("\n");
1733
+ });
1734
+ if (allLines.every(function (line) { return isBoolStr(line); })) {
1735
+ allLines = allLines.map(function (line) { return line.toLowerCase() === "true"; });
1736
+ }
1737
+ else if (allLines.every(function (line) { return isNumStr(line); })) {
1738
+ allLines = allLines.map(function (line) {
1739
+ if (!line)
1740
+ return undefined;
1741
+ return Number(line);
1742
+ });
1743
+ }
1744
+ return allLines;
1745
+ });
1726
1746
  return [2 /*return*/, {
1727
- tree: mapTreeBranch(inputs.list || {}, function (branch) {
1728
- if (!branch || branch.length === 0)
1729
- return DISCARD;
1730
- var allLines = branch.flatMap(function (text) {
1731
- return text.replace(/(^[\n\r]+)|([\n\r]+$)/, "").split("\n");
1732
- });
1733
- if (allLines.every(function (line) { return isBoolStr(line); })) {
1734
- allLines = allLines.map(function (line) { return line.toLowerCase() === "true"; });
1735
- }
1736
- else if (allLines.every(function (line) { return isNumStr(line); })) {
1737
- allLines = allLines.map(function (line) {
1738
- if (!line)
1739
- return undefined;
1740
- return Number(line);
1741
- });
1742
- }
1743
- return allLines;
1744
- }),
1747
+ tree: tree,
1748
+ array: mapTreeBranch(tree, function (branch) { return [branch]; }),
1745
1749
  }];
1746
1750
  });
1747
1751
  }); },
1748
1752
  };
1749
1753
 
1750
- var _a$5;
1751
- var primitives$5 = (_a$5 = {},
1752
- _a$5[listInput.name] = listInput,
1753
- _a$5[listItem.name] = listItem,
1754
- _a$5[listLength.name] = listLength,
1755
- _a$5[filterList.name] = filterList,
1756
- _a$5[relativeItem.name] = relativeItem,
1757
- _a$5[relativeItems.name] = relativeItems,
1758
- _a$5[concat.name] = concat,
1759
- _a$5);
1754
+ var _a$6;
1755
+ var primitives$6 = (_a$6 = {},
1756
+ _a$6[listInput.name] = listInput,
1757
+ _a$6[listItem.name] = listItem,
1758
+ _a$6[listLength.name] = listLength,
1759
+ _a$6[filterList.name] = filterList,
1760
+ _a$6[relativeItem.name] = relativeItem,
1761
+ _a$6[relativeItems.name] = relativeItems,
1762
+ _a$6[concat.name] = concat,
1763
+ _a$6);
1760
1764
 
1761
1765
  var splitGroup = {
1762
1766
  name: "splitGroup",
@@ -1844,8 +1848,8 @@ var cartesianGroups = {
1844
1848
  var mergeTree = {
1845
1849
  name: "mergeTree",
1846
1850
  label: "Merge Tree",
1847
- description: "Merge multiple trees into a single tree.",
1848
- nodeType: "Merge",
1851
+ description: "Merge groups with the same index into a single tree.",
1852
+ nodeType: "DynamicInput",
1849
1853
  inputs: {},
1850
1854
  outputs: {
1851
1855
  result: "any",
@@ -1854,14 +1858,13 @@ var mergeTree = {
1854
1858
  var result;
1855
1859
  return __generator(this, function (_a) {
1856
1860
  result = {};
1857
- Object.values(inputs).forEach(function (input) {
1858
- Object.entries(input).forEach(function (_a) {
1859
- var _b = __read(_a, 2), key = _b[0], value = _b[1];
1860
- if (!result[key]) {
1861
- result[key] = value;
1861
+ Object.values(inputs).forEach(function (tree) {
1862
+ forEachBranch(tree, function (branch, path) {
1863
+ if (!result[path]) {
1864
+ result[path] = branch;
1862
1865
  }
1863
1866
  else {
1864
- result[key] = __spreadArray(__spreadArray([], __read(result[key]), false), __read(value), false);
1867
+ result[path] = __spreadArray(__spreadArray([], __read(result[path]), false), __read(branch), false);
1865
1868
  }
1866
1869
  });
1867
1870
  });
@@ -2019,18 +2022,18 @@ var treeItem = {
2019
2022
  }); },
2020
2023
  };
2021
2024
 
2022
- var _a$4;
2023
- var primitives$4 = (_a$4 = {},
2024
- _a$4[splitGroup.name] = splitGroup,
2025
- _a$4[mergeGroup.name] = mergeGroup,
2026
- _a$4[groupAll.name] = groupAll,
2027
- _a$4[filterTree.name] = filterTree,
2028
- _a$4[treeItem.name] = treeItem,
2029
- _a$4[simplifyTree.name] = simplifyTree,
2030
- _a$4[normalizeTree.name] = normalizeTree,
2031
- _a$4[cartesianGroups.name] = cartesianGroups,
2032
- _a$4[mergeTree.name] = mergeTree,
2033
- _a$4);
2025
+ var _a$5;
2026
+ var primitives$5 = (_a$5 = {},
2027
+ _a$5[splitGroup.name] = splitGroup,
2028
+ _a$5[mergeGroup.name] = mergeGroup,
2029
+ _a$5[groupAll.name] = groupAll,
2030
+ _a$5[filterTree.name] = filterTree,
2031
+ _a$5[treeItem.name] = treeItem,
2032
+ _a$5[simplifyTree.name] = simplifyTree,
2033
+ _a$5[normalizeTree.name] = normalizeTree,
2034
+ _a$5[cartesianGroups.name] = cartesianGroups,
2035
+ _a$5[mergeTree.name] = mergeTree,
2036
+ _a$5);
2034
2037
 
2035
2038
  var series = {
2036
2039
  name: "series",
@@ -2067,10 +2070,10 @@ var series = {
2067
2070
  }); },
2068
2071
  };
2069
2072
 
2070
- var _a$3;
2071
- var primitives$3 = (_a$3 = {},
2072
- _a$3[series.name] = series,
2073
- _a$3);
2073
+ var _a$4;
2074
+ var primitives$4 = (_a$4 = {},
2075
+ _a$4[series.name] = series,
2076
+ _a$4);
2074
2077
 
2075
2078
  var groupAnd = {
2076
2079
  name: "groupAnd",
@@ -2168,12 +2171,12 @@ var groupStats = {
2168
2171
  }); },
2169
2172
  };
2170
2173
 
2171
- var _a$2;
2172
- var primitives$2 = (_a$2 = {},
2173
- _a$2[groupAnd.name] = groupAnd,
2174
- _a$2[groupOr.name] = groupOr,
2175
- _a$2[groupStats.name] = groupStats,
2176
- _a$2);
2174
+ var _a$3;
2175
+ var primitives$3 = (_a$3 = {},
2176
+ _a$3[groupAnd.name] = groupAnd,
2177
+ _a$3[groupOr.name] = groupOr,
2178
+ _a$3[groupStats.name] = groupStats,
2179
+ _a$3);
2177
2180
 
2178
2181
  var inputs = {
2179
2182
  name: "inputs",
@@ -2203,14 +2206,134 @@ var output = {
2203
2206
  }); },
2204
2207
  };
2205
2208
 
2209
+ var _a$2;
2210
+ var primitives$2 = (_a$2 = {},
2211
+ _a$2[inputs.name] = inputs,
2212
+ _a$2[output.name] = output,
2213
+ _a$2);
2214
+
2215
+ var mergeObject = {
2216
+ name: "mergeObject",
2217
+ label: "Merge Object",
2218
+ description: "Merges objects in groups",
2219
+ nodeType: "DynamicInput",
2220
+ inputs: {},
2221
+ outputs: {
2222
+ object: "any",
2223
+ },
2224
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
2225
+ var object;
2226
+ return __generator(this, function (_a) {
2227
+ object = {};
2228
+ Object.values(inputs).forEach(function (tree) {
2229
+ forEachBranch(tree, function (branch, path) {
2230
+ if (!object[path]) {
2231
+ object[path] = [{}];
2232
+ }
2233
+ object[path] = [Object.assign.apply(Object, __spreadArray([object[path][0]], __read(branch), false))];
2234
+ });
2235
+ });
2236
+ return [2 /*return*/, {
2237
+ object: object,
2238
+ }];
2239
+ });
2240
+ }); },
2241
+ };
2242
+
2243
+ var object = {
2244
+ name: "object",
2245
+ label: "Object",
2246
+ description: "Creates an object",
2247
+ inputs: {
2248
+ key: "string",
2249
+ value: "string",
2250
+ },
2251
+ outputs: {
2252
+ object: "any",
2253
+ },
2254
+ impl: function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
2255
+ var pairs;
2256
+ var _c = _b.key, key = _c === void 0 ? {} : _c, _d = _b.value, value = _d === void 0 ? {} : _d;
2257
+ return __generator(this, function (_e) {
2258
+ pairs = binaryOnTree(key, value, function (k, v) {
2259
+ return [[k, v]];
2260
+ }, true);
2261
+ return [2 /*return*/, {
2262
+ object: mapTreeBranch(pairs, function (pairs) {
2263
+ return [Object.fromEntries(pairs)];
2264
+ }),
2265
+ }];
2266
+ });
2267
+ }); },
2268
+ };
2269
+
2270
+ var listToArray = {
2271
+ name: "listToArray",
2272
+ label: "To Array",
2273
+ description: "Converts each branch to an array",
2274
+ inputs: {
2275
+ items: "any",
2276
+ },
2277
+ outputs: {
2278
+ arrays: "any",
2279
+ },
2280
+ impl: function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
2281
+ var _c = _b.items, items = _c === void 0 ? {} : _c;
2282
+ return __generator(this, function (_d) {
2283
+ return [2 /*return*/, {
2284
+ arrays: mapTreeBranch(items, function (items) {
2285
+ return [items];
2286
+ }),
2287
+ }];
2288
+ });
2289
+ }); },
2290
+ };
2291
+
2292
+ var objectEntries = {
2293
+ name: "objectEntries",
2294
+ label: "Entries",
2295
+ description: "Gets keys and pairs of an object",
2296
+ inputs: {
2297
+ object: "any",
2298
+ },
2299
+ outputs: {
2300
+ keys: "string",
2301
+ values: "any",
2302
+ },
2303
+ impl: function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
2304
+ var keys, values;
2305
+ var _c = _b.object, object = _c === void 0 ? {} : _c;
2306
+ return __generator(this, function (_d) {
2307
+ keys = mapTree(object, function (obj) { return Object.keys(obj); });
2308
+ values = mapTree(object, function (obj) { return Object.values(obj); });
2309
+ return [2 /*return*/, {
2310
+ keys: keys,
2311
+ values: values,
2312
+ }];
2313
+ });
2314
+ }); },
2315
+ };
2316
+
2206
2317
  var _a$1;
2207
2318
  var primitives$1 = (_a$1 = {},
2208
- _a$1[inputs.name] = inputs,
2209
- _a$1[output.name] = output,
2319
+ _a$1[object.name] = object,
2320
+ _a$1[listToArray.name] = listToArray,
2321
+ _a$1[mergeObject.name] = mergeObject,
2322
+ _a$1[objectEntries.name] = objectEntries,
2210
2323
  _a$1);
2211
2324
 
2212
- var Lib = { Util: primitives$8, Math: primitives$7, String: primitives$6, List: primitives$5, Group: primitives$4, Sequence: primitives$3, Logic: primitives$2, IO: primitives$1 };
2213
- var primitives = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, primitives$1), primitives$8), primitives$7), primitives$6), primitives$5), primitives$4), primitives$3), primitives$2);
2325
+ var Lib = {
2326
+ Util: primitives$9,
2327
+ Math: primitives$8,
2328
+ String: primitives$7,
2329
+ List: primitives$6,
2330
+ Group: primitives$5,
2331
+ Sequence: primitives$4,
2332
+ Logic: primitives$3,
2333
+ IO: primitives$2,
2334
+ Json: primitives$1,
2335
+ };
2336
+ var primitives = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, primitives$2), primitives$9), primitives$8), primitives$7), primitives$6), primitives$5), primitives$4), primitives$3), primitives$1);
2214
2337
 
2215
2338
  function isPrimitive(node) {
2216
2339
  return node.impl !== undefined;
@@ -5986,54 +6109,17 @@ InputNode.displayName = "InputNode";
5986
6109
  function uid() {
5987
6110
  return Math.random().toString(36).substring(2, 15);
5988
6111
  }
5989
- var Merge = React.memo(function (_a) {
5990
- var _b;
5991
- var _c;
6112
+ var DynamicInput = React.memo(function (_a) {
5992
6113
  var id = _a.id, data = _a.data, selected = _a.selected;
5993
- var outputEntries = Object.entries(data.outputDefs || {});
5994
- var focus = (_c = outputEntries[0]) === null || _c === void 0 ? void 0 : _c[0];
5995
- var _d = __read(React.useState(false), 2), showPreview = _d[0], setShowPreview = _d[1];
5996
- var engine = useEngine();
5997
- var _e = __read(React.useState({}), 2), result = _e[0], setResult = _e[1];
5998
- var _f = __read(React.useState(null), 2), duration = _f[0], setDuration = _f[1];
5999
- var previewValue = focus ? result[focus] : Object.values(result)[0];
6000
- React.useEffect(function () {
6001
- return engine.subscribe("functionResult", function (event) {
6002
- var _a;
6003
- if (event.name === id) {
6004
- setResult(event.result || {});
6005
- setDuration((_a = event.duration) !== null && _a !== void 0 ? _a : null);
6006
- }
6007
- });
6008
- }, []);
6009
6114
  var inputs = Object.fromEntries(Object.keys(data.inputs || {}).map(function (name, i) { return [
6010
6115
  name,
6011
6116
  { type: "any", label: "D".concat(i + 1) },
6012
6117
  ]; }));
6013
6118
  var inputCount = Object.keys(inputs).length;
6014
6119
  inputs[uid()] = { type: "any", label: "D".concat(inputCount + 1) };
6015
- var outputs = __assign({}, (data.outputDefs || {}));
6016
- return (React.createElement(NodeContainer, { label: data.label, selected: selected, id: id },
6017
- React.createElement("div", { className: styles.Description }, data.description),
6018
- React.createElement("div", { className: styles.Ports },
6019
- Object.entries(outputs || {}).map(function (_a) {
6020
- var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
6021
- return (React.createElement(Output, { key: name, name: name, varDef: varDef, id: id }));
6022
- }),
6023
- Object.entries(inputs || {}).map(function (_a) {
6024
- var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
6025
- return (React.createElement(Input, { key: name, name: name, varDef: varDef, id: id, data: data }));
6026
- })),
6027
- React.createElement("div", { className: classNames(styles.PreviewHead, (_b = {},
6028
- _b[styles.expanded] = showPreview,
6029
- _b)), onClick: function () { return setShowPreview(!showPreview); } }, "Preview"),
6030
- showPreview && (React.createElement("div", { className: styles.Preview },
6031
- React.createElement(TreeView, { value: previewValue }),
6032
- duration !== null && (React.createElement("div", { className: styles.Duration },
6033
- duration.toFixed(2),
6034
- " ms"))))));
6120
+ return (React.createElement(GenericNode, { inputs: inputs, id: id, data: data, selected: selected }));
6035
6121
  });
6036
- Merge.displayName = "MergeNode";
6122
+ DynamicInput.displayName = "DynamicInputNode";
6037
6123
 
6038
6124
  /**
6039
6125
  * todo: create a factory for output component
@@ -6133,11 +6219,28 @@ var OutputNode = React.memo(function (_a) {
6133
6219
  });
6134
6220
  OutputNode.displayName = "OutputNode";
6135
6221
 
6222
+ var DynamicOutput = React.memo(function (_a) {
6223
+ var id = _a.id, data = _a.data, selected = _a.selected;
6224
+ var _b = __read(React.useState({}), 2), outputs = _b[0], setOutputs = _b[1];
6225
+ var engine = useEngine();
6226
+ React.useEffect(function () {
6227
+ return engine.subscribe("functionResult", function (event) {
6228
+ if (event.name === id) {
6229
+ var result = event.result || {};
6230
+ setOutputs(Object.fromEntries(Object.keys(result).map(function (name, i) { return [name, "any"]; })));
6231
+ }
6232
+ });
6233
+ }, []);
6234
+ return (React.createElement(GenericNode, { outputs: outputs, id: id, data: data, selected: selected }));
6235
+ });
6236
+ DynamicOutput.displayName = "DynamicOutputNode";
6237
+
6136
6238
  var nodeTypes = {
6137
6239
  Default: Default,
6138
6240
  Calc: Calc,
6139
6241
  Log: Log,
6140
- Merge: Merge,
6242
+ DynamicInput: DynamicInput,
6243
+ DynamicOutput: DynamicOutput,
6141
6244
  Input: InputNode,
6142
6245
  Output: OutputNode,
6143
6246
  };
@@ -7616,6 +7719,7 @@ exports.DDContext = DDContext;
7616
7719
  exports.DISCARD = DISCARD;
7617
7720
  exports.Engine = Engine;
7618
7721
  exports.Flow = Flow;
7722
+ exports.GenericNode = GenericNode;
7619
7723
  exports.Lib = Lib;
7620
7724
  exports.binaryOnTree = binaryOnTree;
7621
7725
  exports.binaryOnTreeBranch = binaryOnTreeBranch;