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