@infomaximum/widget-sdk 5.32.0 → 5.33.0

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/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [5.33.0](https://github.com/Infomaximum/widget-sdk/compare/v5.32.1...v5.33.0) (2025-08-06)
6
+
7
+
8
+ ### Features
9
+
10
+ * расширены шаблоны процессных агрегаций ([f2bfbaf](https://github.com/Infomaximum/widget-sdk/commit/f2bfbafb557ba72ae605d906ae1341109adf3894))
11
+
12
+ ### [5.32.1](https://github.com/Infomaximum/widget-sdk/compare/v5.32.0...v5.32.1) (2025-08-05)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * исправлена типизация ответов вычислителей ([0453793](https://github.com/Infomaximum/widget-sdk/commit/04537930ba1916d300b279e658a7e9b8da191af4))
18
+
5
19
  ## [5.32.0](https://github.com/Infomaximum/widget-sdk/compare/v5.31.0...v5.32.0) (2025-07-31)
6
20
 
7
21
 
package/dist/index.d.ts CHANGED
@@ -38,7 +38,7 @@ interface ICalculatorMeasureInput extends ICalculatorIndicatorInput {
38
38
  }
39
39
  interface ICalculatorMeasureOutput extends ICalculatorIndicatorOutput {
40
40
  /** Значения, вычисленные на основе дополнительных формул */
41
- additionalValues: Map<string, string[]>;
41
+ additionalValues: Map<string, (string | null)[]>;
42
42
  }
43
43
  declare enum ECalculatorFilterMethods {
44
44
  EQUAL_TO = "EQUAL_TO",
@@ -1217,7 +1217,14 @@ declare enum EDimensionAggregationTemplateName {
1217
1217
  firstValue = "firstValue",
1218
1218
  lastValue = "lastValue",
1219
1219
  countExecutions = "countExecutions",
1220
- countReworks = "countReworks"
1220
+ countReworks = "countReworks",
1221
+ avg = "avg",
1222
+ median = "median",
1223
+ count = "count",
1224
+ countDistinct = "countDistinct",
1225
+ min = "min",
1226
+ max = "max",
1227
+ sum = "sum"
1221
1228
  }
1222
1229
  /** Шаблоны процессных метрик разреза с режимом AGGREGATION */
1223
1230
  declare const dimensionAggregationTemplates: Record<EDimensionAggregationTemplateName, string>;
@@ -1829,7 +1836,7 @@ interface IGeneralCalculatorExportInput extends IGeneralCalculatorInput {
1829
1836
  }
1830
1837
  interface IGeneralCalculatorOutput extends IBaseDimensionsAndMeasuresCalculatorOutput {
1831
1838
  /** Итоги по мерам */
1832
- totals: Map<string, string>;
1839
+ totals: Map<string, string | null>;
1833
1840
  }
1834
1841
  interface IGeneralCalculator extends IBaseDimensionsAndMeasuresCalculator<IGeneralCalculatorInput, IGeneralCalculatorOutput> {
1835
1842
  export(input: IGeneralCalculatorExportInput): Promise<void>;
package/dist/index.esm.js CHANGED
@@ -744,11 +744,22 @@ var EEventAppearances;
744
744
  EEventAppearances["LAST"] = "LAST";
745
745
  })(EEventAppearances || (EEventAppearances = {}));
746
746
 
747
+ function constructAggregationTemplate(functionName, options) {
748
+ return "process(".concat(functionName, "(").concat((options === null || options === void 0 ? void 0 : options.distinct) ? "distinct " : "", "{columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})");
749
+ }
750
+
747
751
  var countReworksTemplate = "process(if(countIf({eventNameFormula} = '{eventName}'{filters}) > 0, countIf({eventNameFormula} = '{eventName}'{filters}) - 1, 0), {caseCaseIdFormula})";
748
752
  var countExecutionsTemplate = "process(countIf({eventNameFormula} in '{eventName}'{filters}), {caseCaseIdFormula})";
749
753
  var lastValueTemplate = "process(argMaxIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})";
750
754
  var firstValueTemplate = "process(argMinIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})";
751
755
  var topTemplate = "process(topKIf(1)({columnFormula}, {eventNameFormula} = '{eventName}'{filters})[1], {caseCaseIdFormula})";
756
+ var avgTemplate = constructAggregationTemplate("avgIf");
757
+ var medianTemplate = constructAggregationTemplate("medianIf");
758
+ var countTemplate = constructAggregationTemplate("countIf");
759
+ var countDistinctTemplate = constructAggregationTemplate("countIf", { distinct: true });
760
+ var minTemplate = constructAggregationTemplate("minIf");
761
+ var maxTemplate = constructAggregationTemplate("maxIf");
762
+ var sumTemplate = constructAggregationTemplate("sumIf");
752
763
 
753
764
  function fillTemplateString(templateString, params) {
754
765
  return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
@@ -868,6 +879,13 @@ var EDimensionAggregationTemplateName;
868
879
  EDimensionAggregationTemplateName["lastValue"] = "lastValue";
869
880
  EDimensionAggregationTemplateName["countExecutions"] = "countExecutions";
870
881
  EDimensionAggregationTemplateName["countReworks"] = "countReworks";
882
+ EDimensionAggregationTemplateName["avg"] = "avg";
883
+ EDimensionAggregationTemplateName["median"] = "median";
884
+ EDimensionAggregationTemplateName["count"] = "count";
885
+ EDimensionAggregationTemplateName["countDistinct"] = "countDistinct";
886
+ EDimensionAggregationTemplateName["min"] = "min";
887
+ EDimensionAggregationTemplateName["max"] = "max";
888
+ EDimensionAggregationTemplateName["sum"] = "sum";
871
889
  })(EDimensionAggregationTemplateName || (EDimensionAggregationTemplateName = {}));
872
890
  /** Шаблоны процессных метрик разреза с режимом AGGREGATION */
873
891
  var dimensionAggregationTemplates = (_a$4 = {},
@@ -876,6 +894,13 @@ var dimensionAggregationTemplates = (_a$4 = {},
876
894
  _a$4[EDimensionAggregationTemplateName.lastValue] = lastValueTemplate,
877
895
  _a$4[EDimensionAggregationTemplateName.countExecutions] = countExecutionsTemplate,
878
896
  _a$4[EDimensionAggregationTemplateName.countReworks] = countReworksTemplate,
897
+ _a$4[EDimensionAggregationTemplateName.avg] = avgTemplate,
898
+ _a$4[EDimensionAggregationTemplateName.median] = medianTemplate,
899
+ _a$4[EDimensionAggregationTemplateName.count] = countTemplate,
900
+ _a$4[EDimensionAggregationTemplateName.countDistinct] = countDistinctTemplate,
901
+ _a$4[EDimensionAggregationTemplateName.min] = minTemplate,
902
+ _a$4[EDimensionAggregationTemplateName.max] = maxTemplate,
903
+ _a$4[EDimensionAggregationTemplateName.sum] = sumTemplate,
879
904
  _a$4);
880
905
  /** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
881
906
  var prepareDimensionAggregationParams = function (value) {
package/dist/index.js CHANGED
@@ -745,11 +745,22 @@ exports.EEventAppearances = void 0;
745
745
  EEventAppearances["LAST"] = "LAST";
746
746
  })(exports.EEventAppearances || (exports.EEventAppearances = {}));
747
747
 
748
+ function constructAggregationTemplate(functionName, options) {
749
+ return "process(".concat(functionName, "(").concat((options === null || options === void 0 ? void 0 : options.distinct) ? "distinct " : "", "{columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})");
750
+ }
751
+
748
752
  var countReworksTemplate = "process(if(countIf({eventNameFormula} = '{eventName}'{filters}) > 0, countIf({eventNameFormula} = '{eventName}'{filters}) - 1, 0), {caseCaseIdFormula})";
749
753
  var countExecutionsTemplate = "process(countIf({eventNameFormula} in '{eventName}'{filters}), {caseCaseIdFormula})";
750
754
  var lastValueTemplate = "process(argMaxIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})";
751
755
  var firstValueTemplate = "process(argMinIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})";
752
756
  var topTemplate = "process(topKIf(1)({columnFormula}, {eventNameFormula} = '{eventName}'{filters})[1], {caseCaseIdFormula})";
757
+ var avgTemplate = constructAggregationTemplate("avgIf");
758
+ var medianTemplate = constructAggregationTemplate("medianIf");
759
+ var countTemplate = constructAggregationTemplate("countIf");
760
+ var countDistinctTemplate = constructAggregationTemplate("countIf", { distinct: true });
761
+ var minTemplate = constructAggregationTemplate("minIf");
762
+ var maxTemplate = constructAggregationTemplate("maxIf");
763
+ var sumTemplate = constructAggregationTemplate("sumIf");
753
764
 
754
765
  function fillTemplateString(templateString, params) {
755
766
  return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
@@ -869,6 +880,13 @@ exports.EDimensionAggregationTemplateName = void 0;
869
880
  EDimensionAggregationTemplateName["lastValue"] = "lastValue";
870
881
  EDimensionAggregationTemplateName["countExecutions"] = "countExecutions";
871
882
  EDimensionAggregationTemplateName["countReworks"] = "countReworks";
883
+ EDimensionAggregationTemplateName["avg"] = "avg";
884
+ EDimensionAggregationTemplateName["median"] = "median";
885
+ EDimensionAggregationTemplateName["count"] = "count";
886
+ EDimensionAggregationTemplateName["countDistinct"] = "countDistinct";
887
+ EDimensionAggregationTemplateName["min"] = "min";
888
+ EDimensionAggregationTemplateName["max"] = "max";
889
+ EDimensionAggregationTemplateName["sum"] = "sum";
872
890
  })(exports.EDimensionAggregationTemplateName || (exports.EDimensionAggregationTemplateName = {}));
873
891
  /** Шаблоны процессных метрик разреза с режимом AGGREGATION */
874
892
  var dimensionAggregationTemplates = (_a$4 = {},
@@ -877,6 +895,13 @@ var dimensionAggregationTemplates = (_a$4 = {},
877
895
  _a$4[exports.EDimensionAggregationTemplateName.lastValue] = lastValueTemplate,
878
896
  _a$4[exports.EDimensionAggregationTemplateName.countExecutions] = countExecutionsTemplate,
879
897
  _a$4[exports.EDimensionAggregationTemplateName.countReworks] = countReworksTemplate,
898
+ _a$4[exports.EDimensionAggregationTemplateName.avg] = avgTemplate,
899
+ _a$4[exports.EDimensionAggregationTemplateName.median] = medianTemplate,
900
+ _a$4[exports.EDimensionAggregationTemplateName.count] = countTemplate,
901
+ _a$4[exports.EDimensionAggregationTemplateName.countDistinct] = countDistinctTemplate,
902
+ _a$4[exports.EDimensionAggregationTemplateName.min] = minTemplate,
903
+ _a$4[exports.EDimensionAggregationTemplateName.max] = maxTemplate,
904
+ _a$4[exports.EDimensionAggregationTemplateName.sum] = sumTemplate,
880
905
  _a$4);
881
906
  /** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
882
907
  var prepareDimensionAggregationParams = function (value) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infomaximum/widget-sdk",
3
- "version": "5.32.0",
3
+ "version": "5.33.0",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",
@@ -34,12 +34,14 @@
34
34
  "@rollup/plugin-node-resolve": "15.2.3",
35
35
  "@rollup/plugin-typescript": "11.1.5",
36
36
  "@types/jest": "^29.5.14",
37
+ "@types/semver": "^7.7.0",
37
38
  "core-js": "^3.38.0",
38
39
  "jest": "^29.7.0",
39
40
  "prettier": "3.2.5",
40
41
  "rollup": "4.14.3",
41
42
  "rollup-plugin-delete": "2.0.0",
42
43
  "rollup-plugin-dts": "6.1.0",
44
+ "semver": "^7.7.2",
43
45
  "standard-version": "9.5.0",
44
46
  "tslib": "^2.4.1",
45
47
  "typescript": "5.4.5"