@ic3/reporting-api 8.0.0-alpha.6 → 8.0.0-rc.3
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/ApiUtils.d.ts +10 -0
- package/dist/ApiUtils.js +25 -1
- package/dist/ApiUtils.js.map +1 -1
- package/dist/INotification.d.ts +32 -0
- package/dist/INotification.js +3 -0
- package/dist/INotification.js.map +1 -0
- package/dist/IPluginDefinition.d.ts +4 -1
- package/dist/IReporting.d.ts +41 -4
- package/dist/IThemeManager.d.ts +13 -18
- package/dist/IThemeManager.js.map +1 -1
- package/dist/ITidyTableTransformation.d.ts +20 -1
- package/dist/IWidgetVariantManager.d.ts +20 -2
- package/dist/LazyTreeView.d.ts +43 -1
- package/dist/LazyTreeView.js +5 -1
- package/dist/LazyTreeView.js.map +1 -1
- package/dist/Loader.d.ts +10 -0
- package/dist/Loader.js +33 -0
- package/dist/Loader.js.map +1 -0
- package/dist/PublicContext.d.ts +75 -10
- package/dist/PublicContext.js.map +1 -1
- package/dist/PublicLayout.d.ts +6 -6
- package/dist/PublicTemplate.d.ts +161 -58
- package/dist/PublicTemplate.js +16 -1
- package/dist/PublicTemplate.js.map +1 -1
- package/dist/PublicTemplateForm.d.ts +131 -29
- package/dist/PublicTemplateForm.js +7 -1
- package/dist/PublicTemplateForm.js.map +1 -1
- package/dist/PublicTheme.d.ts +114 -69
- package/dist/PublicTheme.js.map +1 -1
- package/dist/PublicTidyColumn.d.ts +327 -259
- package/dist/PublicTidyColumn.js +48 -2
- package/dist/PublicTidyColumn.js.map +1 -1
- package/dist/PublicTidyHistogram.d.ts +24 -0
- package/dist/PublicTidyHistogram.js +77 -0
- package/dist/PublicTidyHistogram.js.map +1 -0
- package/dist/PublicTidyMath.d.ts +49 -45
- package/dist/PublicTidyMath.js +0 -280
- package/dist/PublicTidyMath.js.map +1 -1
- package/dist/PublicTidyTable.d.ts +170 -154
- package/dist/PublicTidyTableInteractions.d.ts +30 -23
- package/dist/PublicTidyTableInteractions.js +5 -4
- package/dist/PublicTidyTableInteractions.js.map +1 -1
- package/dist/PublicTidyTableTypes.d.ts +133 -55
- package/dist/PublicTidyTableTypes.js +35 -18
- package/dist/PublicTidyTableTypes.js.map +1 -1
- package/dist/PublicTidyTree.d.ts +27 -37
- package/dist/PublicTidyTree.js +30 -58
- package/dist/PublicTidyTree.js.map +1 -1
- package/dist/RemoteContainerUtils.d.ts +1 -1
- package/dist/RemoteContainerUtils.js +9 -1
- package/dist/RemoteContainerUtils.js.map +1 -1
- package/dist/ReportingVersion.d.ts +1 -1
- package/dist/ReportingVersion.js +1 -1
- package/dist/ReportingVersion.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/theme/ThemeFilterAutocomplete.d.ts +30 -0
- package/dist/theme/ThemeFilterAutocomplete.js +23 -0
- package/dist/theme/ThemeFilterAutocomplete.js.map +1 -0
- package/dist/theme/ThemeFilterButtons.d.ts +28 -3
- package/dist/theme/ThemeFilterButtons.js +9 -3
- package/dist/theme/ThemeFilterButtons.js.map +1 -1
- package/dist/theme/ThemeFilterCheckboxes.d.ts +18 -0
- package/dist/theme/ThemeFilterCheckboxes.js +11 -0
- package/dist/theme/ThemeFilterCheckboxes.js.map +1 -0
- package/dist/theme/ThemeFilterSlider.d.ts +47 -0
- package/dist/theme/ThemeFilterSlider.js +29 -0
- package/dist/theme/ThemeFilterSlider.js.map +1 -0
- package/dist/theme/ThemeFilterTree.d.ts +70 -0
- package/dist/theme/ThemeFilterTree.js +11 -0
- package/dist/theme/ThemeFilterTree.js.map +1 -0
- package/dist/theme/ThemeGoogleMapMarker.d.ts +51 -0
- package/dist/theme/ThemeGoogleMapMarker.js +3 -0
- package/dist/theme/ThemeGoogleMapMarker.js.map +1 -0
- package/dist/theme/ThemeHtmlBox.d.ts +7 -1
- package/dist/theme/ThemePivotTable.d.ts +23 -0
- package/dist/theme/ThemePivotTable.js +21 -0
- package/dist/theme/ThemePivotTable.js.map +1 -0
- package/dist/theme/ThemeTable.d.ts +15 -0
- package/dist/theme/ThemeTable.js +5 -0
- package/dist/theme/ThemeTable.js.map +1 -0
- package/package.json +11 -10
package/dist/PublicTidyColumn.js
CHANGED
|
@@ -1,16 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TidyTableNumberExprColumnMetas = exports.TidyTableTextExprColumnMetas = exports.ITidyColumnNamedProperties = void 0;
|
|
3
|
+
exports.TidyTableNumberExprColumnMetas = exports.TidyTableTextExprColumnMetas = exports.CharacterTidyColumnProperties = exports.ITidyColumnNamedProperties = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Properties with a special meaning
|
|
6
6
|
*/
|
|
7
7
|
var ITidyColumnNamedProperties;
|
|
8
8
|
(function (ITidyColumnNamedProperties) {
|
|
9
|
+
/**
|
|
10
|
+
* The formatted value of a cell. For example, 5003 in euros is formatted as €5,003
|
|
11
|
+
*/
|
|
9
12
|
ITidyColumnNamedProperties["mdxCellFormattedValue"] = "formattedValue";
|
|
13
|
+
/**
|
|
14
|
+
* MDX related colorings
|
|
15
|
+
*/
|
|
10
16
|
ITidyColumnNamedProperties["mdxCellBackColor"] = "mdxCellBackColor";
|
|
17
|
+
/**
|
|
18
|
+
* MDX related colorings
|
|
19
|
+
*/
|
|
11
20
|
ITidyColumnNamedProperties["mdxCellForeColor"] = "mdxCellForeColor";
|
|
21
|
+
/**
|
|
22
|
+
* The format string for the cell value. For example, euros are formatted using €#,###.
|
|
23
|
+
* and percentages using #0.00%.
|
|
24
|
+
*/
|
|
12
25
|
ITidyColumnNamedProperties["mdxCellFormatString"] = "mdxCellFormatString";
|
|
26
|
+
/**
|
|
27
|
+
* The main color of the cell
|
|
28
|
+
*/
|
|
13
29
|
ITidyColumnNamedProperties["mdxCellColor"] = "color";
|
|
30
|
+
/**
|
|
31
|
+
* Column defined to fire an app. notification.
|
|
32
|
+
*
|
|
33
|
+
* The name of the notification (e.g., print-report).
|
|
34
|
+
*/
|
|
35
|
+
ITidyColumnNamedProperties["appNotificationType"] = "appNotificationType";
|
|
36
|
+
/**
|
|
37
|
+
* Column defined to fire an app. notification.
|
|
38
|
+
*
|
|
39
|
+
* The parameters of the notification (e.g., page size, filename, ...) as a JSON or a string.
|
|
40
|
+
*/
|
|
41
|
+
ITidyColumnNamedProperties["appNotificationPayload"] = "appNotificationPayload";
|
|
14
42
|
/**
|
|
15
43
|
* Column defined to fire events, the name of the event
|
|
16
44
|
*/
|
|
@@ -34,15 +62,30 @@ var ITidyColumnNamedProperties;
|
|
|
34
62
|
/**
|
|
35
63
|
* Column defined as an MDX axis, the key of the column
|
|
36
64
|
*/
|
|
37
|
-
ITidyColumnNamedProperties["
|
|
65
|
+
ITidyColumnNamedProperties["mdxCellKey"] = "key";
|
|
66
|
+
/**
|
|
67
|
+
* Show this when hovering over the cell (or the visualisation representing the cell)
|
|
68
|
+
*/
|
|
38
69
|
ITidyColumnNamedProperties["tooltip"] = "tooltip";
|
|
39
70
|
})(ITidyColumnNamedProperties = exports.ITidyColumnNamedProperties || (exports.ITidyColumnNamedProperties = {}));
|
|
71
|
+
exports.CharacterTidyColumnProperties = new Set([
|
|
72
|
+
ITidyColumnNamedProperties.mdxCellFormattedValue,
|
|
73
|
+
ITidyColumnNamedProperties.uniqueName,
|
|
74
|
+
ITidyColumnNamedProperties.mdxCellFormatString,
|
|
75
|
+
ITidyColumnNamedProperties.appNotificationType,
|
|
76
|
+
ITidyColumnNamedProperties.eventName,
|
|
77
|
+
ITidyColumnNamedProperties.caption,
|
|
78
|
+
ITidyColumnNamedProperties.tooltip,
|
|
79
|
+
]);
|
|
40
80
|
exports.TidyTableTextExprColumnMetas = [
|
|
41
81
|
{ caption: "total", method: "sum" },
|
|
42
82
|
{ caption: "average", method: "mean" },
|
|
43
83
|
{ caption: "median", method: "median" },
|
|
44
84
|
{ caption: "min", method: "min" },
|
|
45
85
|
{ caption: "max", method: "max" },
|
|
86
|
+
{ caption: "variance", method: "variance" },
|
|
87
|
+
{ caption: "standardDeviation", method: "standardDeviation" },
|
|
88
|
+
{ caption: "count", method: "count" },
|
|
46
89
|
{ caption: "percent", method: "percent", argRow: true },
|
|
47
90
|
{ caption: "caption", method: "getCaption" },
|
|
48
91
|
];
|
|
@@ -52,6 +95,9 @@ exports.TidyTableNumberExprColumnMetas = [
|
|
|
52
95
|
{ caption: "median", method: "median" },
|
|
53
96
|
{ caption: "min", method: "min" },
|
|
54
97
|
{ caption: "max", method: "max" },
|
|
98
|
+
{ caption: "variance", method: "variance" },
|
|
99
|
+
{ caption: "standardDeviation", method: "standardDeviation" },
|
|
100
|
+
{ caption: "count", method: "count" },
|
|
55
101
|
{ caption: "percent", method: "percent", argRow: true },
|
|
56
102
|
// {caption: "caption", method: "getCaption"},
|
|
57
103
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicTidyColumn.js","sourceRoot":"","sources":["../src/PublicTidyColumn.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"PublicTidyColumn.js","sourceRoot":"","sources":["../src/PublicTidyColumn.ts"],"names":[],"mappings":";;;AA6CA;;GAEG;AACH,IAAY,0BA4EX;AA5ED,WAAY,0BAA0B;IAElC;;OAEG;IACH,sEAAwC,CAAA;IAExC;;OAEG;IACH,mEAAqC,CAAA;IAErC;;OAEG;IACH,mEAAqC,CAAA;IAErC;;;OAGG;IACH,yEAA2C,CAAA;IAE3C;;OAEG;IACH,oDAAsB,CAAA;IAEtB;;;;OAIG;IACH,yEAA2C,CAAA;IAE3C;;;;OAIG;IACH,+EAAiD,CAAA;IAEjD;;OAEG;IACH,qDAAuB,CAAA;IAEvB;;OAEG;IACH,uDAAyB,CAAA;IAEzB;;OAEG;IACH,6DAA+B,CAAA;IAE/B;;OAEG;IACH,uDAAyB,CAAA;IAEzB;;OAEG;IACH,iDAAmB,CAAA;IAEnB;;OAEG;IACH,gDAAkB,CAAA;IAElB;;OAEG;IACH,iDAAmB,CAAA;AACvB,CAAC,EA5EW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QA4ErC;AAEY,QAAA,6BAA6B,GAAG,IAAI,GAAG,CAAS;IAEzD,0BAA0B,CAAC,qBAAqB;IAChD,0BAA0B,CAAC,UAAU;IAErC,0BAA0B,CAAC,mBAAmB;IAE9C,0BAA0B,CAAC,mBAAmB;IAC9C,0BAA0B,CAAC,SAAS;IAEpC,0BAA0B,CAAC,OAAO;IAClC,0BAA0B,CAAC,OAAO;CAErC,CAAC,CAAC;AA4mBU,QAAA,4BAA4B,GAA8B;IAEnE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC;IACjC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAC;IACpC,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;IACrC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;IACzC,EAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAC;IAC3D,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;IAEnC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC;IAErD,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAC;CAE7C,CAAC;AAEW,QAAA,8BAA8B,GAA8B;IAErE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC;IACjC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAC;IACpC,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;IACrC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;IACzC,EAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAC;IAC3D,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;IAEnC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC;IAErD,8CAA8C;CAEjD,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SortingType } from "./PublicTidyTableTypes";
|
|
2
|
+
import { FormFieldObject, FormFields } from "./PublicTemplateForm";
|
|
3
|
+
export declare enum TidyHistogramBucketFormat {
|
|
4
|
+
INTERVAL = "interval",
|
|
5
|
+
MATH_INTERVAL = "mathInterval",
|
|
6
|
+
MATH_INTERVAL_REVERSED = "mathIntervalReversed",
|
|
7
|
+
FROM_ONLY = "fromOnly",
|
|
8
|
+
TO_ONLY = "toOnly"
|
|
9
|
+
}
|
|
10
|
+
export declare enum TidyHistogramBucketType {
|
|
11
|
+
LEFT_CLOSED = "leftClosed",
|
|
12
|
+
RIGHT_CLOSED = "rightClosed"
|
|
13
|
+
}
|
|
14
|
+
export interface TidyHistogramOptions extends FormFieldObject {
|
|
15
|
+
binType: "automatic" | "userDefined";
|
|
16
|
+
numberOfBins: number;
|
|
17
|
+
customBins: string;
|
|
18
|
+
sortBins: SortingType;
|
|
19
|
+
bucketFormat: TidyHistogramBucketFormat;
|
|
20
|
+
intervalType: TidyHistogramBucketType;
|
|
21
|
+
}
|
|
22
|
+
export declare const TidyHistogramMetaOptions: (group?: string | undefined, hideSort?: boolean) => FormFields<TidyHistogramOptions>;
|
|
23
|
+
export declare const TidyHistogramBucketColName = "bucket";
|
|
24
|
+
export declare const TidyHistogramCountColName = "count";
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TidyHistogramCountColName = exports.TidyHistogramBucketColName = exports.TidyHistogramMetaOptions = exports.TidyHistogramBucketType = exports.TidyHistogramBucketFormat = void 0;
|
|
4
|
+
const PublicTidyTableTypes_1 = require("./PublicTidyTableTypes");
|
|
5
|
+
var TidyHistogramBucketFormat;
|
|
6
|
+
(function (TidyHistogramBucketFormat) {
|
|
7
|
+
TidyHistogramBucketFormat["INTERVAL"] = "interval";
|
|
8
|
+
TidyHistogramBucketFormat["MATH_INTERVAL"] = "mathInterval";
|
|
9
|
+
TidyHistogramBucketFormat["MATH_INTERVAL_REVERSED"] = "mathIntervalReversed";
|
|
10
|
+
TidyHistogramBucketFormat["FROM_ONLY"] = "fromOnly";
|
|
11
|
+
TidyHistogramBucketFormat["TO_ONLY"] = "toOnly";
|
|
12
|
+
})(TidyHistogramBucketFormat = exports.TidyHistogramBucketFormat || (exports.TidyHistogramBucketFormat = {}));
|
|
13
|
+
var TidyHistogramBucketType;
|
|
14
|
+
(function (TidyHistogramBucketType) {
|
|
15
|
+
TidyHistogramBucketType["LEFT_CLOSED"] = "leftClosed";
|
|
16
|
+
TidyHistogramBucketType["RIGHT_CLOSED"] = "rightClosed";
|
|
17
|
+
})(TidyHistogramBucketType = exports.TidyHistogramBucketType || (exports.TidyHistogramBucketType = {}));
|
|
18
|
+
const TidyHistogramMetaOptions = (group, hideSort = false) => {
|
|
19
|
+
return {
|
|
20
|
+
'binType': {
|
|
21
|
+
group,
|
|
22
|
+
fieldType: "option",
|
|
23
|
+
editorConf: {
|
|
24
|
+
allowDuplicate: true,
|
|
25
|
+
optionValues: ["automatic", "userDefined"],
|
|
26
|
+
optionName: "HistogramBinType"
|
|
27
|
+
},
|
|
28
|
+
defaultValue: "automatic"
|
|
29
|
+
},
|
|
30
|
+
'numberOfBins': {
|
|
31
|
+
group,
|
|
32
|
+
fieldType: "number",
|
|
33
|
+
defaultValue: 10,
|
|
34
|
+
dependsOn: "binType",
|
|
35
|
+
dependsOnVisibility: dependsOnValue => dependsOnValue === "automatic"
|
|
36
|
+
},
|
|
37
|
+
'customBins': {
|
|
38
|
+
group,
|
|
39
|
+
fieldType: "json",
|
|
40
|
+
defaultValue: '[{"to": 10},{"from":10,"to":100},{"from":100}]',
|
|
41
|
+
dependsOn: "binType",
|
|
42
|
+
dependsOnVisibility: dependsOnValue => dependsOnValue === "userDefined"
|
|
43
|
+
},
|
|
44
|
+
'sortBins': {
|
|
45
|
+
group,
|
|
46
|
+
fieldType: "option",
|
|
47
|
+
editorConf: {
|
|
48
|
+
optionValues: Object.values(PublicTidyTableTypes_1.SortingType),
|
|
49
|
+
optionName: "SortingType",
|
|
50
|
+
},
|
|
51
|
+
defaultValue: PublicTidyTableTypes_1.SortingType.ASCENDING,
|
|
52
|
+
visibility: !hideSort
|
|
53
|
+
},
|
|
54
|
+
'bucketFormat': {
|
|
55
|
+
group,
|
|
56
|
+
fieldType: "option",
|
|
57
|
+
defaultValue: TidyHistogramBucketFormat.INTERVAL,
|
|
58
|
+
editorConf: {
|
|
59
|
+
optionValues: Object.values(TidyHistogramBucketFormat),
|
|
60
|
+
optionName: "TidyHistogramBucketFormat"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"intervalType": {
|
|
64
|
+
group,
|
|
65
|
+
fieldType: 'option',
|
|
66
|
+
defaultValue: TidyHistogramBucketType.RIGHT_CLOSED,
|
|
67
|
+
editorConf: {
|
|
68
|
+
optionValues: Object.values(TidyHistogramBucketType),
|
|
69
|
+
optionName: "TidyHistogramBucketType"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
exports.TidyHistogramMetaOptions = TidyHistogramMetaOptions;
|
|
75
|
+
exports.TidyHistogramBucketColName = "bucket";
|
|
76
|
+
exports.TidyHistogramCountColName = "count";
|
|
77
|
+
//# sourceMappingURL=PublicTidyHistogram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublicTidyHistogram.js","sourceRoot":"","sources":["../src/PublicTidyHistogram.ts"],"names":[],"mappings":";;;AAAA,iEAAmD;AAGnD,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACjC,kDAAqB,CAAA;IACrB,2DAA8B,CAAA;IAC9B,4EAA+C,CAAA;IAC/C,mDAAsB,CAAA;IACtB,+CAAkB,CAAA;AACtB,CAAC,EANW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAMpC;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IAC/B,qDAA0B,CAAA;IAC1B,uDAA4B,CAAA;AAChC,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC;AAWM,MAAM,wBAAwB,GAAG,CAAC,KAAc,EAAE,QAAQ,GAAG,KAAK,EAAoC,EAAE;IAC3G,OAAO;QACH,SAAS,EAAE;YACP,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE;gBACR,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;gBAC1C,UAAU,EAAE,kBAAkB;aACjC;YACD,YAAY,EAAE,WAAW;SAC5B;QACD,cAAc,EAAE;YACZ,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,SAAS;YACpB,mBAAmB,EAAE,cAAc,CAAC,EAAE,CAAC,cAAc,KAAK,WAAW;SACxE;QACD,YAAY,EAAE;YACV,KAAK;YACL,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,gDAAgD;YAC9D,SAAS,EAAE,SAAS;YACpB,mBAAmB,EAAE,cAAc,CAAC,EAAE,CAAC,cAAc,KAAK,aAAa;SAC1E;QACD,UAAU,EAAE;YACR,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE;gBACR,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,kCAAW,CAAC;gBACxC,UAAU,EAAE,aAAa;aAC5B;YACD,YAAY,EAAE,kCAAW,CAAC,SAAS;YACnC,UAAU,EAAE,CAAC,QAAQ;SACxB;QACD,cAAc,EAAE;YACZ,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,yBAAyB,CAAC,QAAQ;YAChD,UAAU,EAAE;gBACR,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC;gBACtD,UAAU,EAAE,2BAA2B;aAC1C;SACJ;QACD,cAAc,EAAE;YACZ,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,uBAAuB,CAAC,YAAY;YAClD,UAAU,EAAE;gBACR,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC;gBACpD,UAAU,EAAE,yBAAyB;aACxC;SACJ;KACJ,CAAA;AACL,CAAC,CAAA;AAvDY,QAAA,wBAAwB,4BAuDpC;AAEY,QAAA,0BAA0B,GAAG,QAAQ,CAAC;AACtC,QAAA,yBAAyB,GAAG,OAAO,CAAC"}
|
package/dist/PublicTidyMath.d.ts
CHANGED
|
@@ -1,110 +1,114 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { HistogramData } from "./PublicTidyTableTypes";
|
|
3
|
-
export
|
|
4
|
-
interface ITidyMath {
|
|
1
|
+
import { ITidyBaseColumnReadonly } from "./PublicTidyColumn";
|
|
2
|
+
import { HistogramData, HistogramOptions } from "./PublicTidyTableTypes";
|
|
3
|
+
export interface ITidyMath {
|
|
5
4
|
/**
|
|
6
|
-
*
|
|
5
|
+
* Sum of all values in the column.
|
|
7
6
|
*/
|
|
8
|
-
sum(column:
|
|
7
|
+
sum(column: ITidyBaseColumnReadonly<number | null>): number | null;
|
|
9
8
|
/**
|
|
10
9
|
* Get the extreme value of the column. Null values are skipped.
|
|
11
10
|
* @param column
|
|
12
11
|
* @returns the minimum value of the column. Returns undefined if the column has no values or if the column contains
|
|
13
12
|
* a NaN-value.
|
|
14
13
|
*/
|
|
15
|
-
min<T>(column:
|
|
14
|
+
min<T>(column: ITidyBaseColumnReadonly<T>): T | undefined;
|
|
16
15
|
/**
|
|
17
16
|
* Get the extreme value of the column. Null values are skipped.
|
|
18
17
|
* @param column
|
|
19
18
|
* @returns the maximum value of the column. Returns undefined if the column has no values or if the column contains
|
|
20
19
|
* a NaN-value.
|
|
21
20
|
*/
|
|
22
|
-
max<T>(column:
|
|
21
|
+
max<T>(column: ITidyBaseColumnReadonly<T>): T | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Get the maximum of the absolute values of the column.
|
|
24
|
+
* @param column
|
|
25
|
+
* @returns If x_1, x_2, ..., x_n are the columns values, then it returns max(|x_1|, ..., |x_n|). Null values are
|
|
26
|
+
* skipped.
|
|
27
|
+
*/
|
|
28
|
+
absoluteMax(column: ITidyBaseColumnReadonly<number | null>): number | undefined;
|
|
23
29
|
/**
|
|
24
30
|
* Sum all values matching the lowest depth level of axis column
|
|
25
31
|
*/
|
|
26
|
-
sumOnRoot(column:
|
|
32
|
+
sumOnRoot(column: ITidyBaseColumnReadonly<number | null>, tree: ITidyBaseColumnReadonly<any>): number;
|
|
27
33
|
/**
|
|
28
34
|
* Estimate the population mean of the column, skipping null values.
|
|
29
35
|
*
|
|
30
36
|
* @returns the mean of the numeric column. Returns undefined if the column has no values or if the column contains
|
|
31
37
|
* a NaN-value.
|
|
32
38
|
*/
|
|
33
|
-
mean(column:
|
|
39
|
+
mean(column: ITidyBaseColumnReadonly<number | null>): number | undefined;
|
|
34
40
|
/**
|
|
35
41
|
* Estimate the population variance of the column. Null values are skipped.
|
|
36
42
|
* @param column
|
|
37
43
|
* @returns the variance of the column. Returns undefined if the column has no values or if the column contains a
|
|
38
44
|
* NaN-value.
|
|
39
45
|
*/
|
|
40
|
-
variance(column:
|
|
46
|
+
variance(column: ITidyBaseColumnReadonly<number | null>): number | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Estimate the population standard deviation of the column. Null values are skipped.
|
|
49
|
+
* @param column
|
|
50
|
+
* @returns the standard deviation of the column. Returns undefined if the column has no values or if the column
|
|
51
|
+
* contains a NaN-value.
|
|
52
|
+
*/
|
|
53
|
+
standardDeviation(column: ITidyBaseColumnReadonly<number | null>): number | undefined;
|
|
41
54
|
/**
|
|
42
55
|
* Return the number of non-null values in the column.
|
|
43
56
|
*/
|
|
44
|
-
count(column:
|
|
57
|
+
count(column: ITidyBaseColumnReadonly<any>): number;
|
|
45
58
|
/**
|
|
46
59
|
* Calculate the median of the column. Null-values are ignored.
|
|
47
60
|
* @param column
|
|
48
61
|
* @returns the median of the numeric column. Returns undefined if the column has no values or if the column contains
|
|
49
62
|
* a NaN-value.
|
|
50
63
|
*/
|
|
51
|
-
median(column:
|
|
64
|
+
median(column: ITidyBaseColumnReadonly<number | null>): number | undefined;
|
|
52
65
|
/**
|
|
53
66
|
* Creates a histogram data object from the column.
|
|
54
67
|
* @param column
|
|
55
|
-
* @param
|
|
68
|
+
* @param options see HistogramOptions
|
|
69
|
+
*
|
|
70
|
+
* @Returns an array of histogram buckets
|
|
56
71
|
*/
|
|
57
|
-
hist(column:
|
|
58
|
-
|
|
72
|
+
hist(column: ITidyBaseColumnReadonly<number | null>, options: Partial<HistogramOptions>): HistogramData[];
|
|
73
|
+
/**
|
|
74
|
+
* Return a regression model with one predictor: y = a0 + a1*x + error
|
|
75
|
+
* @param y column x
|
|
76
|
+
* @param x column y
|
|
77
|
+
*/
|
|
78
|
+
ols(y: ITidyBaseColumnReadonly<number | null>, x: ITidyBaseColumnReadonly<number | null>): ((x: number) => number) | undefined;
|
|
59
79
|
/**
|
|
60
80
|
* Calculate the percentage w.r.t. the total of the column.
|
|
61
81
|
* @param column
|
|
62
82
|
* @param idx row index of the cell to calculate the percentage of.
|
|
63
83
|
*/
|
|
64
|
-
percent(column:
|
|
84
|
+
percent(column: ITidyBaseColumnReadonly<number | null>, idx: number): number | undefined;
|
|
65
85
|
/**
|
|
66
86
|
* Count the values in the column. For example: [a, b, b] -> {a: 1, b: 2}.
|
|
67
87
|
*/
|
|
68
|
-
valueCounts<T>(column:
|
|
88
|
+
valueCounts<T>(column: ITidyBaseColumnReadonly<T>): Map<T, number>;
|
|
69
89
|
/**
|
|
70
|
-
*
|
|
71
|
-
* For each value x, return x /
|
|
90
|
+
* Normalize a numeric column so that its values are on [0, 1].
|
|
91
|
+
* For each value x, return (x - x_min) / (x_max - x_min).
|
|
72
92
|
*
|
|
73
93
|
* @returns undefined if one of the values in the scalar could not be calculated.
|
|
74
94
|
*/
|
|
75
|
-
|
|
95
|
+
scaleNormalize(column: ITidyBaseColumnReadonly<number | null> | undefined, idx: number, min: number | undefined, max: number | undefined, val: number | undefined): number | undefined;
|
|
76
96
|
/**
|
|
77
|
-
*
|
|
78
|
-
* For each value x, return
|
|
97
|
+
* Scale a numeric column so that its values are on [-1, 1].
|
|
98
|
+
* For each value x, return x / max(|x_1|, ..., |x_n|).
|
|
79
99
|
*
|
|
80
100
|
* @returns undefined if one of the values in the scalar could not be calculated.
|
|
81
101
|
*/
|
|
82
|
-
|
|
102
|
+
scaleMaxAbsolute(column: ITidyBaseColumnReadonly<number | null>, idx: number): number | undefined;
|
|
83
103
|
/**
|
|
84
104
|
* Standardize the column.
|
|
85
105
|
* For each value x, return (x - x_mean) / x_stdev.
|
|
86
106
|
*
|
|
87
107
|
* @returns undefined if one of the values in the scalar could not be calculated.
|
|
88
108
|
*/
|
|
89
|
-
scaleStandardize(column:
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
scaleNormalize_(column: ITidyNumericColumn, idx: number, min: number | undefined, max: number | undefined, val: number | undefined): number | undefined;
|
|
95
|
-
scaleNormalize(column: ITidyNumericColumn): RealValuedFunction | undefined;
|
|
96
|
-
scaleStandardize(column: ITidyNumericColumn): RealValuedFunction | undefined;
|
|
97
|
-
variance(column: ITidyNumericColumn): number | undefined;
|
|
98
|
-
sum(column: ITidyNumericColumn): number;
|
|
99
|
-
min<T>(column: ITidyBaseColumn<T>): T | undefined;
|
|
100
|
-
max<T>(column: ITidyBaseColumn<T>): T | undefined;
|
|
101
|
-
sumOnRoot(column: ITidyNumericColumn, tree: ITidyBaseColumn<any>): number;
|
|
102
|
-
count(column: ITidyColumn): number;
|
|
103
|
-
mean(column: ITidyNumericColumn): number | undefined;
|
|
104
|
-
median(column: ITidyNumericColumn): number | undefined;
|
|
105
|
-
hist(column: ITidyNumericColumn, numberOfBins?: number): HistogramData[];
|
|
106
|
-
ols(column: ITidyNumericColumn): RealValuedFunction | undefined;
|
|
107
|
-
valueCounts<T>(column: ITidyBaseColumn<T>): Map<T, number>;
|
|
109
|
+
scaleStandardize(column: ITidyBaseColumnReadonly<number | null>, idx: number): number | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Returns the covariance between two columns. Nulls are interpreted as zeros.
|
|
112
|
+
*/
|
|
113
|
+
covariance(x: ITidyBaseColumnReadonly<number | null>, y: ITidyBaseColumnReadonly<number | null>): number | undefined;
|
|
108
114
|
}
|
|
109
|
-
export declare const TidyMath: TidyMathImpl;
|
|
110
|
-
export {};
|
package/dist/PublicTidyMath.js
CHANGED
|
@@ -1,283 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.TidyMath = void 0;
|
|
10
|
-
class TidyMathImpl {
|
|
11
|
-
percent(column, idx) {
|
|
12
|
-
const value = column.getValue(idx);
|
|
13
|
-
if (value != null) {
|
|
14
|
-
return value / this.sum(column);
|
|
15
|
-
}
|
|
16
|
-
return undefined;
|
|
17
|
-
}
|
|
18
|
-
scaleMaxAbsolute(column) {
|
|
19
|
-
let max = 0;
|
|
20
|
-
for (let i = 0; i < column.length(); i++) {
|
|
21
|
-
const val = column.getValue(i);
|
|
22
|
-
if (val != null) {
|
|
23
|
-
if (isNaN(val))
|
|
24
|
-
return undefined;
|
|
25
|
-
const v = Math.abs(val);
|
|
26
|
-
if (v > max)
|
|
27
|
-
max = v;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return (x) => x / max;
|
|
31
|
-
}
|
|
32
|
-
scaleNormalize_(column, idx, min, max, val) {
|
|
33
|
-
var _a, _b, _c;
|
|
34
|
-
if (min == null) {
|
|
35
|
-
min = (_a = exports.TidyMath.min(column)) !== null && _a !== void 0 ? _a : undefined;
|
|
36
|
-
}
|
|
37
|
-
if (max == null) {
|
|
38
|
-
max = (_b = exports.TidyMath.max(column)) !== null && _b !== void 0 ? _b : undefined;
|
|
39
|
-
}
|
|
40
|
-
if (val == null) {
|
|
41
|
-
val = (_c = column.getValue(idx)) !== null && _c !== void 0 ? _c : undefined;
|
|
42
|
-
}
|
|
43
|
-
if (min == null || max == null || val == null) {
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
if (min === max) {
|
|
47
|
-
return 1;
|
|
48
|
-
}
|
|
49
|
-
return (val - min) / (max - min);
|
|
50
|
-
}
|
|
51
|
-
scaleNormalize(column) {
|
|
52
|
-
const max = this.max(column);
|
|
53
|
-
const min = this.min(column);
|
|
54
|
-
if (min == null || max == null) {
|
|
55
|
-
return undefined;
|
|
56
|
-
}
|
|
57
|
-
const range = max - min;
|
|
58
|
-
return (x) => (x - min) / range;
|
|
59
|
-
}
|
|
60
|
-
scaleStandardize(column) {
|
|
61
|
-
const mean = this.mean(column);
|
|
62
|
-
const variance = this.variance(column);
|
|
63
|
-
if (variance == null || mean == null) {
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
const stdev = Math.sqrt(variance);
|
|
67
|
-
return (x) => (x - mean) / stdev;
|
|
68
|
-
}
|
|
69
|
-
variance(column) {
|
|
70
|
-
const count = this.count(column);
|
|
71
|
-
const columnMean = this.mean(column);
|
|
72
|
-
if (columnMean == null) {
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
let sum_errors_squared = 0;
|
|
76
|
-
for (let i = 0; i < column.length(); i++) {
|
|
77
|
-
const value = column.getValue(i);
|
|
78
|
-
if (value != null) {
|
|
79
|
-
sum_errors_squared += Math.pow((value - columnMean), 2);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
const dof = count - 1;
|
|
83
|
-
if (dof === 0)
|
|
84
|
-
return undefined;
|
|
85
|
-
return sum_errors_squared / dof;
|
|
86
|
-
}
|
|
87
|
-
sum(column) {
|
|
88
|
-
var _a;
|
|
89
|
-
if (column.length() === 0) {
|
|
90
|
-
return 0; // https://en.wikipedia.org/wiki/Empty_sum
|
|
91
|
-
}
|
|
92
|
-
return (_a = column.getValues().reduce((a, b) => (a !== null && a !== void 0 ? a : 0) + (b !== null && b !== void 0 ? b : 0))) !== null && _a !== void 0 ? _a : 0;
|
|
93
|
-
}
|
|
94
|
-
min(column) {
|
|
95
|
-
let result = undefined;
|
|
96
|
-
for (let i = 0; i < column.length(); i++) {
|
|
97
|
-
const value = column.getValue(i);
|
|
98
|
-
if (typeof value === "number" && isNaN(value)) {
|
|
99
|
-
return undefined;
|
|
100
|
-
}
|
|
101
|
-
if (value == null) {
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
104
|
-
if (result === undefined) {
|
|
105
|
-
result = value;
|
|
106
|
-
}
|
|
107
|
-
else if (column.compare(value, result) < 0) {
|
|
108
|
-
result = value;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return result;
|
|
112
|
-
}
|
|
113
|
-
max(column) {
|
|
114
|
-
let result = undefined;
|
|
115
|
-
for (let i = 0; i < column.length(); i++) {
|
|
116
|
-
const value = column.getValue(i);
|
|
117
|
-
if (typeof value === "number" && isNaN(value)) {
|
|
118
|
-
return undefined;
|
|
119
|
-
}
|
|
120
|
-
if (value == null) {
|
|
121
|
-
continue;
|
|
122
|
-
}
|
|
123
|
-
if (result === undefined) {
|
|
124
|
-
result = value;
|
|
125
|
-
}
|
|
126
|
-
else if (column.compare(value, result) > 0) {
|
|
127
|
-
result = value;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return result;
|
|
131
|
-
}
|
|
132
|
-
sumOnRoot(column, tree) {
|
|
133
|
-
var _a;
|
|
134
|
-
if (tree.isHierarchy() && tree.length()) {
|
|
135
|
-
let sum = 0;
|
|
136
|
-
const N = column.length();
|
|
137
|
-
for (let i = 0; i < N; i++) {
|
|
138
|
-
const cLevel = tree.getLevelDepth(i) || 0;
|
|
139
|
-
if (cLevel <= 0) {
|
|
140
|
-
sum += (_a = column.getValue(i)) !== null && _a !== void 0 ? _a : 0;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return sum;
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
return this.sum(column);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
count(column) {
|
|
150
|
-
let count = 0;
|
|
151
|
-
column.getValues().forEach(v => v != null && count++);
|
|
152
|
-
return count;
|
|
153
|
-
}
|
|
154
|
-
mean(column) {
|
|
155
|
-
const count = this.count(column);
|
|
156
|
-
if (count !== 0) {
|
|
157
|
-
const sum = this.sum(column);
|
|
158
|
-
if (sum != null && !isNaN(sum)) {
|
|
159
|
-
return sum / count;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
return undefined;
|
|
163
|
-
}
|
|
164
|
-
median(column) {
|
|
165
|
-
const values = [];
|
|
166
|
-
for (const v of column.getValues()) {
|
|
167
|
-
if (v != null) {
|
|
168
|
-
if (isNaN(v))
|
|
169
|
-
return undefined;
|
|
170
|
-
values.push(v);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
if (values.length === 0) {
|
|
174
|
-
return undefined;
|
|
175
|
-
}
|
|
176
|
-
if (values.length === 1) {
|
|
177
|
-
return values[0];
|
|
178
|
-
}
|
|
179
|
-
values.sort();
|
|
180
|
-
const half = Math.floor(values.length / 2);
|
|
181
|
-
if (values.length % 2)
|
|
182
|
-
return values[half];
|
|
183
|
-
return (values[half - 1] + values[half]) / 2.0;
|
|
184
|
-
}
|
|
185
|
-
hist(column, numberOfBins = 10) {
|
|
186
|
-
const valueMin = this.min(column);
|
|
187
|
-
const valueMax = this.max(column);
|
|
188
|
-
if (numberOfBins <= 0 || column.length() === 0 || valueMin == null || valueMax == null) {
|
|
189
|
-
return [];
|
|
190
|
-
}
|
|
191
|
-
const valueRange = valueMax - valueMin;
|
|
192
|
-
if (valueRange === 0) {
|
|
193
|
-
return [{
|
|
194
|
-
from: valueMin,
|
|
195
|
-
to: valueMax,
|
|
196
|
-
count: column.length()
|
|
197
|
-
}];
|
|
198
|
-
}
|
|
199
|
-
const valueStep = valueRange / numberOfBins;
|
|
200
|
-
const binData = new Array(numberOfBins);
|
|
201
|
-
for (let b = 0; b < numberOfBins; b++) {
|
|
202
|
-
binData[b] = {
|
|
203
|
-
from: valueMin + valueStep * b,
|
|
204
|
-
to: valueMin + valueStep * (b + 1),
|
|
205
|
-
count: 0
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
column.getValues().forEach(value => {
|
|
209
|
-
if (value != null) {
|
|
210
|
-
const b = Math.floor((value - valueMin) / valueRange * (numberOfBins - 1));
|
|
211
|
-
binData[b].count++;
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
return binData;
|
|
215
|
-
}
|
|
216
|
-
ols(column) {
|
|
217
|
-
const values = [];
|
|
218
|
-
column.getValues().forEach(v => v && values.push(v));
|
|
219
|
-
const data = values.map((value, index) => [index, value]);
|
|
220
|
-
if (data.length < 2) {
|
|
221
|
-
return undefined;
|
|
222
|
-
}
|
|
223
|
-
const sum_y = data.reduce((a, b) => a + b[1], 0);
|
|
224
|
-
const sum_x = data.reduce((a, b) => a + b[0], 0);
|
|
225
|
-
const sum_x_squared = data.reduce((a, b) => a + b[0] * b[0], 0);
|
|
226
|
-
const variance_x = sum_x_squared - sum_x * sum_x / data.length;
|
|
227
|
-
const cov = data.reduce((a, b) => a + b[0] * b[1], 0) - sum_x * sum_y / data.length;
|
|
228
|
-
const b = cov / variance_x;
|
|
229
|
-
const a = sum_y / data.length - b * sum_x / data.length;
|
|
230
|
-
if (isNaN(b) || isNaN(a)) {
|
|
231
|
-
return undefined;
|
|
232
|
-
}
|
|
233
|
-
return (x) => {
|
|
234
|
-
return a + b * x;
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
valueCounts(column) {
|
|
238
|
-
const counts = new Map();
|
|
239
|
-
column.getValues().forEach(value => {
|
|
240
|
-
var _a;
|
|
241
|
-
counts.set(value, ((_a = counts.get(value)) !== null && _a !== void 0 ? _a : 0) + 1);
|
|
242
|
-
});
|
|
243
|
-
return counts;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
__decorate([
|
|
247
|
-
cached
|
|
248
|
-
], TidyMathImpl.prototype, "variance", null);
|
|
249
|
-
__decorate([
|
|
250
|
-
cached
|
|
251
|
-
], TidyMathImpl.prototype, "sum", null);
|
|
252
|
-
__decorate([
|
|
253
|
-
cached
|
|
254
|
-
], TidyMathImpl.prototype, "min", null);
|
|
255
|
-
__decorate([
|
|
256
|
-
cached
|
|
257
|
-
], TidyMathImpl.prototype, "max", null);
|
|
258
|
-
__decorate([
|
|
259
|
-
cached
|
|
260
|
-
], TidyMathImpl.prototype, "count", null);
|
|
261
|
-
__decorate([
|
|
262
|
-
cached
|
|
263
|
-
], TidyMathImpl.prototype, "mean", null);
|
|
264
|
-
__decorate([
|
|
265
|
-
cached
|
|
266
|
-
], TidyMathImpl.prototype, "median", null);
|
|
267
|
-
/**
|
|
268
|
-
* Cache the result of the function in the column. Note, the function should have one argument which is the column.
|
|
269
|
-
*/
|
|
270
|
-
function cached(target, propertyName, descriptor) {
|
|
271
|
-
const originalMethod = descriptor.value;
|
|
272
|
-
descriptor.value = function (column) {
|
|
273
|
-
const cachedValue = column.getCachedValue(propertyName);
|
|
274
|
-
if (cachedValue != null) {
|
|
275
|
-
return cachedValue;
|
|
276
|
-
}
|
|
277
|
-
const returnValue = originalMethod === null || originalMethod === void 0 ? void 0 : originalMethod.apply(this, [column]);
|
|
278
|
-
column.setCachedValue(propertyName, returnValue);
|
|
279
|
-
return returnValue;
|
|
280
|
-
};
|
|
281
|
-
}
|
|
282
|
-
exports.TidyMath = new TidyMathImpl();
|
|
283
3
|
//# sourceMappingURL=PublicTidyMath.js.map
|