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