@rkmodules/rules 0.0.108 → 0.0.110

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
@@ -1934,10 +1934,64 @@ var groupOr = {
1934
1934
  }); },
1935
1935
  };
1936
1936
 
1937
+ var groupStats = {
1938
+ name: "groupStats",
1939
+ label: "Group stats",
1940
+ description: "Returns statistics about a group of numbers",
1941
+ inputs: {
1942
+ tree: "number",
1943
+ },
1944
+ outputs: {
1945
+ min: "number",
1946
+ max: "number",
1947
+ avg: "number",
1948
+ std: "number",
1949
+ sum: "number",
1950
+ count: "number",
1951
+ },
1952
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
1953
+ var stats;
1954
+ return __generator(this, function (_a) {
1955
+ stats = mapTreeBranch(inputs.tree || {}, function (branch) {
1956
+ var min = Infinity;
1957
+ var max = -Infinity;
1958
+ var avg = 0;
1959
+ var std = 0;
1960
+ var variance = 0;
1961
+ var sum = 0;
1962
+ var count = branch.length;
1963
+ branch.forEach(function (val) {
1964
+ if (val < min)
1965
+ min = val;
1966
+ if (val > max)
1967
+ max = val;
1968
+ sum += val;
1969
+ avg += val / count;
1970
+ });
1971
+ branch.forEach(function (val) {
1972
+ variance += Math.pow((val - avg), 2) / count;
1973
+ });
1974
+ std = Math.sqrt(variance);
1975
+ return [{ min: min, max: max, avg: avg, std: std, sum: sum, count: count }];
1976
+ });
1977
+ // split out into separate outputs
1978
+ return [2 /*return*/, {
1979
+ min: mapTreeBranch(stats, function (branch) { return [branch[0].min]; }),
1980
+ max: mapTreeBranch(stats, function (branch) { return [branch[0].max]; }),
1981
+ avg: mapTreeBranch(stats, function (branch) { return [branch[0].avg]; }),
1982
+ std: mapTreeBranch(stats, function (branch) { return [branch[0].std]; }),
1983
+ sum: mapTreeBranch(stats, function (branch) { return [branch[0].sum]; }),
1984
+ count: mapTreeBranch(stats, function (branch) { return [branch[0].count]; }),
1985
+ }];
1986
+ });
1987
+ }); },
1988
+ };
1989
+
1937
1990
  var _a$2;
1938
1991
  var primitives$2 = (_a$2 = {},
1939
1992
  _a$2[groupAnd.name] = groupAnd,
1940
1993
  _a$2[groupOr.name] = groupOr,
1994
+ _a$2[groupStats.name] = groupStats,
1941
1995
  _a$2);
1942
1996
 
1943
1997
  var inputs = {
@@ -2138,7 +2192,7 @@ var Engine = /** @class */ (function () {
2138
2192
  context: context,
2139
2193
  startTime: startTime_1,
2140
2194
  });
2141
- return [4 /*yield*/, fn.impl(inputs_1, params_1, this)];
2195
+ return [4 /*yield*/, fn.impl(inputs_1, params_1, this, name_1)];
2142
2196
  case 3:
2143
2197
  // call the implentation of sub functions
2144
2198
  result_1 = _e.sent();
@@ -2304,7 +2358,7 @@ var Engine = /** @class */ (function () {
2304
2358
  return [2 /*return*/, this.run(builtFn, inputs)];
2305
2359
  }
2306
2360
  mappedInputs = interpolate(inputs, {});
2307
- return [4 /*yield*/, ((_a = node.impl) === null || _a === void 0 ? void 0 : _a.call(node, mappedInputs, {}, this))];
2361
+ return [4 /*yield*/, ((_a = node.impl) === null || _a === void 0 ? void 0 : _a.call(node, mappedInputs, {}, this, "_root"))];
2308
2362
  case 1:
2309
2363
  result = _b.sent();
2310
2364
  // console.log("Engine run complete", result);