@hestia-earth/utils 0.16.14 → 0.16.16

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/delta.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { propertyValueType } from './term';
1
2
  export declare enum DeltaDisplayType {
2
3
  absolute = "absolute",
3
4
  percent = "percent"
@@ -19,4 +20,13 @@ export declare const customDeltaFuncs: {
19
20
  * @returns
20
21
  */
21
22
  export declare const delta: (value: any, originalValue: any, displayType?: DeltaDisplayType, mapping?: deltaTypeMapping, termId?: string) => number;
23
+ /**
24
+ * Calculate the delta between original and recalculated
25
+ *
26
+ * @returns
27
+ */
28
+ export declare const recalculatedDelta: ({ original, recalculated }: {
29
+ original: propertyValueType;
30
+ recalculated: propertyValueType;
31
+ }) => number;
22
32
  export {};
package/dist/delta.js CHANGED
@@ -12,8 +12,9 @@ var __assign = (this && this.__assign) || function () {
12
12
  };
13
13
  var _a, _b, _c, _d;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.delta = exports.customDeltaFuncs = exports.DeltaDisplayType = void 0;
15
+ exports.recalculatedDelta = exports.delta = exports.customDeltaFuncs = exports.DeltaDisplayType = void 0;
16
16
  var term_1 = require("./term");
17
+ var number_1 = require("./number");
17
18
  var DeltaDisplayType;
18
19
  (function (DeltaDisplayType) {
19
20
  DeltaDisplayType["absolute"] = "absolute";
@@ -23,7 +24,6 @@ var deltaPerType = (_a = {},
23
24
  _a[DeltaDisplayType.absolute] = function (value, original) { return value - original; },
24
25
  _a[DeltaDisplayType.percent] = function (value, original) { return ((value - original) / original) * 100; },
25
26
  _a);
26
- var roundValue = function (value) { return +"".concat(value).substring(0, 10); };
27
27
  var PercentDeltaConditions;
28
28
  (function (PercentDeltaConditions) {
29
29
  PercentDeltaConditions["recalculated0"] = "recalculated should be 0";
@@ -60,10 +60,24 @@ exports.customDeltaFuncs = (_d = {},
60
60
  */
61
61
  var delta = function (value, originalValue, displayType, mapping, termId) {
62
62
  if (displayType === void 0) { displayType = DeltaDisplayType.percent; }
63
- var vvalue = roundValue((0, term_1.propertyValue)(value, termId));
64
- var voriginalValue = roundValue((0, term_1.propertyValue)(originalValue, termId));
63
+ var vvalue = (0, number_1.toPrecision)((0, term_1.propertyValue)(value, termId));
64
+ var voriginalValue = (0, number_1.toPrecision)((0, term_1.propertyValue)(originalValue, termId));
65
65
  var deltaFuncs = __assign(__assign({}, deltaPerType), mapping);
66
66
  var diff = vvalue === voriginalValue ? 0 : deltaFuncs[displayType](vvalue, voriginalValue);
67
67
  return Number.isFinite(diff) ? (diff === -0 ? 0 : diff) : 0;
68
68
  };
69
69
  exports.delta = delta;
70
+ /**
71
+ * Calculate the delta between original and recalculated
72
+ *
73
+ * @returns
74
+ */
75
+ var recalculatedDelta = function (_a) {
76
+ var original = _a.original, recalculated = _a.recalculated;
77
+ return (0, term_1.emptyValue)(original)
78
+ ? 0
79
+ : (0, term_1.emptyValue)(recalculated)
80
+ ? 100 // If original value but no recalculated value trigger test failure
81
+ : (0, exports.delta)(recalculated, original, undefined, exports.customDeltaFuncs);
82
+ };
83
+ exports.recalculatedDelta = recalculatedDelta;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hestia-earth/utils",
3
- "version": "0.16.14",
3
+ "version": "0.16.16",
4
4
  "description": "HESTIA Utils library",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",