@elastic/charts 42.0.0 → 42.1.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
@@ -1,3 +1,10 @@
1
+ # [42.1.0](https://github.com/elastic/elastic-charts/compare/v42.0.0...v42.1.0) (2022-01-10)
2
+
3
+
4
+ ### Features
5
+
6
+ * allow multiple value accessors when computing the stack ratio ([#1537](https://github.com/elastic/elastic-charts/issues/1537)) ([c2eb4b8](https://github.com/elastic/elastic-charts/commit/c2eb4b8d91436975eee2ff499cac0dfa7bb33e56))
7
+
1
8
  # [42.0.0](https://github.com/elastic/elastic-charts/compare/v41.0.1...v42.0.0) (2022-01-05)
2
9
 
3
10
 
@@ -17,10 +17,7 @@ import { GroupKeysOrKeyFn } from '../../chart_types/xy_chart/utils/group_data_se
17
17
  * @public
18
18
  * @param data - an array of objects
19
19
  * @param groupAccessors - an array of accessor keys or a fn to describe an unique id for each group
20
- * @param valueAccessor - a fn that returns the value to use
21
- * @param ratioKeyName - the object key used to store the computed ratio
20
+ * @param valueGetterSetters - an array of getter and setter functions for the metric and ratio values
22
21
  */
23
- export declare function computeRatioByGroups<T extends Record<string, unknown>>(data: T[], groupAccessors: GroupKeysOrKeyFn<T>, valueAccessor: (k: T) => number | null | undefined, ratioKeyName: string): (T & {
24
- [x: string]: number | null | undefined;
25
- })[];
22
+ export declare function computeRatioByGroups<T extends Record<string, unknown>>(data: T[], groupAccessors: GroupKeysOrKeyFn<T>, valueGetterSetters: Array<[(datum: T) => unknown, (datum: T, value: number) => T]>): T[];
26
23
  //# sourceMappingURL=data_processing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data_processing.d.ts","sourceRoot":"","sources":["../../../src/utils/data/data_processing.ts"],"names":[],"mappings":"AAQA,OAAO,EAAW,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAG/F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,IAAI,EAAE,CAAC,EAAE,EACT,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACnC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,EAClD,YAAY,EAAE,MAAM;;KAkBrB"}
1
+ {"version":3,"file":"data_processing.d.ts","sourceRoot":"","sources":["../../../src/utils/data/data_processing.ts"],"names":[],"mappings":"AAQA,OAAO,EAAW,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAG/F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,IAAI,EAAE,CAAC,EAAE,EACT,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACnC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,GACjF,CAAC,EAAE,CAmBL"}
@@ -1,30 +1,40 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
8
13
  }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
12
17
  };
13
18
  Object.defineProperty(exports, "__esModule", { value: true });
14
19
  exports.computeRatioByGroups = void 0;
15
20
  var group_data_series_1 = require("../../chart_types/xy_chart/utils/group_data_series");
16
21
  var common_1 = require("../common");
17
- function computeRatioByGroups(data, groupAccessors, valueAccessor, ratioKeyName) {
22
+ function computeRatioByGroups(data, groupAccessors, valueGetterSetters) {
18
23
  return (0, group_data_series_1.groupBy)(data, groupAccessors, true)
19
24
  .map(function (groupedData) {
20
25
  var groupSum = groupedData.reduce(function (sum, datum) {
21
- var value = valueAccessor(datum);
22
- return sum + ((0, common_1.isFiniteNumber)(value) ? Math.abs(value) : 0);
26
+ return (valueGetterSetters.reduce(function (valueSum, _a) {
27
+ var _b = __read(_a, 1), getter = _b[0];
28
+ var value = getter(datum);
29
+ return valueSum + ((0, common_1.isFiniteNumber)(value) ? Math.abs(value) : 0);
30
+ }, 0) + sum);
23
31
  }, 0);
24
32
  return groupedData.map(function (datum) {
25
- var _a;
26
- var value = valueAccessor(datum);
27
- return __assign(__assign({}, datum), (_a = {}, _a[ratioKeyName] = (0, common_1.isFiniteNumber)(value) ? (groupSum === 0 ? 0 : Math.abs(value) / groupSum) : value, _a));
33
+ return valueGetterSetters.reduce(function (acc, _a) {
34
+ var _b = __read(_a, 2), getter = _b[0], setter = _b[1];
35
+ var value = getter(acc);
36
+ return (0, common_1.isFiniteNumber)(value) ? setter(acc, groupSum === 0 ? 0 : Math.abs(value) / groupSum) : acc;
37
+ }, datum);
28
38
  });
29
39
  })
30
40
  .flat();
@@ -1 +1 @@
1
- {"version":3,"file":"data_processing.js","sourceRoot":"","sources":["../../../src/utils/data/data_processing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAQA,wFAA+F;AAC/F,oCAA2C;AAuB3C,SAAgB,oBAAoB,CAClC,IAAS,EACT,cAAmC,EACnC,aAAkD,EAClD,YAAoB;IAEpB,OAAO,IAAA,2BAAO,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC;SACvC,GAAG,CAAC,UAAC,WAAW;QACf,IAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,KAAK;YAC7C,IAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACnC,OAAO,GAAG,GAAG,CAAC,IAAA,uBAAc,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,OAAO,WAAW,CAAC,GAAG,CAAC,UAAC,KAAK;;YAC3B,IAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACnC,6BACK,KAAK,gBAEP,YAAY,IAAG,IAAA,uBAAc,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,OACjG;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;AACZ,CAAC;AAtBD,oDAsBC"}
1
+ {"version":3,"file":"data_processing.js","sourceRoot":"","sources":["../../../src/utils/data/data_processing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAQA,wFAA+F;AAC/F,oCAA2C;AAsB3C,SAAgB,oBAAoB,CAClC,IAAS,EACT,cAAmC,EACnC,kBAAkF;IAElF,OAAO,IAAA,2BAAO,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC;SACvC,GAAG,CAAC,UAAC,WAAW;QACf,IAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,KAAK;YAC7C,OAAO,CACL,kBAAkB,CAAC,MAAM,CAAC,UAAC,QAAQ,EAAE,EAAQ;oBAAR,KAAA,aAAQ,EAAP,MAAM,QAAA;gBAC1C,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,OAAO,QAAQ,GAAG,CAAC,IAAA,uBAAc,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CACZ,CAAC;QACJ,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,OAAO,WAAW,CAAC,GAAG,CAAC,UAAC,KAAK;YAC3B,OAAO,kBAAkB,CAAC,MAAM,CAAI,UAAC,GAAG,EAAE,EAAgB;oBAAhB,KAAA,aAAgB,EAAf,MAAM,QAAA,EAAE,MAAM,QAAA;gBACvD,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,IAAA,uBAAc,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACpG,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;AACZ,CAAC;AAvBD,oDAuBC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elastic/charts",
3
3
  "description": "Elastic-Charts data visualization library",
4
- "version": "42.0.0",
4
+ "version": "42.1.0",
5
5
  "author": "Elastic DataVis",
6
6
  "license": "SEE LICENSE IN LICENSE.txt",
7
7
  "main": "dist/index.js",