@trudb/tru-common-lib 0.0.184 → 0.0.185
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/esm2020/lib/classes/tru-formula-eval.mjs +26 -26
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/trudb-tru-common-lib.mjs +26 -26
- package/fesm2015/trudb-tru-common-lib.mjs.map +1 -1
- package/fesm2020/trudb-tru-common-lib.mjs +26 -26
- package/fesm2020/trudb-tru-common-lib.mjs.map +1 -1
- package/lib/classes/tru-formula-eval.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _ from 'underscore';
|
|
2
2
|
import * as moment from 'moment';
|
|
3
|
-
export class
|
|
3
|
+
export class TruFormulaEval {
|
|
4
4
|
static isString(s) {
|
|
5
5
|
return typeof s === 'string';
|
|
6
6
|
}
|
|
@@ -39,33 +39,33 @@ export class FormulaEval {
|
|
|
39
39
|
* Exposed for testing.
|
|
40
40
|
*/
|
|
41
41
|
static _calculate(f, left, right) {
|
|
42
|
-
if (
|
|
42
|
+
if (TruFormulaEval.isString(left))
|
|
43
43
|
left = parseFloat(left);
|
|
44
|
-
if (
|
|
45
|
-
if (
|
|
44
|
+
if (TruFormulaEval.isString(left))
|
|
45
|
+
if (TruFormulaEval.isString(right))
|
|
46
46
|
right = parseFloat(right);
|
|
47
47
|
return f(left, right);
|
|
48
48
|
}
|
|
49
49
|
static _calculateDate(left, right, add) {
|
|
50
50
|
if (add) {
|
|
51
|
-
if (
|
|
51
|
+
if (TruFormulaEval.isDate(left) && !TruFormulaEval.isDate(right)) {
|
|
52
52
|
return moment(left).add(right, 'day').toDate();
|
|
53
53
|
}
|
|
54
|
-
if (!
|
|
54
|
+
if (!TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
|
|
55
55
|
return moment(right).add(left, 'day').toDate();
|
|
56
56
|
}
|
|
57
|
-
if (
|
|
57
|
+
if (TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
|
|
58
58
|
moment(left).add(right).toDate();
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
else {
|
|
62
|
-
if (
|
|
62
|
+
if (TruFormulaEval.isDate(left) && !TruFormulaEval.isDate(right)) {
|
|
63
63
|
return moment(left).subtract(right, 'day').toDate();
|
|
64
64
|
}
|
|
65
|
-
if (!
|
|
65
|
+
if (!TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
|
|
66
66
|
return moment(right).subtract(left, 'day').toDate();
|
|
67
67
|
}
|
|
68
|
-
if (
|
|
68
|
+
if (TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
|
|
69
69
|
//var m = moment(left).diff(right, 'days'); //Integer value, but Excel uses decimal for date time
|
|
70
70
|
var m = moment(left).diff(moment(right)) / 86400000; //divide by miliseconds in a day, decimal answer 1.0 = 1 day, 0.5 = 12 hours
|
|
71
71
|
return m;
|
|
@@ -76,36 +76,36 @@ export class FormulaEval {
|
|
|
76
76
|
static add(left, right) {
|
|
77
77
|
if (left === null || left === undefined || right === null || right === undefined)
|
|
78
78
|
return undefined;
|
|
79
|
-
if (
|
|
80
|
-
return
|
|
81
|
-
return
|
|
79
|
+
if (TruFormulaEval.isDate(left) || TruFormulaEval.isDate(right))
|
|
80
|
+
return TruFormulaEval._calculateDate(left, right, true);
|
|
81
|
+
return TruFormulaEval._calculate(function (l, r) { return l + r; }, left, right);
|
|
82
82
|
}
|
|
83
83
|
static subtract(left, right) {
|
|
84
84
|
if (left === null || left === undefined || right === null || right === undefined)
|
|
85
85
|
return undefined;
|
|
86
|
-
if (
|
|
87
|
-
return
|
|
88
|
-
return
|
|
86
|
+
if (TruFormulaEval.isDate(left) || TruFormulaEval.isDate(right))
|
|
87
|
+
return TruFormulaEval._calculateDate(left, right, true);
|
|
88
|
+
return TruFormulaEval._calculate(function (l, r) { return l - r; }, left, right);
|
|
89
89
|
}
|
|
90
90
|
static multiply(left, right) {
|
|
91
91
|
if (left === null || left === undefined || right === null || right === undefined)
|
|
92
92
|
return undefined;
|
|
93
|
-
return
|
|
93
|
+
return TruFormulaEval._calculate(function (l, r) { return l * r; }, left, right);
|
|
94
94
|
}
|
|
95
95
|
static divide(left, right) {
|
|
96
96
|
if (left === null || left === undefined || right === null || right === undefined)
|
|
97
97
|
return undefined;
|
|
98
|
-
return
|
|
98
|
+
return TruFormulaEval._calculate(function (l, r) { return l / r; }, left, right);
|
|
99
99
|
}
|
|
100
100
|
static power(left, right) {
|
|
101
101
|
if (left === null || left === undefined || right === null || right === undefined)
|
|
102
102
|
return undefined;
|
|
103
|
-
return
|
|
103
|
+
return TruFormulaEval._calculate(Math.pow, left, right);
|
|
104
104
|
}
|
|
105
105
|
static concatenate(left, right) {
|
|
106
106
|
if (_.isBoolean(left))
|
|
107
107
|
left = left ? 'TRUE' : 'FALSE';
|
|
108
|
-
else if (!
|
|
108
|
+
else if (!TruFormulaEval.isString(left))
|
|
109
109
|
//NOTE: only need to convert left to string since concat() will coerce parameters
|
|
110
110
|
left = left.toString();
|
|
111
111
|
if (_.isBoolean(right))
|
|
@@ -120,22 +120,22 @@ export class FormulaEval {
|
|
|
120
120
|
}
|
|
121
121
|
static lessThan(left, right) {
|
|
122
122
|
if (typeof (left) !== typeof (right))
|
|
123
|
-
return !
|
|
123
|
+
return !TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
|
|
124
124
|
return left < right;
|
|
125
125
|
}
|
|
126
126
|
static greaterThan(left, right) {
|
|
127
127
|
if (typeof (left) !== typeof (right))
|
|
128
|
-
return
|
|
128
|
+
return TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
|
|
129
129
|
return left > right;
|
|
130
130
|
}
|
|
131
131
|
static lessThanOrEqual(left, right) {
|
|
132
132
|
if (typeof (left) !== typeof (right))
|
|
133
|
-
return !
|
|
133
|
+
return !TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
|
|
134
134
|
return left <= right;
|
|
135
135
|
}
|
|
136
136
|
static greaterThanOrEqual(left, right) {
|
|
137
137
|
if (typeof (left) !== typeof (right))
|
|
138
|
-
return
|
|
138
|
+
return TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
|
|
139
139
|
return left >= right;
|
|
140
140
|
}
|
|
141
141
|
static negate(operand) {
|
|
@@ -145,7 +145,7 @@ export class FormulaEval {
|
|
|
145
145
|
return operand / 100.0;
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
-
|
|
148
|
+
TruFormulaEval.compareResultForMismatchedParams = {
|
|
149
149
|
booleanstring: true,
|
|
150
150
|
booleannumber: true,
|
|
151
151
|
stringnumber: true,
|
|
@@ -153,4 +153,4 @@ FormulaEval.compareResultForMismatchedParams = {
|
|
|
153
153
|
numberstring: false,
|
|
154
154
|
numberboolean: false
|
|
155
155
|
};
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWZvcm11bGEtZXZhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY2xhc3Nlcy90cnUtZm9ybXVsYS1ldmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFBO0FBRWhDLE1BQU0sT0FBTyxXQUFXO0lBRWYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFNO1FBQzNCLE9BQU8sT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQU07UUFDekIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssZUFBZSxDQUFBO0lBQzlELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQVU7UUFDOUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFVO1FBQy9CLHlCQUF5QjtRQUN6QixzQ0FBc0M7UUFDdEMsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBVTtRQUMvQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ2hDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDcEIsT0FBTyxLQUFLLENBQUM7UUFDZixJQUFJLE1BQU0sR0FBRyxNQUFN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QUFDLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNsQyxPQUFPLENBQUMsV0FBVyxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2RixPQUFPLElBQUksSUFBSSxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUNNLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUNwRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ2xDLE9BQU8sV0FBVyxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RixPQUFPLElBQUksSUFBSSxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBWTtRQUMvQixPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQVk7UUFDaEMsT0FBTyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7O0FBbkNhLDRDQUFnQyxHQUFRO0lBQ3BELGFBQWEsRUFBRSxJQUFJO0lBQ25CLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLFlBQVksRUFBRSxLQUFLO0lBQ25CLGFBQWEsRUFBRSxLQUFLO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50J1xyXG5cclxuZXhwb3J0IGNsYXNzIEZvcm11bGFFdmFsIHtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc1N0cmluZyhzOiBhbnkpIHtcclxuICAgIHJldHVybiB0eXBlb2YgcyA9PT0gJ3N0cmluZyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGlzRGF0ZSh2OiBhbnkpIHtcclxuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodikgPT09ICdbb2JqZWN0IERhdGVdJ1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b1ZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdG9TdHJpbmcodmFsdWU6IGFueSkge1xyXG4gICAgLy9pZiAoXy5pc0Jvb2xlYW4odmFsdWUpKVxyXG4gICAgLy8gICAgcmV0dXJuIHZhbHVlID8gJ1RSVUUnIDogJ0ZBTFNFJztcclxuICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b0RvdWJsZSh2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdG9JbnRlZ2VyKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdG9Cb29sZWFuKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmIChfLmlzQm9vbGVhbih2YWx1ZSkpXHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIHZhciBudW1iZXIgPSBOdW1iZXIodmFsdWUpO1xyXG4gICAgaWYgKGlzTmFOKG51bWJlcikpXHJcbiAgICAgIHJldHVybiBOYU47XHJcbiAgICByZXR1cm4gbnVtYmVyICE9PSAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b0RhdGUodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpY3RvRGF0ZVRpbWUodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhwb3NlZCBmb3IgdGVzdGluZy5cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIF9jYWxjdWxhdGUoZjogYW55LCBsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChGb3JtdWxhRXZhbC5pc1N0cmluZyhsZWZ0KSlcclxuICAgICAgbGVmdCA9IHBhcnNlRmxvYXQobGVmdCk7XHJcbiAgICBpZiAoRm9ybXVsYUV2YWwuaXNTdHJpbmcobGVmdCkpXHJcbiAgICAgIGlmIChGb3JtdWxhRXZhbC5pc1N0cmluZyhyaWdodCkpXHJcbiAgICAgICAgcmlnaHQgPSBwYXJzZUZsb2F0KHJpZ2h0KTtcclxuICAgIHJldHVybiBmKGxlZnQsIHJpZ2h0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgX2NhbGN1bGF0ZURhdGUobGVmdDogYW55LCByaWdodDogYW55LCBhZGQ6IGFueSkge1xyXG4gICAgaWYgKGFkZCkge1xyXG4gICAgICBpZiAoRm9ybXVsYUV2YWwuaXNEYXRlKGxlZnQpICYmICFGb3JtdWxhRXZhbC5pc0RhdGUocmlnaHQpKSB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudChsZWZ0KS5hZGQocmlnaHQsICdkYXknKS50b0RhdGUoKTtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghRm9ybXVsYUV2YWwuaXNEYXRlKGxlZnQpICYmIEZvcm11bGFFdmFsLmlzRGF0ZShyaWdodCkpIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KHJpZ2h0KS5hZGQobGVmdCwgJ2RheScpLnRvRGF0ZSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoRm9ybXVsYUV2YWwuaXNEYXRlKGxlZnQpICYmIEZvcm11bGFFdmFsLmlzRGF0ZShyaWdodCkpIHtcclxuICAgICAgICBtb21lbnQobGVmdCkuYWRkKHJpZ2h0KS50b0RhdGUoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKEZvcm11bGFFdmFsLmlzRGF0ZShsZWZ0KSAmJiAhRm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSkge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQobGVmdCkuc3VidHJhY3QocmlnaHQsICdkYXknKS50b0RhdGUoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCFGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgJiYgRm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSkge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQocmlnaHQpLnN1YnRyYWN0KGxlZnQsICdkYXknKS50b0RhdGUoKTtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgJiYgRm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSkge1xyXG4gICAgICAgIC8vdmFyIG0gPSBtb21lbnQobGVmdCkuZGlmZihyaWdodCwgJ2RheXMnKTsgLy9JbnRlZ2VyIHZhbHVlLCBidXQgRXhjZWwgdXNlcyBkZWNpbWFsIGZvciBkYXRlIHRpbWVcclxuICAgICAgICB2YXIgbSA9IG1vbWVudChsZWZ0KS5kaWZmKG1vbWVudChyaWdodCkpIC8gODY0MDAwMDA7IC8vZGl2aWRlIGJ5IG1pbGlzZWNvbmRzIGluIGEgZGF5LCBkZWNpbWFsIGFuc3dlciAxLjAgPSAxIGRheSwgMC41ID0gMTIgaG91cnNcclxuICAgICAgICByZXR1cm4gbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGFkZChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChsZWZ0ID09PSBudWxsIHx8IGxlZnQgPT09IHVuZGVmaW5lZCB8fCByaWdodCA9PT0gbnVsbCB8fCByaWdodCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuICAgIGlmIChGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgfHwgRm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSlcclxuICAgICAgcmV0dXJuIEZvcm11bGFFdmFsLl9jYWxjdWxhdGVEYXRlKGxlZnQsIHJpZ2h0LCB0cnVlKTtcclxuXHJcbiAgICByZXR1cm4gRm9ybXVsYUV2YWwuX2NhbGN1bGF0ZShmdW5jdGlvbiAobDogYW55LCByOiBhbnkpIHsgcmV0dXJuIGwgKyByIH0sIGxlZnQsIHJpZ2h0KTtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBzdWJ0cmFjdChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChsZWZ0ID09PSBudWxsIHx8IGxlZnQgPT09IHVuZGVmaW5lZCB8fCByaWdodCA9PT0gbnVsbCB8fCByaWdodCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuICAgIGlmIChGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgfHwgRm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSlcclxuICAgICAgcmV0dXJuIEZvcm11bGFFdmFsLl9jYWxjdWxhdGVEYXRlKGxlZnQsIHJpZ2h0LCB0cnVlKTtcclxuXHJcbiAgICByZXR1cm4gRm9ybXVsYUV2YWwuX2NhbGN1bGF0ZShmdW5jdGlvbiAobDogYW55LCByOiBhbnkpIHsgcmV0dXJuIGwgLSByIH0sIGxlZnQsIHJpZ2h0KTtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBtdWx0aXBseShsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChsZWZ0ID09PSBudWxsIHx8IGxlZnQgPT09IHVuZGVmaW5lZCB8fCByaWdodCA9PT0gbnVsbCB8fCByaWdodCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuICAgIHJldHVybiBGb3JtdWxhRXZhbC5fY2FsY3VsYXRlKGZ1bmN0aW9uIChsOiBhbnksIHI6IGFueSkgeyByZXR1cm4gbCAqIHIgfSwgbGVmdCwgcmlnaHQpO1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIGRpdmlkZShsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChsZWZ0ID09PSBudWxsIHx8IGxlZnQgPT09IHVuZGVmaW5lZCB8fCByaWdodCA9PT0gbnVsbCB8fCByaWdodCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuICAgIHJldHVybiBGb3JtdWxhRXZhbC5fY2FsY3VsYXRlKGZ1bmN0aW9uIChsOiBhbnksIHI6IGFueSkgeyByZXR1cm4gbCAvIHIgfSwgbGVmdCwgcmlnaHQpO1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIHBvd2VyKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKGxlZnQgPT09IG51bGwgfHwgbGVmdCA9PT0gdW5kZWZpbmVkIHx8IHJpZ2h0ID09PSBudWxsIHx8IHJpZ2h0ID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgcmV0dXJuIEZvcm11bGFFdmFsLl9jYWxjdWxhdGUoTWF0aC5wb3csIGxlZnQsIHJpZ2h0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY29uY2F0ZW5hdGUobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAoXy5pc0Jvb2xlYW4obGVmdCkpXHJcbiAgICAgIGxlZnQgPSBsZWZ0ID8gJ1RSVUUnIDogJ0ZBTFNFJztcclxuICAgIGVsc2UgaWYgKCFGb3JtdWxhRXZhbC5pc1N0cmluZyhsZWZ0KSlcclxuICAgICAgLy9OT1RFOiBvbmx5IG5lZWQgdG8gY29udmVydCBsZWZ0IHRvIHN0cmluZyBzaW5jZSBjb25jYXQoKSB3aWxsIGNvZXJjZSBwYXJhbWV0ZXJzXHJcbiAgICAgIGxlZnQgPSBsZWZ0LnRvU3RyaW5nKCk7XHJcbiAgICBpZiAoXy5pc0Jvb2xlYW4ocmlnaHQpKVxyXG4gICAgICByaWdodCA9IHJpZ2h0ID8gJ1RSVUUnIDogJ0ZBTFNFJztcclxuICAgIHJldHVybiBsZWZ0LmNvbmNhdChyaWdodCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgZXF1YWwobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICByZXR1cm4gbGVmdCA9PT0gcmlnaHQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgbm90RXF1YWwobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICByZXR1cm4gbGVmdCAhPT0gcmlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNvbXBhcmVSZXN1bHRGb3JNaXNtYXRjaGVkUGFyYW1zOiBhbnkgPSB7XHJcbiAgICBib29sZWFuc3RyaW5nOiB0cnVlLFxyXG4gICAgYm9vbGVhbm51bWJlcjogdHJ1ZSxcclxuICAgIHN0cmluZ251bWJlcjogdHJ1ZSxcclxuICAgIHN0cmluZ2Jvb2xlYW46IGZhbHNlLFxyXG4gICAgbnVtYmVyc3RyaW5nOiBmYWxzZSxcclxuICAgIG51bWJlcmJvb2xlYW46IGZhbHNlXHJcbiAgfTtcclxuICBwdWJsaWMgc3RhdGljIGxlc3NUaGFuKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiAobGVmdCkgIT09IHR5cGVvZiAocmlnaHQpKVxyXG4gICAgICByZXR1cm4gIUZvcm11bGFFdmFsLmNvbXBhcmVSZXN1bHRGb3JNaXNtYXRjaGVkUGFyYW1zW3R5cGVvZiAobGVmdCkgKyB0eXBlb2YgKHJpZ2h0KV07XHJcbiAgICByZXR1cm4gbGVmdCA8IHJpZ2h0O1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIGdyZWF0ZXJUaGFuKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiAobGVmdCkgIT09IHR5cGVvZiAocmlnaHQpKVxyXG4gICAgICByZXR1cm4gRm9ybXVsYUV2YWwuY29tcGFyZVJlc3VsdEZvck1pc21hdGNoZWRQYXJhbXNbdHlwZW9mIChsZWZ0KSArIHR5cGVvZiAocmlnaHQpXTtcclxuICAgIHJldHVybiBsZWZ0ID4gcmlnaHQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgbGVzc1RoYW5PckVxdWFsKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiAobGVmdCkgIT09IHR5cGVvZiAocmlnaHQpKVxyXG4gICAgICByZXR1cm4gIUZvcm11bGFFdmFsLmNvbXBhcmVSZXN1bHRGb3JNaXNtYXRjaGVkUGFyYW1zW3R5cGVvZiAobGVmdCkgKyB0eXBlb2YgKHJpZ2h0KV07XHJcbiAgICByZXR1cm4gbGVmdCA8PSByaWdodDtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBncmVhdGVyVGhhbk9yRXF1YWwobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIChsZWZ0KSAhPT0gdHlwZW9mIChyaWdodCkpXHJcbiAgICAgIHJldHVybiBGb3JtdWxhRXZhbC5jb21wYXJlUmVzdWx0Rm9yTWlzbWF0Y2hlZFBhcmFtc1t0eXBlb2YgKGxlZnQpICsgdHlwZW9mIChyaWdodCldO1xyXG4gICAgcmV0dXJuIGxlZnQgPj0gcmlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIG5lZ2F0ZShvcGVyYW5kOiBhbnkpIHtcclxuICAgIHJldHVybiAtb3BlcmFuZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgcGVyY2VudChvcGVyYW5kOiBhbnkpIHtcclxuICAgIHJldHVybiBvcGVyYW5kIC8gMTAwLjA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWZvcm11bGEtZXZhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY2xhc3Nlcy90cnUtZm9ybXVsYS1ldmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFBO0FBRWhDLE1BQU0sT0FBTyxjQUFjO0lBRWxCLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBTTtRQUMzQixPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFNO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLGVBQWUsQ0FBQTtJQUM5RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFVO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBVTtRQUMvQix5QkFBeUI7UUFDekIsc0NBQXNDO1FBQ3RDLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQVU7UUFDL0IsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUNoQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ3BCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsSUFBSSxNQUFNLEdBQUcsTUFB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QUUsS0FBVTtRQUNyQyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQzlFLE9BQU8sU0FBUyxDQUFDO1FBRW5CLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUM3RCxPQUFPLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUxRCxPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFNLEVBQUUsQ0FBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUNNLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBUyxFQUFFLEtBQVU7UUFDMUMsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUztZQUM5RSxPQUFPLFNBQVMsQ0FBQztRQUVuQixJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDN0QsT0FBTyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFMUQsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBTSxFQUFFLENBQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFDTSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVMsRUFBRSxLQUFVO1FBQzFDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVM7WUFDOUUsT0FBTyxTQUFTLENBQUM7UUFFbkIsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBTSxFQUFFLENBQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFDTSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVMsRUFBRSxLQUFVO1FBQ3hDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVM7WUFDOUUsT0FBTyxTQUFTLENBQUM7UUFFbkIsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBTSxFQUFFLENBQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFDTSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQVMsRUFBRSxLQUFVO1FBQ3ZDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVM7WUFDOUUsT0FBTyxTQUFTLENBQUM7UUFFbkIsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQVMsRUFBRSxLQUFVO1FBQzdDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7YUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3JDLGlGQUFpRjtZQUNqRixJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDcEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDTSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQVMsRUFBRSxLQUFVO1FBQ3ZDLE9BQU8sSUFBSSxLQUFLLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBQ00sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUMxQyxPQUFPLElBQUksS0FBSyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQVVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBUyxFQUFFLEtBQVU7UUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNsQyxPQUFPLENBQUMsY0FBYyxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRixPQUFPLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNNLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBUyxFQUFFLEtBQVU7UUFDN0MsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNsQyxPQUFPLGNBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDTSxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVMsRUFBRSxLQUFVO1FBQ2pELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDbEMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUYsT0FBTyxJQUFJLElBQUksS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFDTSxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBUyxFQUFFLEtBQVU7UUFDcEQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNsQyxPQUFPLGNBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLElBQUksS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQVk7UUFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFZO1FBQ2hDLE9BQU8sT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDOztBQW5DYSwrQ0FBZ0MsR0FBUTtJQUNwRCxhQUFhLEVBQUUsSUFBSTtJQUNuQixhQUFhLEVBQUUsSUFBSTtJQUNuQixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsS0FBSztJQUNwQixZQUFZLEVBQUUsS0FBSztJQUNuQixhQUFhLEVBQUUsS0FBSztDQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICd1bmRlcnNjb3JlJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCdcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVGb3JtdWxhRXZhbCB7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNTdHJpbmcoczogYW55KSB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHMgPT09ICdzdHJpbmcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc0RhdGUodjogYW55KSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHYpID09PSAnW29iamVjdCBEYXRlXSdcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdG9WYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHRvU3RyaW5nKHZhbHVlOiBhbnkpIHtcclxuICAgIC8vaWYgKF8uaXNCb29sZWFuKHZhbHVlKSlcclxuICAgIC8vICAgIHJldHVybiB2YWx1ZSA/ICdUUlVFJyA6ICdGQUxTRSc7XHJcbiAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdG9Eb3VibGUodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHRvSW50ZWdlcih2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHRvQm9vbGVhbih2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAoXy5pc0Jvb2xlYW4odmFsdWUpKVxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB2YXIgbnVtYmVyID0gTnVtYmVyKHZhbHVlKTtcclxuICAgIGlmIChpc05hTihudW1iZXIpKVxyXG4gICAgICByZXR1cm4gTmFOO1xyXG4gICAgcmV0dXJuIG51bWJlciAhPT0gMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdG9EYXRlKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWN0b0RhdGVUaW1lKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4cG9zZWQgZm9yIHRlc3RpbmcuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBfY2FsY3VsYXRlKGY6IGFueSwgbGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAoVHJ1Rm9ybXVsYUV2YWwuaXNTdHJpbmcobGVmdCkpXHJcbiAgICAgIGxlZnQgPSBwYXJzZUZsb2F0KGxlZnQpO1xyXG4gICAgaWYgKFRydUZvcm11bGFFdmFsLmlzU3RyaW5nKGxlZnQpKVxyXG4gICAgICBpZiAoVHJ1Rm9ybXVsYUV2YWwuaXNTdHJpbmcocmlnaHQpKVxyXG4gICAgICAgIHJpZ2h0ID0gcGFyc2VGbG9hdChyaWdodCk7XHJcbiAgICByZXR1cm4gZihsZWZ0LCByaWdodCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIF9jYWxjdWxhdGVEYXRlKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSwgYWRkOiBhbnkpIHtcclxuICAgIGlmIChhZGQpIHtcclxuICAgICAgaWYgKFRydUZvcm11bGFFdmFsLmlzRGF0ZShsZWZ0KSAmJiAhVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKHJpZ2h0KSkge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQobGVmdCkuYWRkKHJpZ2h0LCAnZGF5JykudG9EYXRlKCk7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIVRydUZvcm11bGFFdmFsLmlzRGF0ZShsZWZ0KSAmJiBUcnVGb3JtdWxhRXZhbC5pc0RhdGUocmlnaHQpKSB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudChyaWdodCkuYWRkKGxlZnQsICdkYXknKS50b0RhdGUoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKFRydUZvcm11bGFFdmFsLmlzRGF0ZShsZWZ0KSAmJiBUcnVGb3JtdWxhRXZhbC5pc0RhdGUocmlnaHQpKSB7XHJcbiAgICAgICAgbW9tZW50KGxlZnQpLmFkZChyaWdodCkudG9EYXRlKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChUcnVGb3JtdWxhRXZhbC5pc0RhdGUobGVmdCkgJiYgIVRydUZvcm11bGFFdmFsLmlzRGF0ZShyaWdodCkpIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KGxlZnQpLnN1YnRyYWN0KHJpZ2h0LCAnZGF5JykudG9EYXRlKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKGxlZnQpICYmIFRydUZvcm11bGFFdmFsLmlzRGF0ZShyaWdodCkpIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KHJpZ2h0KS5zdWJ0cmFjdChsZWZ0LCAnZGF5JykudG9EYXRlKCk7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKGxlZnQpICYmIFRydUZvcm11bGFFdmFsLmlzRGF0ZShyaWdodCkpIHtcclxuICAgICAgICAvL3ZhciBtID0gbW9tZW50KGxlZnQpLmRpZmYocmlnaHQsICdkYXlzJyk7IC8vSW50ZWdlciB2YWx1ZSwgYnV0IEV4Y2VsIHVzZXMgZGVjaW1hbCBmb3IgZGF0ZSB0aW1lXHJcbiAgICAgICAgdmFyIG0gPSBtb21lbnQobGVmdCkuZGlmZihtb21lbnQocmlnaHQpKSAvIDg2NDAwMDAwOyAvL2RpdmlkZSBieSBtaWxpc2Vjb25kcyBpbiBhIGRheSwgZGVjaW1hbCBhbnN3ZXIgMS4wID0gMSBkYXksIDAuNSA9IDEyIGhvdXJzXHJcbiAgICAgICAgcmV0dXJuIG07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhZGQobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAobGVmdCA9PT0gbnVsbCB8fCBsZWZ0ID09PSB1bmRlZmluZWQgfHwgcmlnaHQgPT09IG51bGwgfHwgcmlnaHQgPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAoVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKGxlZnQpIHx8IFRydUZvcm11bGFFdmFsLmlzRGF0ZShyaWdodCkpXHJcbiAgICAgIHJldHVybiBUcnVGb3JtdWxhRXZhbC5fY2FsY3VsYXRlRGF0ZShsZWZ0LCByaWdodCwgdHJ1ZSk7XHJcblxyXG4gICAgcmV0dXJuIFRydUZvcm11bGFFdmFsLl9jYWxjdWxhdGUoZnVuY3Rpb24gKGw6IGFueSwgcjogYW55KSB7IHJldHVybiBsICsgciB9LCBsZWZ0LCByaWdodCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgc3VidHJhY3QobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAobGVmdCA9PT0gbnVsbCB8fCBsZWZ0ID09PSB1bmRlZmluZWQgfHwgcmlnaHQgPT09IG51bGwgfHwgcmlnaHQgPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAoVHJ1Rm9ybXVsYUV2YWwuaXNEYXRlKGxlZnQpIHx8IFRydUZvcm11bGFFdmFsLmlzRGF0ZShyaWdodCkpXHJcbiAgICAgIHJldHVybiBUcnVGb3JtdWxhRXZhbC5fY2FsY3VsYXRlRGF0ZShsZWZ0LCByaWdodCwgdHJ1ZSk7XHJcblxyXG4gICAgcmV0dXJuIFRydUZvcm11bGFFdmFsLl9jYWxjdWxhdGUoZnVuY3Rpb24gKGw6IGFueSwgcjogYW55KSB7IHJldHVybiBsIC0gciB9LCBsZWZ0LCByaWdodCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgbXVsdGlwbHkobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAobGVmdCA9PT0gbnVsbCB8fCBsZWZ0ID09PSB1bmRlZmluZWQgfHwgcmlnaHQgPT09IG51bGwgfHwgcmlnaHQgPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICByZXR1cm4gVHJ1Rm9ybXVsYUV2YWwuX2NhbGN1bGF0ZShmdW5jdGlvbiAobDogYW55LCByOiBhbnkpIHsgcmV0dXJuIGwgKiByIH0sIGxlZnQsIHJpZ2h0KTtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBkaXZpZGUobGVmdDogYW55LCByaWdodDogYW55KSB7XHJcbiAgICBpZiAobGVmdCA9PT0gbnVsbCB8fCBsZWZ0ID09PSB1bmRlZmluZWQgfHwgcmlnaHQgPT09IG51bGwgfHwgcmlnaHQgPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICByZXR1cm4gVHJ1Rm9ybXVsYUV2YWwuX2NhbGN1bGF0ZShmdW5jdGlvbiAobDogYW55LCByOiBhbnkpIHsgcmV0dXJuIGwgLyByIH0sIGxlZnQsIHJpZ2h0KTtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBwb3dlcihsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmIChsZWZ0ID09PSBudWxsIHx8IGxlZnQgPT09IHVuZGVmaW5lZCB8fCByaWdodCA9PT0gbnVsbCB8fCByaWdodCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuICAgIHJldHVybiBUcnVGb3JtdWxhRXZhbC5fY2FsY3VsYXRlKE1hdGgucG93LCBsZWZ0LCByaWdodCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNvbmNhdGVuYXRlKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKF8uaXNCb29sZWFuKGxlZnQpKVxyXG4gICAgICBsZWZ0ID0gbGVmdCA/ICdUUlVFJyA6ICdGQUxTRSc7XHJcbiAgICBlbHNlIGlmICghVHJ1Rm9ybXVsYUV2YWwuaXNTdHJpbmcobGVmdCkpXHJcbiAgICAgIC8vTk9URTogb25seSBuZWVkIHRvIGNvbnZlcnQgbGVmdCB0byBzdHJpbmcgc2luY2UgY29uY2F0KCkgd2lsbCBjb2VyY2UgcGFyYW1ldGVyc1xyXG4gICAgICBsZWZ0ID0gbGVmdC50b1N0cmluZygpO1xyXG4gICAgaWYgKF8uaXNCb29sZWFuKHJpZ2h0KSlcclxuICAgICAgcmlnaHQgPSByaWdodCA/ICdUUlVFJyA6ICdGQUxTRSc7XHJcbiAgICByZXR1cm4gbGVmdC5jb25jYXQocmlnaHQpO1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIGVxdWFsKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgcmV0dXJuIGxlZnQgPT09IHJpZ2h0O1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIG5vdEVxdWFsKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgcmV0dXJuIGxlZnQgIT09IHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBjb21wYXJlUmVzdWx0Rm9yTWlzbWF0Y2hlZFBhcmFtczogYW55ID0ge1xyXG4gICAgYm9vbGVhbnN0cmluZzogdHJ1ZSxcclxuICAgIGJvb2xlYW5udW1iZXI6IHRydWUsXHJcbiAgICBzdHJpbmdudW1iZXI6IHRydWUsXHJcbiAgICBzdHJpbmdib29sZWFuOiBmYWxzZSxcclxuICAgIG51bWJlcnN0cmluZzogZmFsc2UsXHJcbiAgICBudW1iZXJib29sZWFuOiBmYWxzZVxyXG4gIH07XHJcbiAgcHVibGljIHN0YXRpYyBsZXNzVGhhbihsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgKGxlZnQpICE9PSB0eXBlb2YgKHJpZ2h0KSlcclxuICAgICAgcmV0dXJuICFUcnVGb3JtdWxhRXZhbC5jb21wYXJlUmVzdWx0Rm9yTWlzbWF0Y2hlZFBhcmFtc1t0eXBlb2YgKGxlZnQpICsgdHlwZW9mIChyaWdodCldO1xyXG4gICAgcmV0dXJuIGxlZnQgPCByaWdodDtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBncmVhdGVyVGhhbihsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgKGxlZnQpICE9PSB0eXBlb2YgKHJpZ2h0KSlcclxuICAgICAgcmV0dXJuIFRydUZvcm11bGFFdmFsLmNvbXBhcmVSZXN1bHRGb3JNaXNtYXRjaGVkUGFyYW1zW3R5cGVvZiAobGVmdCkgKyB0eXBlb2YgKHJpZ2h0KV07XHJcbiAgICByZXR1cm4gbGVmdCA+IHJpZ2h0O1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIGxlc3NUaGFuT3JFcXVhbChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgKGxlZnQpICE9PSB0eXBlb2YgKHJpZ2h0KSlcclxuICAgICAgcmV0dXJuICFUcnVGb3JtdWxhRXZhbC5jb21wYXJlUmVzdWx0Rm9yTWlzbWF0Y2hlZFBhcmFtc1t0eXBlb2YgKGxlZnQpICsgdHlwZW9mIChyaWdodCldO1xyXG4gICAgcmV0dXJuIGxlZnQgPD0gcmlnaHQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgZ3JlYXRlclRoYW5PckVxdWFsKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiAobGVmdCkgIT09IHR5cGVvZiAocmlnaHQpKVxyXG4gICAgICByZXR1cm4gVHJ1Rm9ybXVsYUV2YWwuY29tcGFyZVJlc3VsdEZvck1pc21hdGNoZWRQYXJhbXNbdHlwZW9mIChsZWZ0KSArIHR5cGVvZiAocmlnaHQpXTtcclxuICAgIHJldHVybiBsZWZ0ID49IHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBuZWdhdGUob3BlcmFuZDogYW55KSB7XHJcbiAgICByZXR1cm4gLW9wZXJhbmQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHBlcmNlbnQob3BlcmFuZDogYW55KSB7XHJcbiAgICByZXR1cm4gb3BlcmFuZCAvIDEwMC4wO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -32,6 +32,8 @@ export * from './lib/classes/tru-query-predicate-manager';
|
|
|
32
32
|
*/
|
|
33
33
|
export * from './lib/components/confirm-dialog/tru-confirm-dialog';
|
|
34
34
|
export * from './lib/components/confirm-dialog/tru-confirm-dialog-module';
|
|
35
|
+
export * from './lib/components/data-grid/classes/tru-data-grid-config';
|
|
36
|
+
export * from './lib/components/data-grid/enums/tru-data-grid-types';
|
|
35
37
|
export * from './lib/components/data-grid/tru-data-grid';
|
|
36
38
|
export * from './lib/components/data-grid/tru-data-grid-module';
|
|
37
39
|
export * from './lib/components/desktop/tru-desktop';
|
|
@@ -93,4 +95,4 @@ export * from './lib/services/tru-user';
|
|
|
93
95
|
*/
|
|
94
96
|
export * from './lib/assets/tru-search-icon-module';
|
|
95
97
|
export * from './lib/tru-common-module';
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZFQUE2RTtBQUM3RTs7R0FFRztBQUVIOztHQUVHO0FBQ0gsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDBDQUEwQyxDQUFDO0FBRXpEOztHQUVHO0FBQ0gsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFEOztHQUVHO0FBQ0gsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDJEQUEyRCxDQUFDO0FBRTFFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsaURBQWlELENBQUM7QUFFaEUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsNERBQTRELENBQUM7QUFFM0UsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHlEQUF5RCxDQUFDO0FBRXhFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYywyRUFBMkUsQ0FBQztBQUMxRixjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsdURBQXVELENBQUM7QUFFdEU7O0dBRUc7QUFDSCxjQUFjLGtGQUFrRixDQUFDO0FBQ2pHLGNBQWMseUZBQXlGLENBQUM7QUFFeEc7O0dBRUc7QUFDSCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsb0RBQW9ELENBQUM7QUFFbkU7O0dBRUc7QUFDSCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMseUJBQXlCLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPSdsaWIvZXZlbnQtaGFuZGxlcnMvdHJ1LXNlYXJjaC1ncm91cC1ldmVudC1oYW5kbGVyLnRzJyAvPlxyXG4vKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHRydS1jb21tb24tbGliXG4gKi9cblxuLypcbiAqIEJhc2UgQ2xhc3Nlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LWVudGl0eS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1zZWFyY2gtY29tcG9uZW50LWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1jbGFzc2VzL3RydS1zZWFyY2gtY29tcG9uZW50LWNvbmZpZy1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtdGFibGUtY29uZmlnLWJhc2UnO1xuXG4vKlxuICogQ2xhc3Nlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1mb3JtdWxhLWV2YWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJlZGljYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1jbG91ZC1maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1kZWNpbWFsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXByb3BlcnR5LWNvbmZpZy1mb3JlaWduLWtleSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctaW50ZWdlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctcGFzc3dvcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLXBlcmNlbnRhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLXNjaWVudGlmaWMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLXRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLXRleHQtY2hvaWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3RydS1wcm9wZXJ0eS1jb25maWctdXNhLWFkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLXppcC1jb2RlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdHJ1LXF1ZXJ5LXByZWRpY2F0ZS1tYW5hZ2VyJztcblxuLypcbiAqIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy90cnUtY29uZmlybS1kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy90cnUtY29uZmlybS1kaWFsb2ctbW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRhLWdyaWQvY2xhc3Nlcy90cnUtZGF0YS1ncmlkLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGEtZ3JpZC9lbnVtcy90cnUtZGF0YS1ncmlkLXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0YS1ncmlkL3RydS1kYXRhLWdyaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRhLWdyaWQvdHJ1LWRhdGEtZ3JpZC1tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rlc2t0b3AvdHJ1LWRlc2t0b3AnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kZXNrdG9wL3RydS1kZXNrdG9wLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rlc2t0b3Avc2VydmljZXMvdHJ1LXdpbmRvdy1hY3Rpb24tZXZlbnQtaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rlc2t0b3Avc2VydmljZXMvdHJ1LXdpbmRvdy1hZGQtdmlldy1ldmVudC1hcmdzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGVza3RvcC9zZXJ2aWNlcy90cnUtd2luZG93LWV2ZW50LWFyZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kZXNrdG9wL3NlcnZpY2VzL3RydS13aW5kb3ctZXZlbnQtaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZXhwb3J0LWRpYWxvZy90cnUtZXhwb3J0LWRpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2V4cG9ydC1kaWFsb2cvdHJ1LWV4cG9ydC1kaWFsb2ctbW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQvY29sdW1uL3RydS1jb2x1bW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQvY29sdW1uL3RydS1jb2x1bW4tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L2Zvcm0vdHJ1LWZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQvZm9ybS90cnUtZm9ybS1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQvZ3JvdXAtYm94L3RydS1ncm91cC1ib3gnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQvZ3JvdXAtYm94L3RydS1ncm91cC1ib3gtbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L3Jvdy90cnUtcm93JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0L3Jvdy90cnUtcm93LW1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci90cnUtdG9vbGJhcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdHJ1LXRvb2xiYXItbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9tZW51L3RydS10b29sYmFyLW1lbnUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL21lbnUvdHJ1LXRvb2xiYXItbWVudS1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL2J1dHRvbi90cnUtdG9vbGJhci1idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL2J1dHRvbi90cnUtdG9vbGJhci1idXR0b24tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9kcm9wZG93bi90cnUtdG9vbGJhci1kcm9wZG93bic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvZHJvcGRvd24vdHJ1LXRvb2xiYXItZHJvcGRvd24tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9zZXBhcmF0b3IvdHJ1LXRvb2xiYXItc2VwYXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci9zZXBhcmF0b3IvdHJ1LXRvb2xiYXItc2VwYXJhdG9yLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvY29udGV4dC1maWx0ZXIvdHJ1LXRvb2xiYXItY29udGV4dC1maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sYmFyL2NvbnRleHQtZmlsdGVyL3RydS10b29sYmFyLWNvbnRleHQtZmlsdGVyLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdGV4dC90cnUtdG9vbGJhci10ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbGJhci90ZXh0L3RydS10b29sYmFyLXRleHQtbW9kdWxlJztcblxuLypcbiAqIERpcmVjdGl2ZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zZWFyY2gtcGFuZWwtcG9zaXRpb24tbWFuYWdlci90cnUtc2VhcmNoLXBhbmVsLXBvc2l0aW9uLW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zZWFyY2gtcGFuZWwtcG9zaXRpb24tbWFuYWdlci90cnUtc2VhcmNoLXBhbmVsLXBvc2l0aW9uLW1hbmFnZXItbW9kdWxlJztcblxuLypcbiAqIEV2ZW50LUhhbmRsZXJzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2V2ZW50LWhhbmRsZXJzL3RydS1zZWFyY2gtZ3JvdXAtZXZlbnQtaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ldmVudC1oYW5kbGVycy90cnUtc2VhcmNoLXZpZXctZXZlbnQtaGFuZGxlcic7XG5cbi8qXG4gKiBTZXJ2aWNlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtYXBwLWVudmlyb25tZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1icmVlemUtY29udGV4dC1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1icmVlemUtbWV0YWRhdGEtcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LWNvbXBvbmVudC1sb29rdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LWRhdGEtY29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtZW50aXR5LWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1wcmVkaWNhdGUtbWFwJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1zb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS10ZXh0LW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJ1LXVpLW5vdGlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtdXNlcic7XG5cbi8qXG4gKiBNb2R1bGVzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fzc2V0cy90cnUtc2VhcmNoLWljb24tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RydS1jb21tb24tbW9kdWxlJztcbiJdfQ==
|
|
@@ -115,7 +115,7 @@ class TruTableConfigBase {
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
class
|
|
118
|
+
class TruFormulaEval {
|
|
119
119
|
static isString(s) {
|
|
120
120
|
return typeof s === 'string';
|
|
121
121
|
}
|
|
@@ -154,33 +154,33 @@ class FormulaEval {
|
|
|
154
154
|
* Exposed for testing.
|
|
155
155
|
*/
|
|
156
156
|
static _calculate(f, left, right) {
|
|
157
|
-
if (
|
|
157
|
+
if (TruFormulaEval.isString(left))
|
|
158
158
|
left = parseFloat(left);
|
|
159
|
-
if (
|
|
160
|
-
if (
|
|
159
|
+
if (TruFormulaEval.isString(left))
|
|
160
|
+
if (TruFormulaEval.isString(right))
|
|
161
161
|
right = parseFloat(right);
|
|
162
162
|
return f(left, right);
|
|
163
163
|
}
|
|
164
164
|
static _calculateDate(left, right, add) {
|
|
165
165
|
if (add) {
|
|
166
|
-
if (
|
|
166
|
+
if (TruFormulaEval.isDate(left) && !TruFormulaEval.isDate(right)) {
|
|
167
167
|
return moment(left).add(right, 'day').toDate();
|
|
168
168
|
}
|
|
169
|
-
if (!
|
|
169
|
+
if (!TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
|
|
170
170
|
return moment(right).add(left, 'day').toDate();
|
|
171
171
|
}
|
|
172
|
-
if (
|
|
172
|
+
if (TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
|
|
173
173
|
moment(left).add(right).toDate();
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
else {
|
|
177
|
-
if (
|
|
177
|
+
if (TruFormulaEval.isDate(left) && !TruFormulaEval.isDate(right)) {
|
|
178
178
|
return moment(left).subtract(right, 'day').toDate();
|
|
179
179
|
}
|
|
180
|
-
if (!
|
|
180
|
+
if (!TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
|
|
181
181
|
return moment(right).subtract(left, 'day').toDate();
|
|
182
182
|
}
|
|
183
|
-
if (
|
|
183
|
+
if (TruFormulaEval.isDate(left) && TruFormulaEval.isDate(right)) {
|
|
184
184
|
//var m = moment(left).diff(right, 'days'); //Integer value, but Excel uses decimal for date time
|
|
185
185
|
var m = moment(left).diff(moment(right)) / 86400000; //divide by miliseconds in a day, decimal answer 1.0 = 1 day, 0.5 = 12 hours
|
|
186
186
|
return m;
|
|
@@ -191,36 +191,36 @@ class FormulaEval {
|
|
|
191
191
|
static add(left, right) {
|
|
192
192
|
if (left === null || left === undefined || right === null || right === undefined)
|
|
193
193
|
return undefined;
|
|
194
|
-
if (
|
|
195
|
-
return
|
|
196
|
-
return
|
|
194
|
+
if (TruFormulaEval.isDate(left) || TruFormulaEval.isDate(right))
|
|
195
|
+
return TruFormulaEval._calculateDate(left, right, true);
|
|
196
|
+
return TruFormulaEval._calculate(function (l, r) { return l + r; }, left, right);
|
|
197
197
|
}
|
|
198
198
|
static subtract(left, right) {
|
|
199
199
|
if (left === null || left === undefined || right === null || right === undefined)
|
|
200
200
|
return undefined;
|
|
201
|
-
if (
|
|
202
|
-
return
|
|
203
|
-
return
|
|
201
|
+
if (TruFormulaEval.isDate(left) || TruFormulaEval.isDate(right))
|
|
202
|
+
return TruFormulaEval._calculateDate(left, right, true);
|
|
203
|
+
return TruFormulaEval._calculate(function (l, r) { return l - r; }, left, right);
|
|
204
204
|
}
|
|
205
205
|
static multiply(left, right) {
|
|
206
206
|
if (left === null || left === undefined || right === null || right === undefined)
|
|
207
207
|
return undefined;
|
|
208
|
-
return
|
|
208
|
+
return TruFormulaEval._calculate(function (l, r) { return l * r; }, left, right);
|
|
209
209
|
}
|
|
210
210
|
static divide(left, right) {
|
|
211
211
|
if (left === null || left === undefined || right === null || right === undefined)
|
|
212
212
|
return undefined;
|
|
213
|
-
return
|
|
213
|
+
return TruFormulaEval._calculate(function (l, r) { return l / r; }, left, right);
|
|
214
214
|
}
|
|
215
215
|
static power(left, right) {
|
|
216
216
|
if (left === null || left === undefined || right === null || right === undefined)
|
|
217
217
|
return undefined;
|
|
218
|
-
return
|
|
218
|
+
return TruFormulaEval._calculate(Math.pow, left, right);
|
|
219
219
|
}
|
|
220
220
|
static concatenate(left, right) {
|
|
221
221
|
if (_.isBoolean(left))
|
|
222
222
|
left = left ? 'TRUE' : 'FALSE';
|
|
223
|
-
else if (!
|
|
223
|
+
else if (!TruFormulaEval.isString(left))
|
|
224
224
|
//NOTE: only need to convert left to string since concat() will coerce parameters
|
|
225
225
|
left = left.toString();
|
|
226
226
|
if (_.isBoolean(right))
|
|
@@ -235,22 +235,22 @@ class FormulaEval {
|
|
|
235
235
|
}
|
|
236
236
|
static lessThan(left, right) {
|
|
237
237
|
if (typeof (left) !== typeof (right))
|
|
238
|
-
return !
|
|
238
|
+
return !TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
|
|
239
239
|
return left < right;
|
|
240
240
|
}
|
|
241
241
|
static greaterThan(left, right) {
|
|
242
242
|
if (typeof (left) !== typeof (right))
|
|
243
|
-
return
|
|
243
|
+
return TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
|
|
244
244
|
return left > right;
|
|
245
245
|
}
|
|
246
246
|
static lessThanOrEqual(left, right) {
|
|
247
247
|
if (typeof (left) !== typeof (right))
|
|
248
|
-
return !
|
|
248
|
+
return !TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
|
|
249
249
|
return left <= right;
|
|
250
250
|
}
|
|
251
251
|
static greaterThanOrEqual(left, right) {
|
|
252
252
|
if (typeof (left) !== typeof (right))
|
|
253
|
-
return
|
|
253
|
+
return TruFormulaEval.compareResultForMismatchedParams[typeof (left) + typeof (right)];
|
|
254
254
|
return left >= right;
|
|
255
255
|
}
|
|
256
256
|
static negate(operand) {
|
|
@@ -260,7 +260,7 @@ class FormulaEval {
|
|
|
260
260
|
return operand / 100.0;
|
|
261
261
|
}
|
|
262
262
|
}
|
|
263
|
-
|
|
263
|
+
TruFormulaEval.compareResultForMismatchedParams = {
|
|
264
264
|
booleanstring: true,
|
|
265
265
|
booleannumber: true,
|
|
266
266
|
stringnumber: true,
|
|
@@ -4528,5 +4528,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
4528
4528
|
* Generated bundle index. Do not edit.
|
|
4529
4529
|
*/
|
|
4530
4530
|
|
|
4531
|
-
export {
|
|
4531
|
+
export { TruAppEnvironment, TruBreezeContext, TruBreezeContextFactory, TruBreezeMetadataProvider, TruColumn, TruColumnModule, TruCommonModule, TruComponentLookup, TruConfirmDialog, TruConfirmDialogConfig, TruConfirmDialogModule, TruDataContext, TruDataGrid, TruDataGridModule, TruDataGridTypes, TruDesktop, TruDesktopModule, TruEntityAccessor, TruEntityBase, TruExportDialog, TruExportDialogConfig, TruExportDialogModule, TruForm, TruFormModule, TruFormulaEval, TruGroupBox, TruGroupBoxModule, TruPredicate, TruPredicateMap, TruPropertyConfigBase, TruPropertyConfigCloudFile, TruPropertyConfigDecimal, TruPropertyConfigForeignKey, TruPropertyConfigInteger, TruPropertyConfigPassword, TruPropertyConfigPercentage, TruPropertyConfigScientific, TruPropertyConfigText, TruPropertyConfigTextChoices, TruPropertyConfigUsaAddress, TruPropertyConfigZipCode, TruQueryPredicateManager, TruRow, TruRowModule, TruSearchComponentBase, TruSearchComponentConfigBase, TruSearchGroupEventHandler, TruSearchIconModule, TruSearchPanelPositionManager, TruSearchPanelPositionManagerModule, TruSearchViewEventHandler, TruSort, TruTableConfigBase, TruTextManager, TruToolbar, TruToolbarButton, TruToolbarButtonModule, TruToolbarContextFilter, TruToolbarContextFilterModule, TruToolbarDropdown, TruToolbarDropdownModule, TruToolbarMenu, TruToolbarMenuModule, TruToolbarModule, TruToolbarSeparator, TruToolbarSeparatorModule, TruToolbarText, TruToolbarTextModule, TruUiNotification, TruUser, TruWindowActionEventHandler, TruWindowAddViewEventArgs, TruWindowEventArgs, TruWindowEventHandler };
|
|
4532
4532
|
//# sourceMappingURL=trudb-tru-common-lib.mjs.map
|