@colijnit/ioneconnector 2.0.6 → 2.1.8
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/build/connector.d.ts +2 -1
- package/build/connector.js +4 -13
- package/build/connector.js.map +1 -0
- package/build/connector.unit.test.js +31 -15
- package/build/connector.unit.test.js.map +1 -0
- package/build/enum/backend-service-name.enum.js +2 -0
- package/build/enum/backend-service-name.enum.js.map +1 -0
- package/build/enum/datasession-service-method.enum.js +2 -0
- package/build/enum/datasession-service-method.enum.js.map +1 -0
- package/build/enum/db-boolean-value-type.enum.js +2 -0
- package/build/enum/db-boolean-value-type.enum.js.map +1 -0
- package/build/enum/end-point.enum.js +2 -0
- package/build/enum/end-point.enum.js.map +1 -0
- package/build/enum/filter-type.enum.d.ts +4 -0
- package/build/enum/filter-type.enum.js +9 -0
- package/build/enum/filter-type.enum.js.map +1 -0
- package/build/enum/login-service-method.enum.js +2 -0
- package/build/enum/login-service-method.enum.js.map +1 -0
- package/build/enum/object-config-kind.d.ts +9 -0
- package/build/enum/object-config-kind.js +14 -0
- package/build/enum/object-config-kind.js.map +1 -0
- package/build/enum/object-configuration-data-type.enum.d.ts +7 -0
- package/build/enum/object-configuration-data-type.enum.js +12 -0
- package/build/enum/object-configuration-data-type.enum.js.map +1 -0
- package/build/enum/object-configuration-value-type.enum.d.ts +10 -0
- package/build/enum/object-configuration-value-type.enum.js +15 -0
- package/build/enum/object-configuration-value-type.enum.js.map +1 -0
- package/build/enum/object-right-type.enum.d.ts +5 -0
- package/build/enum/object-right-type.enum.js +10 -0
- package/build/enum/object-right-type.enum.js.map +1 -0
- package/build/enum/one-zero-bool-db-type.enum.js +2 -0
- package/build/enum/one-zero-bool-db-type.enum.js.map +1 -0
- package/build/enum/public-service-method.enum.js +2 -0
- package/build/enum/public-service-method.enum.js.map +1 -0
- package/build/enum/search-data-type.enum.d.ts +4 -0
- package/build/enum/search-data-type.enum.js +9 -0
- package/build/enum/search-data-type.enum.js.map +1 -0
- package/build/enum/search-property-state.enum.d.ts +5 -0
- package/build/enum/search-property-state.enum.js +10 -0
- package/build/enum/search-property-state.enum.js.map +1 -0
- package/build/enum/sort-direction.d.ts +5 -0
- package/build/enum/sort-direction.js +13 -0
- package/build/enum/sort-direction.js.map +1 -0
- package/build/enum/sort-type.enum.d.ts +6 -0
- package/build/enum/sort-type.enum.js +11 -0
- package/build/enum/sort-type.enum.js.map +1 -0
- package/build/enum/true-false-db-type.enum.js +2 -0
- package/build/enum/true-false-db-type.enum.js.map +1 -0
- package/build/enum/user-right-type.enum.d.ts +7 -0
- package/build/enum/user-right-type.enum.js +12 -0
- package/build/enum/user-right-type.enum.js.map +1 -0
- package/build/enum/value-comparison-type.enum.d.ts +15 -0
- package/build/enum/value-comparison-type.enum.js +32 -0
- package/build/enum/value-comparison-type.enum.js.map +1 -0
- package/build/enum/yes-no-db-type.enum.js +2 -0
- package/build/enum/yes-no-db-type.enum.js.map +1 -0
- package/build/factory/business-object-factory.d.ts +16 -0
- package/build/factory/business-object-factory.js +178 -0
- package/build/factory/business-object-factory.js.map +1 -0
- package/build/factory/business-object-serializer.d.ts +11 -0
- package/build/factory/business-object-serializer.js +146 -0
- package/build/factory/business-object-serializer.js.map +1 -0
- package/build/factory/decorators/bo-factory-step.decorator.d.ts +4 -0
- package/build/factory/decorators/bo-factory-step.decorator.js +17 -0
- package/build/factory/decorators/bo-factory-step.decorator.js.map +1 -0
- package/build/factory/decorators/bo-serializer-step.decorator.d.ts +4 -0
- package/build/factory/decorators/bo-serializer-step.decorator.js +17 -0
- package/build/factory/decorators/bo-serializer-step.decorator.js.map +1 -0
- package/build/factory/decorators/boolean.decorator.js +6 -4
- package/build/factory/decorators/boolean.decorator.js.map +1 -0
- package/build/factory/decorators/business-object-data.decorator.d.ts +22 -0
- package/build/factory/decorators/business-object-data.decorator.js +87 -0
- package/build/factory/decorators/business-object-data.decorator.js.map +1 -0
- package/build/factory/decorators/co-inject.decorator.d.ts +6 -0
- package/build/factory/decorators/co-inject.decorator.js +54 -0
- package/build/factory/decorators/co-inject.decorator.js.map +1 -0
- package/build/factory/decorators/complex-array.decorator.js +3 -1
- package/build/factory/decorators/complex-array.decorator.js.map +1 -0
- package/build/factory/decorators/complex-field.decorator.js +3 -1
- package/build/factory/decorators/complex-field.decorator.js.map +1 -0
- package/build/factory/decorators/date-field.decorator.js +2 -0
- package/build/factory/decorators/date-field.decorator.js.map +1 -0
- package/build/factory/decorators/db-field-alias.decorator.js +2 -0
- package/build/factory/decorators/db-field-alias.decorator.js.map +1 -0
- package/build/factory/decorators/db-method-value.decorator.d.ts +5 -0
- package/build/factory/decorators/db-method-value.decorator.js +20 -0
- package/build/factory/decorators/db-method-value.decorator.js.map +1 -0
- package/build/factory/decorators/db-number.decorator.d.ts +5 -0
- package/build/factory/decorators/db-number.decorator.js +35 -0
- package/build/factory/decorators/db-number.decorator.js.map +1 -0
- package/build/factory/decorators/default-send-value.decorator.d.ts +6 -0
- package/build/factory/decorators/default-send-value.decorator.js +53 -0
- package/build/factory/decorators/default-send-value.decorator.js.map +1 -0
- package/build/factory/decorators/exclude-when-empty-string.decorator.d.ts +5 -0
- package/build/factory/decorators/exclude-when-empty-string.decorator.js +20 -0
- package/build/factory/decorators/exclude-when-empty-string.decorator.js.map +1 -0
- package/build/factory/decorators/json.decorator.js +2 -0
- package/build/factory/decorators/json.decorator.js.map +1 -0
- package/build/factory/decorators/map-property.decorator.js +2 -0
- package/build/factory/decorators/map-property.decorator.js.map +1 -0
- package/build/factory/decorators/no-db-field.decorator.js +2 -0
- package/build/factory/decorators/no-db-field.decorator.js.map +1 -0
- package/build/factory/decorators/number-string.decorator.d.ts +6 -0
- package/build/factory/decorators/number-string.decorator.js +24 -0
- package/build/factory/decorators/number-string.decorator.js.map +1 -0
- package/build/factory/decorators/simple-method-tag.decorator.d.ts +5 -0
- package/build/factory/decorators/simple-method-tag.decorator.js +31 -0
- package/build/factory/decorators/simple-method-tag.decorator.js.map +1 -0
- package/build/factory/decorators/simple-property-tag.decorator.d.ts +5 -0
- package/build/factory/decorators/simple-property-tag.decorator.js +38 -0
- package/build/factory/decorators/simple-property-tag.decorator.js.map +1 -0
- package/build/factory/decorators/string-number.decorator.js +2 -0
- package/build/factory/decorators/string-number.decorator.js.map +1 -0
- package/build/interface/business-object-data-shape.d.ts +19 -0
- package/build/interface/business-object-data-shape.js +3 -0
- package/build/interface/business-object-data-shape.js.map +1 -0
- package/build/interface/check-precision-and-scale-result.d.ts +4 -0
- package/build/interface/check-precision-and-scale-result.js +3 -0
- package/build/interface/check-precision-and-scale-result.js.map +1 -0
- package/build/interface/check-within-stepped-bounds-result.d.ts +4 -0
- package/build/interface/check-within-stepped-bounds-result.js +3 -0
- package/build/interface/check-within-stepped-bounds-result.js.map +1 -0
- package/build/interface/filter-property.d.ts +9 -0
- package/build/interface/filter-property.js +3 -0
- package/build/interface/filter-property.js.map +1 -0
- package/build/interface/precision-scale-object.d.ts +4 -0
- package/build/interface/precision-scale-object.js +3 -0
- package/build/interface/precision-scale-object.js.map +1 -0
- package/build/interface/search-property.d.ts +11 -0
- package/build/interface/search-property.js +3 -0
- package/build/interface/search-property.js.map +1 -0
- package/build/interface/sort-property.d.ts +11 -0
- package/build/interface/sort-property.js +3 -0
- package/build/interface/sort-property.js.map +1 -0
- package/build/interface/text-part.d.ts +4 -0
- package/build/interface/text-part.js +3 -0
- package/build/interface/text-part.js.map +1 -0
- package/build/interface/value-comparison-type-view-wrapper.d.ts +6 -0
- package/build/interface/value-comparison-type-view-wrapper.js +3 -0
- package/build/interface/value-comparison-type-view-wrapper.js.map +1 -0
- package/build/model/business-object.d.ts +11 -2
- package/build/model/business-object.js +28 -60
- package/build/model/business-object.js.map +1 -0
- package/build/model/constant/java-constants.js +2 -0
- package/build/model/constant/java-constants.js.map +1 -0
- package/build/model/data-service-data.js +2 -0
- package/build/model/data-service-data.js.map +1 -0
- package/build/model/data-service-response-data.interface.js +1 -0
- package/build/model/data-service-response-data.interface.js.map +1 -0
- package/build/model/data-service-response-data.js +10 -8
- package/build/model/data-service-response-data.js.map +1 -0
- package/build/model/data-service-response-exception.js +1 -0
- package/build/model/data-service-response-exception.js.map +1 -0
- package/build/model/data-service-response-root.js +1 -0
- package/build/model/data-service-response-root.js.map +1 -0
- package/build/model/field-validation.interface.js +1 -0
- package/build/model/field-validation.interface.js.map +1 -0
- package/build/model/field-validation.js +2 -0
- package/build/model/field-validation.js.map +1 -0
- package/build/model/field-validations-object.interface.js +1 -0
- package/build/model/field-validations-object.interface.js.map +1 -0
- package/build/model/field-validations-object.js +1 -0
- package/build/model/field-validations-object.js.map +1 -0
- package/build/model/login-response.interface.js +1 -0
- package/build/model/login-response.interface.js.map +1 -0
- package/build/model/login-response.js +2 -0
- package/build/model/login-response.js.map +1 -0
- package/build/model/login.js +2 -0
- package/build/model/login.js.map +1 -0
- package/build/model/object-configuration.d.ts +50 -0
- package/build/model/object-configuration.js +190 -0
- package/build/model/object-configuration.js.map +1 -0
- package/build/model/options.js +2 -0
- package/build/model/options.js.map +1 -0
- package/build/model/paging-parameters.interface.js +2 -0
- package/build/model/paging-parameters.interface.js.map +1 -0
- package/build/model/paging-parameters.js +6 -4
- package/build/model/paging-parameters.js.map +1 -0
- package/build/model/public-service-request-data.d.ts +5 -0
- package/build/model/public-service-request-data.js +3 -0
- package/build/model/public-service-request-data.js.map +1 -0
- package/build/model/server-response-data.d.ts +1 -1
- package/build/model/server-response-data.js +1 -0
- package/build/model/server-response-data.js.map +1 -0
- package/build/model/server-stack-trace-element.js +1 -0
- package/build/model/server-stack-trace-element.js.map +1 -0
- package/build/model/session.js +2 -0
- package/build/model/session.js.map +1 -0
- package/build/model/validation-message.interface.js +1 -0
- package/build/model/validation-message.interface.js.map +1 -0
- package/build/model/validation-message.js +7 -5
- package/build/model/validation-message.js.map +1 -0
- package/build/model/validation-result.interface.js +1 -0
- package/build/model/validation-result.interface.js.map +1 -0
- package/build/model/validation-result.js +2 -0
- package/build/model/validation-result.js.map +1 -0
- package/build/provider/ajax.service.d.ts +2 -1
- package/build/provider/ajax.service.js +21 -32
- package/build/provider/ajax.service.js.map +1 -0
- package/build/provider/base-backend-connection.service.js +9 -22
- package/build/provider/base-backend-connection.service.js.map +1 -0
- package/build/service/business-object-factory.js +3 -1
- package/build/service/business-object-factory.js.map +1 -0
- package/build/service/datasession.service.js +4 -13
- package/build/service/datasession.service.js.map +1 -0
- package/build/service/encrypt.service.js +2 -0
- package/build/service/encrypt.service.js.map +1 -0
- package/build/service/encrypt.service.unit.test.js +1 -0
- package/build/service/encrypt.service.unit.test.js.map +1 -0
- package/build/service/login.service.d.ts +3 -2
- package/build/service/login.service.js +32 -26
- package/build/service/login.service.js.map +1 -0
- package/build/service/public.service.js +2 -0
- package/build/service/public.service.js.map +1 -0
- package/build/tests/int/connector.int.test.js +1 -0
- package/build/tests/int/connector.int.test.js.map +1 -0
- package/build/type/business-object-id-type.d.ts +1 -1
- package/build/type/business-object-id-type.js +2 -0
- package/build/type/business-object-id-type.js.map +1 -0
- package/build/type/object-configuration-default-value-type.d.ts +1 -1
- package/build/type/object-configuration-default-value-type.js +1 -0
- package/build/type/object-configuration-default-value-type.js.map +1 -0
- package/build/utils/array-utils.d.ts +33 -0
- package/build/utils/array-utils.js +346 -1
- package/build/utils/array-utils.js.map +1 -0
- package/build/utils/business-object-utils.d.ts +16 -0
- package/build/utils/business-object-utils.js +181 -1
- package/build/utils/business-object-utils.js.map +1 -0
- package/build/utils/date-utils.d.ts +2 -0
- package/build/utils/date-utils.js +12 -1
- package/build/utils/date-utils.js.map +1 -0
- package/build/utils/function/any-nill.function.d.ts +1 -0
- package/build/utils/function/any-nill.function.js +17 -0
- package/build/utils/function/any-nill.function.js.map +1 -0
- package/build/utils/function/is-nill.function.js +2 -0
- package/build/utils/function/is-nill.function.js.map +1 -0
- package/build/utils/function/not-nill.function.js +2 -0
- package/build/utils/function/not-nill.function.js.map +1 -0
- package/build/utils/function-utils.d.ts +4 -0
- package/build/utils/function-utils.js +32 -0
- package/build/utils/function-utils.js.map +1 -0
- package/build/utils/image-utils.js +2 -0
- package/build/utils/image-utils.js.map +1 -0
- package/build/utils/map-utils.d.ts +4 -0
- package/build/utils/map-utils.js +32 -0
- package/build/utils/map-utils.js.map +1 -0
- package/build/utils/number-utils.d.ts +33 -3
- package/build/utils/number-utils.js +228 -17
- package/build/utils/number-utils.js.map +1 -0
- package/build/utils/object-utils.d.ts +13 -7
- package/build/utils/object-utils.js +144 -55
- package/build/utils/object-utils.js.map +1 -0
- package/build/utils/parameter-value-conversion-utils.js +2 -0
- package/build/utils/parameter-value-conversion-utils.js.map +1 -0
- package/build/utils/promise-utils.js +5 -12
- package/build/utils/promise-utils.js.map +1 -0
- package/build/utils/ref-code-utils.js +2 -0
- package/build/utils/ref-code-utils.js.map +1 -0
- package/build/utils/string-utils.d.ts +20 -1
- package/build/utils/string-utils.js +183 -4
- package/build/utils/string-utils.js.map +1 -0
- package/build/utils/url-utils.js +2 -0
- package/build/utils/url-utils.js.map +1 -0
- package/package.json +4 -2
|
@@ -1,13 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NumberUtils = void 0;
|
|
3
4
|
const object_utils_1 = require("./object-utils");
|
|
5
|
+
const array_utils_1 = require("./array-utils");
|
|
6
|
+
const not_nill_function_1 = require("./function/not-nill.function");
|
|
7
|
+
const is_nill_function_1 = require("./function/is-nill.function");
|
|
4
8
|
class NumberUtils {
|
|
9
|
+
static ParseIntNumberInput(arg) {
|
|
10
|
+
return NumberUtils.ParseInt(NumberUtils._NumberInputToNumberStr(arg));
|
|
11
|
+
}
|
|
12
|
+
static ParseInt(arg) {
|
|
13
|
+
if ((0, is_nill_function_1.isNill)(arg) || Array.isArray(arg)) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
return parseInt(arg, 10);
|
|
17
|
+
}
|
|
18
|
+
static ParseFloatNumberInput(arg, decimalPrecision = 2) {
|
|
19
|
+
return NumberUtils.ParseFloat(NumberUtils._NumberInputToNumberStr(arg), decimalPrecision);
|
|
20
|
+
}
|
|
21
|
+
static ParseFloatNumberInputKeepPrecision(arg) {
|
|
22
|
+
const correctedInputStr = NumberUtils._NumberInputToNumberStr(arg);
|
|
23
|
+
const decimalPrecision = this.GetDecimalPlaces(correctedInputStr);
|
|
24
|
+
return NumberUtils.ParseFloat(correctedInputStr, decimalPrecision);
|
|
25
|
+
}
|
|
26
|
+
static ParseFloat(arg, decimalPrecision = 2) {
|
|
27
|
+
if (!object_utils_1.ObjectUtils.AllExist(arg, decimalPrecision) || Array.isArray(arg)) {
|
|
28
|
+
return NaN;
|
|
29
|
+
}
|
|
30
|
+
if (!NumberUtils.IsInteger(decimalPrecision) || decimalPrecision < 0) {
|
|
31
|
+
decimalPrecision = 2;
|
|
32
|
+
}
|
|
33
|
+
else if (decimalPrecision > 20) {
|
|
34
|
+
decimalPrecision = 20;
|
|
35
|
+
}
|
|
36
|
+
return parseFloat(parseFloat(arg).toFixed(decimalPrecision));
|
|
37
|
+
}
|
|
5
38
|
static ParseFloatKeepPrecision(arg) {
|
|
6
39
|
const decimalPrecision = this.GetDecimalPlaces(arg);
|
|
7
40
|
return this.ParseFloat(arg, decimalPrecision);
|
|
8
41
|
}
|
|
42
|
+
static ParseNumberOrDefault(arg, defaultValue = 0) {
|
|
43
|
+
if (Array.isArray(arg)) {
|
|
44
|
+
return defaultValue;
|
|
45
|
+
}
|
|
46
|
+
if (!NumberUtils.IsNumber(arg)) {
|
|
47
|
+
arg = parseFloat(arg);
|
|
48
|
+
arg = isNaN(arg) ? defaultValue : arg;
|
|
49
|
+
}
|
|
50
|
+
return arg;
|
|
51
|
+
}
|
|
52
|
+
static IsInteger(arg) {
|
|
53
|
+
if (isNaN(arg) || Array.isArray(arg)) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
const argAsFloat = parseFloat(arg);
|
|
57
|
+
return ((argAsFloat | 0) === argAsFloat);
|
|
58
|
+
}
|
|
9
59
|
static GetDecimalPlaces(arg, maxAnswer = 1000) {
|
|
10
|
-
const match = (
|
|
60
|
+
const match = ("" + arg).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
|
|
11
61
|
if (!match) {
|
|
12
62
|
return 0;
|
|
13
63
|
}
|
|
@@ -18,24 +68,68 @@ class NumberUtils {
|
|
|
18
68
|
}
|
|
19
69
|
return answer;
|
|
20
70
|
}
|
|
21
|
-
static
|
|
22
|
-
|
|
23
|
-
|
|
71
|
+
static ParseNumberInputOrDefault(numberInput, defaultValue = 0) {
|
|
72
|
+
return NumberUtils.ParseNumberOrDefault(NumberUtils._NumberInputToNumberStr(numberInput), defaultValue);
|
|
73
|
+
}
|
|
74
|
+
static IsNumber(arg) {
|
|
75
|
+
return typeof arg === "number" && !isNaN(arg);
|
|
76
|
+
}
|
|
77
|
+
static IsNaN(arg) {
|
|
78
|
+
return isNaN(arg) || !NumberUtils.IsNumber(arg);
|
|
79
|
+
}
|
|
80
|
+
static NaN(number, substitute = 0) {
|
|
81
|
+
return NumberUtils.IsNaN(number) ? substitute : number;
|
|
82
|
+
}
|
|
83
|
+
static IsParsableNumber(arg) {
|
|
84
|
+
if (Array.isArray(arg)) {
|
|
85
|
+
return false;
|
|
24
86
|
}
|
|
25
|
-
|
|
26
|
-
|
|
87
|
+
return !isNaN(parseFloat(arg));
|
|
88
|
+
}
|
|
89
|
+
static IsParsableNumberInput(numberInput) {
|
|
90
|
+
return NumberUtils.IsParsableNumber(NumberUtils._NumberInputToNumberStr(numberInput));
|
|
91
|
+
}
|
|
92
|
+
static IsStringNumber(arg) {
|
|
93
|
+
if (!NumberUtils.IsParsableNumber(arg)) {
|
|
94
|
+
return false;
|
|
27
95
|
}
|
|
28
|
-
else
|
|
29
|
-
|
|
96
|
+
else {
|
|
97
|
+
return arg.toString().length === parseFloat(arg).toString().length;
|
|
30
98
|
}
|
|
31
|
-
return parseFloat(parseFloat(arg).toFixed(decimalPrecision));
|
|
32
99
|
}
|
|
33
|
-
static
|
|
34
|
-
|
|
100
|
+
static IsListOfNumbers(arg, separator = ",") {
|
|
101
|
+
const nrs = arg.split(separator);
|
|
102
|
+
if (nrs.length === 0) {
|
|
35
103
|
return false;
|
|
36
104
|
}
|
|
37
|
-
|
|
38
|
-
|
|
105
|
+
return nrs.filter(s => NumberUtils.IsStringNumber(s)).length === nrs.length;
|
|
106
|
+
}
|
|
107
|
+
static ParseStringNumber(arg) {
|
|
108
|
+
if (!this.IsStringNumber(arg)) {
|
|
109
|
+
return NaN;
|
|
110
|
+
}
|
|
111
|
+
return NumberUtils.ParseFloatKeepPrecision(arg);
|
|
112
|
+
}
|
|
113
|
+
static ParseStringNumberDefault(arg, defaultValue = 0) {
|
|
114
|
+
return NumberUtils.NaN(NumberUtils.ParseStringNumber(arg), defaultValue);
|
|
115
|
+
}
|
|
116
|
+
static RandomInt(lowerBoundInt, upperBoundInt) {
|
|
117
|
+
if (!NumberUtils.IsNumber(lowerBoundInt) || !NumberUtils.IsNumber(upperBoundInt) || lowerBoundInt > upperBoundInt) {
|
|
118
|
+
return NaN;
|
|
119
|
+
}
|
|
120
|
+
lowerBoundInt = Math.trunc(lowerBoundInt);
|
|
121
|
+
upperBoundInt = Math.trunc(upperBoundInt);
|
|
122
|
+
if (lowerBoundInt === upperBoundInt) {
|
|
123
|
+
return lowerBoundInt;
|
|
124
|
+
}
|
|
125
|
+
const delta = upperBoundInt - lowerBoundInt;
|
|
126
|
+
return (Math.round(Math.random() * delta) + lowerBoundInt);
|
|
127
|
+
}
|
|
128
|
+
static AddThousandsCommasTo(value) {
|
|
129
|
+
if ((0, is_nill_function_1.isNill)(value)) {
|
|
130
|
+
return "";
|
|
131
|
+
}
|
|
132
|
+
return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
39
133
|
}
|
|
40
134
|
static NumIsComposedOfOtherPowTwoNum(bigNrToCheck, powTwoNumItShouldBeComposedOf) {
|
|
41
135
|
if (!bigNrToCheck) {
|
|
@@ -48,11 +142,128 @@ class NumberUtils {
|
|
|
48
142
|
return ((bigNrToCheck & powTwoNumItShouldBeComposedOf) === powTwoNumItShouldBeComposedOf);
|
|
49
143
|
}
|
|
50
144
|
}
|
|
51
|
-
static
|
|
52
|
-
|
|
145
|
+
static NrOrDefault(nr, defaultNr = 0) {
|
|
146
|
+
if ((0, not_nill_function_1.notNill)(nr) && NumberUtils.IsNumber(nr)) {
|
|
147
|
+
return nr;
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
return defaultNr;
|
|
151
|
+
}
|
|
53
152
|
}
|
|
54
|
-
static
|
|
55
|
-
|
|
153
|
+
static CheckPrecisionAndScale(nrToCheck, precision, scale = 0) {
|
|
154
|
+
if (!object_utils_1.ObjectUtils.AllExist(nrToCheck, precision, scale)) {
|
|
155
|
+
return { isOk: true, nearestOkNr: NaN };
|
|
156
|
+
}
|
|
157
|
+
if (precision < 1 || precision - scale < 1) {
|
|
158
|
+
return { isOk: false, nearestOkNr: NaN };
|
|
159
|
+
}
|
|
160
|
+
const isNegative = (nrToCheck < 0);
|
|
161
|
+
const nrParts = nrToCheck.toString().split(".");
|
|
162
|
+
if (isNegative) {
|
|
163
|
+
nrParts[0] = nrParts[0].slice(1);
|
|
164
|
+
}
|
|
165
|
+
const numCountBeforeDot = nrParts[0].length;
|
|
166
|
+
const allowedNumCountBeforeDot = precision - scale;
|
|
167
|
+
if (numCountBeforeDot <= allowedNumCountBeforeDot) {
|
|
168
|
+
return { isOk: true, nearestOkNr: nrToCheck };
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
const numCountToRemove = numCountBeforeDot - allowedNumCountBeforeDot;
|
|
172
|
+
nrParts[0] = nrParts[0].slice(0, -1 * numCountToRemove);
|
|
173
|
+
if (isNegative) {
|
|
174
|
+
nrParts[0] = "-" + nrParts[0];
|
|
175
|
+
}
|
|
176
|
+
let nearestOkNr;
|
|
177
|
+
if (nrParts[1]) {
|
|
178
|
+
nearestOkNr = Number(nrParts[0] + "." + nrParts[1]);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
nearestOkNr = Number(nrParts[0]);
|
|
182
|
+
}
|
|
183
|
+
return { isOk: false, nearestOkNr: nearestOkNr };
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
static CheckWithinSteppedBounds(nrToCheck, min, max, stepSize = 1) {
|
|
187
|
+
if (nrToCheck < min || nrToCheck > max) {
|
|
188
|
+
return { isOk: false, remainder: undefined };
|
|
189
|
+
}
|
|
190
|
+
let remainder = (nrToCheck - min) % stepSize;
|
|
191
|
+
remainder = NumberUtils.ParseFloat(remainder, NumberUtils._GetLargestDecimalPrecisionOf(nrToCheck, min, stepSize));
|
|
192
|
+
return { isOk: (remainder === 0), remainder: remainder };
|
|
193
|
+
}
|
|
194
|
+
static GetNearestNumberWithinSteppedBounds(originalNr, min, max, stepSize = 1) {
|
|
195
|
+
if (originalNr < min) {
|
|
196
|
+
return min;
|
|
197
|
+
}
|
|
198
|
+
else if (originalNr > max) {
|
|
199
|
+
return NumberUtils.GetTrueSteppedBoundsMax(min, max, stepSize);
|
|
200
|
+
}
|
|
201
|
+
const boundsCheck = NumberUtils.CheckWithinSteppedBounds(originalNr, min, max, stepSize);
|
|
202
|
+
if (boundsCheck.isOk) {
|
|
203
|
+
return originalNr;
|
|
204
|
+
}
|
|
205
|
+
let answer;
|
|
206
|
+
const remainder = boundsCheck.remainder;
|
|
207
|
+
if (remainder) {
|
|
208
|
+
if ((remainder / stepSize) < 0.5) {
|
|
209
|
+
answer = (originalNr - remainder >= min ? originalNr - remainder : min);
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
answer = (originalNr + stepSize - remainder <= max ? originalNr + stepSize - remainder :
|
|
213
|
+
NumberUtils.GetTrueSteppedBoundsMax(min, max, stepSize));
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
answer = originalNr;
|
|
218
|
+
}
|
|
219
|
+
answer = NumberUtils.ParseFloat(answer, NumberUtils._GetLargestDecimalPrecisionOf(originalNr, min, max, stepSize));
|
|
220
|
+
return answer;
|
|
221
|
+
}
|
|
222
|
+
static GetTrueSteppedBoundsMax(min, max, stepSize = 1) {
|
|
223
|
+
const maxSteps = Math.floor((max - min) / stepSize);
|
|
224
|
+
return NumberUtils.ParseFloat(min + maxSteps * stepSize, NumberUtils._GetLargestDecimalPrecisionOf(min, min, max));
|
|
225
|
+
}
|
|
226
|
+
static GetNearestNumberWithinBounds(originalNr, min, max) {
|
|
227
|
+
let answer = originalNr;
|
|
228
|
+
if (originalNr < min) {
|
|
229
|
+
answer = min;
|
|
230
|
+
}
|
|
231
|
+
else if (originalNr > max) {
|
|
232
|
+
answer = max;
|
|
233
|
+
}
|
|
234
|
+
return answer;
|
|
235
|
+
}
|
|
236
|
+
static ToString(nr) {
|
|
237
|
+
if (!NumberUtils.IsNaN(nr)) {
|
|
238
|
+
return "" + nr;
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
return "";
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
static DecimalsToStepIncrement(numberOfDecimals) {
|
|
245
|
+
return parseFloat(Math.pow(10, -1 * numberOfDecimals).toFixed(numberOfDecimals));
|
|
246
|
+
}
|
|
247
|
+
static Round(value, decimals) {
|
|
248
|
+
const factor = Math.pow(10, decimals);
|
|
249
|
+
return Math.round(value * factor) / factor;
|
|
250
|
+
}
|
|
251
|
+
static PrecisionScaleToMaxValue(precision, scale) {
|
|
252
|
+
const oneStep = this.DecimalsToStepIncrement(scale);
|
|
253
|
+
const maxExclusive = Math.pow(10, precision - scale);
|
|
254
|
+
return maxExclusive - oneStep;
|
|
255
|
+
}
|
|
256
|
+
static DifferenceBetweenNumbers(numberA, numberB) {
|
|
257
|
+
return Math.abs(numberA - numberB);
|
|
258
|
+
}
|
|
259
|
+
static _GetLargestDecimalPrecisionOf(...args) {
|
|
260
|
+
return array_utils_1.ArrayUtils.GetMaxCalculatedValue(args, (arg) => {
|
|
261
|
+
return NumberUtils.GetDecimalPlaces(arg);
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
static _NumberInputToNumberStr(numberInput) {
|
|
265
|
+
return (numberInput + "").replace(",", ".");
|
|
56
266
|
}
|
|
57
267
|
}
|
|
58
268
|
exports.NumberUtils = NumberUtils;
|
|
269
|
+
//# sourceMappingURL=number-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-utils.js","sourceRoot":"","sources":["../../src/utils/number-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
export declare class ObjectUtils {
|
|
2
2
|
static AllExist(...values: any[]): boolean;
|
|
3
|
-
static GetClassName(objectOrClass: any): string;
|
|
4
|
-
static IsPlainObject(object: any): boolean;
|
|
5
3
|
static CopyPropertiesFrom<T>(from: Object, to: T, allowUndefined?: boolean): T;
|
|
6
|
-
static ForOwnProperty(plainObject: any, callback: (propVal: any, key: string) => any): void;
|
|
7
4
|
static DeepEquals(actual: any, expected: any): boolean;
|
|
8
|
-
|
|
5
|
+
static ForOwnProperty(plainObject: any, callback: (propVal: any, key: string) => any): void;
|
|
6
|
+
static GetClassName(objectOrClass: any): string;
|
|
7
|
+
static GetShallowClone(originalObject: any, objectClass?: any): any;
|
|
8
|
+
static GetDeepClone(originalObject: any, circular?: boolean): any;
|
|
9
|
+
static IsEmpty(obj: any): boolean;
|
|
10
|
+
static IsPlainObject(object: any): boolean;
|
|
11
|
+
static MakeInstanceOf(clazz: any, dataObject?: any): any;
|
|
12
|
+
static PickRandomPropertyValue(object: any): any;
|
|
13
|
+
static ValueOrDefault(value: any, defaultReturnVal?: any): any;
|
|
9
14
|
private static _isArguments;
|
|
10
|
-
private static _supportsArgumentsClass;
|
|
11
|
-
private static _isArgumentsWhenArgsClassSupported;
|
|
12
15
|
private static _isArgumentsWhenArgsClassNotSupported;
|
|
13
|
-
private static
|
|
16
|
+
private static _isArgumentsWhenArgsClassSupported;
|
|
14
17
|
private static _isBuffer;
|
|
18
|
+
private static _isUndefinedOrNull;
|
|
19
|
+
private static _objEquiv;
|
|
20
|
+
private static _supportsArgumentsClass;
|
|
15
21
|
}
|
|
@@ -1,33 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObjectUtils = void 0;
|
|
3
4
|
const is_nill_function_1 = require("./function/is-nill.function");
|
|
4
5
|
const not_nill_function_1 = require("./function/not-nill.function");
|
|
5
6
|
class ObjectUtils {
|
|
6
7
|
static AllExist(...values) {
|
|
7
8
|
let allExist = true;
|
|
8
9
|
for (let i = 0, len = values.length; i < len; i++) {
|
|
9
|
-
if (is_nill_function_1.isNill(values[i])) {
|
|
10
|
+
if ((0, is_nill_function_1.isNill)(values[i])) {
|
|
10
11
|
allExist = false;
|
|
11
12
|
break;
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
15
|
return allExist;
|
|
15
16
|
}
|
|
16
|
-
static GetClassName(objectOrClass) {
|
|
17
|
-
if (!objectOrClass) {
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
20
|
-
else if (objectOrClass.constructor === Function) {
|
|
21
|
-
return objectOrClass.name;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
const constructorString = objectOrClass.constructor.toString();
|
|
25
|
-
return constructorString.match(/\w+/g)[1];
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
static IsPlainObject(object) {
|
|
29
|
-
return object !== null && !Array.isArray(object) && typeof object !== 'function' && typeof object === 'object';
|
|
30
|
-
}
|
|
31
17
|
static CopyPropertiesFrom(from, to, allowUndefined = true) {
|
|
32
18
|
if (!to) {
|
|
33
19
|
to = {};
|
|
@@ -35,17 +21,31 @@ class ObjectUtils {
|
|
|
35
21
|
if (!from) {
|
|
36
22
|
return to;
|
|
37
23
|
}
|
|
38
|
-
|
|
39
|
-
if (allowUndefined || not_nill_function_1.notNill(value)) {
|
|
24
|
+
ObjectUtils.ForOwnProperty(from, (value, key) => {
|
|
25
|
+
if (allowUndefined || (0, not_nill_function_1.notNill)(value)) {
|
|
40
26
|
to[key] = value;
|
|
41
27
|
}
|
|
42
28
|
});
|
|
43
29
|
return to;
|
|
44
30
|
}
|
|
31
|
+
static DeepEquals(actual, expected) {
|
|
32
|
+
if (actual === expected) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
else if (actual instanceof Date && expected instanceof Date) {
|
|
36
|
+
return actual.getTime() === expected.getTime();
|
|
37
|
+
}
|
|
38
|
+
else if (!actual || !expected || typeof actual !== "object" && typeof expected !== "object") {
|
|
39
|
+
return actual === expected;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return this._objEquiv(actual, expected);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
45
|
static ForOwnProperty(plainObject, callback) {
|
|
46
46
|
if (ObjectUtils.IsPlainObject(plainObject)) {
|
|
47
47
|
for (const key in plainObject) {
|
|
48
|
-
if (plainObject.hasOwnProperty(key) && typeof plainObject[key] !==
|
|
48
|
+
if (plainObject.hasOwnProperty(key) && typeof plainObject[key] !== "function") {
|
|
49
49
|
const response = callback(plainObject[key], key);
|
|
50
50
|
if (response === false) {
|
|
51
51
|
break;
|
|
@@ -54,19 +54,134 @@ class ObjectUtils {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
static
|
|
58
|
-
if (
|
|
59
|
-
return
|
|
57
|
+
static GetClassName(objectOrClass) {
|
|
58
|
+
if (!objectOrClass) {
|
|
59
|
+
return undefined;
|
|
60
60
|
}
|
|
61
|
-
else if (
|
|
62
|
-
return
|
|
61
|
+
else if (objectOrClass.constructor === Function) {
|
|
62
|
+
return objectOrClass.name;
|
|
63
63
|
}
|
|
64
|
-
else
|
|
65
|
-
|
|
64
|
+
else {
|
|
65
|
+
const constructorString = objectOrClass.constructor.toString();
|
|
66
|
+
return constructorString.match(/\w+/g)[1];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
static GetShallowClone(originalObject, objectClass) {
|
|
70
|
+
let clonedObject = undefined;
|
|
71
|
+
if (objectClass) {
|
|
72
|
+
clonedObject = new objectClass();
|
|
66
73
|
}
|
|
67
74
|
else {
|
|
68
|
-
|
|
75
|
+
clonedObject = {};
|
|
69
76
|
}
|
|
77
|
+
ObjectUtils.ForOwnProperty(originalObject, (value, key) => {
|
|
78
|
+
clonedObject[key] = value;
|
|
79
|
+
});
|
|
80
|
+
return clonedObject;
|
|
81
|
+
}
|
|
82
|
+
static GetDeepClone(originalObject, circular = true) {
|
|
83
|
+
let propertyIndex;
|
|
84
|
+
let descriptor;
|
|
85
|
+
let keys;
|
|
86
|
+
let current;
|
|
87
|
+
let nextSource;
|
|
88
|
+
let indexOf;
|
|
89
|
+
const copies = [{
|
|
90
|
+
source: originalObject,
|
|
91
|
+
target: Object.create(Object.getPrototypeOf(originalObject))
|
|
92
|
+
}];
|
|
93
|
+
const cloneObject = copies[0].target;
|
|
94
|
+
const sourceReferences = [originalObject];
|
|
95
|
+
const targetReferences = [cloneObject];
|
|
96
|
+
while (current = copies.shift()) {
|
|
97
|
+
keys = Object.getOwnPropertyNames(current.source);
|
|
98
|
+
for (propertyIndex = 0; propertyIndex < keys.length; propertyIndex++) {
|
|
99
|
+
descriptor = Object.getOwnPropertyDescriptor(current.source, keys[propertyIndex]);
|
|
100
|
+
if (!descriptor.value || typeof descriptor.value !== "object") {
|
|
101
|
+
Object.defineProperty(current.target, keys[propertyIndex], descriptor);
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
nextSource = descriptor.value;
|
|
105
|
+
descriptor.value = Array.isArray(nextSource) ?
|
|
106
|
+
[] :
|
|
107
|
+
Object.create(Object.getPrototypeOf(nextSource));
|
|
108
|
+
if (circular) {
|
|
109
|
+
indexOf = sourceReferences.indexOf(nextSource);
|
|
110
|
+
if (indexOf !== -1) {
|
|
111
|
+
descriptor.value = targetReferences[indexOf];
|
|
112
|
+
Object.defineProperty(current.target, keys[propertyIndex], descriptor);
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
sourceReferences.push(nextSource);
|
|
116
|
+
targetReferences.push(descriptor.value);
|
|
117
|
+
}
|
|
118
|
+
Object.defineProperty(current.target, keys[propertyIndex], descriptor);
|
|
119
|
+
copies.push({ source: nextSource, target: descriptor.value });
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return cloneObject;
|
|
123
|
+
}
|
|
124
|
+
static IsEmpty(obj) {
|
|
125
|
+
return (0, is_nill_function_1.isNill)(obj) || Object.getOwnPropertyNames(obj).length === 0;
|
|
126
|
+
}
|
|
127
|
+
static IsPlainObject(object) {
|
|
128
|
+
return object !== null && !Array.isArray(object) && typeof object !== "function" && typeof object === "object";
|
|
129
|
+
}
|
|
130
|
+
static MakeInstanceOf(clazz, dataObject) {
|
|
131
|
+
if (dataObject instanceof clazz) {
|
|
132
|
+
return dataObject;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
const asClazz = new clazz();
|
|
136
|
+
ObjectUtils.CopyPropertiesFrom(dataObject, asClazz);
|
|
137
|
+
return asClazz;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
static PickRandomPropertyValue(object) {
|
|
141
|
+
if (!object) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
let result;
|
|
145
|
+
let count = 0;
|
|
146
|
+
for (const prop in object) {
|
|
147
|
+
if (object.hasOwnProperty(prop)) {
|
|
148
|
+
count++;
|
|
149
|
+
if (Math.random() < 1 / count) {
|
|
150
|
+
result = object[prop];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return result;
|
|
155
|
+
}
|
|
156
|
+
static ValueOrDefault(value, defaultReturnVal = "") {
|
|
157
|
+
return (0, not_nill_function_1.notNill)(value) ? value : defaultReturnVal;
|
|
158
|
+
}
|
|
159
|
+
static _isArguments(x) {
|
|
160
|
+
const supportsArgsClass = this._supportsArgumentsClass();
|
|
161
|
+
return supportsArgsClass ? this._isArgumentsWhenArgsClassSupported(x) : this._isArgumentsWhenArgsClassNotSupported(x);
|
|
162
|
+
}
|
|
163
|
+
static _isArgumentsWhenArgsClassNotSupported(object) {
|
|
164
|
+
return object &&
|
|
165
|
+
typeof object === "object" &&
|
|
166
|
+
typeof object.length === "number" &&
|
|
167
|
+
Object.prototype.hasOwnProperty.call(object, "callee") &&
|
|
168
|
+
!Object.prototype.propertyIsEnumerable.call(object, "callee") ||
|
|
169
|
+
false;
|
|
170
|
+
}
|
|
171
|
+
static _isArgumentsWhenArgsClassSupported(object) {
|
|
172
|
+
return Object.prototype.toString.call(object) === "[object Arguments]";
|
|
173
|
+
}
|
|
174
|
+
static _isBuffer(x) {
|
|
175
|
+
if (!x || typeof x !== "object" || typeof x.length !== "number") {
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
if (typeof x.copy !== "function" || typeof x.slice !== "function") {
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
return !(x.length > 0 && typeof x[0] !== "number");
|
|
182
|
+
}
|
|
183
|
+
static _isUndefinedOrNull(value) {
|
|
184
|
+
return value === null || value === undefined;
|
|
70
185
|
}
|
|
71
186
|
static _objEquiv(a, b) {
|
|
72
187
|
let i, key;
|
|
@@ -125,35 +240,9 @@ class ObjectUtils {
|
|
|
125
240
|
}
|
|
126
241
|
return typeof a === typeof b;
|
|
127
242
|
}
|
|
128
|
-
static _isArguments(x) {
|
|
129
|
-
let supportsArgsClass = this._supportsArgumentsClass();
|
|
130
|
-
return supportsArgsClass ? this._isArgumentsWhenArgsClassSupported(x) : this._isArgumentsWhenArgsClassNotSupported(x);
|
|
131
|
-
}
|
|
132
243
|
static _supportsArgumentsClass() {
|
|
133
|
-
return Object.prototype.toString.call(arguments) ===
|
|
134
|
-
}
|
|
135
|
-
static _isArgumentsWhenArgsClassSupported(object) {
|
|
136
|
-
return Object.prototype.toString.call(object) === '[object Arguments]';
|
|
137
|
-
}
|
|
138
|
-
static _isArgumentsWhenArgsClassNotSupported(object) {
|
|
139
|
-
return object &&
|
|
140
|
-
typeof object === 'object' &&
|
|
141
|
-
typeof object.length === 'number' &&
|
|
142
|
-
Object.prototype.hasOwnProperty.call(object, 'callee') &&
|
|
143
|
-
!Object.prototype.propertyIsEnumerable.call(object, 'callee') ||
|
|
144
|
-
false;
|
|
145
|
-
}
|
|
146
|
-
static _isUndefinedOrNull(value) {
|
|
147
|
-
return value === null || value === undefined;
|
|
148
|
-
}
|
|
149
|
-
static _isBuffer(x) {
|
|
150
|
-
if (!x || typeof x !== 'object' || typeof x.length !== 'number') {
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
|
-
if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
return !(x.length > 0 && typeof x[0] !== 'number');
|
|
244
|
+
return Object.prototype.toString.call(arguments) === "[object Arguments]";
|
|
157
245
|
}
|
|
158
246
|
}
|
|
159
247
|
exports.ObjectUtils = ObjectUtils;
|
|
248
|
+
//# sourceMappingURL=object-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-utils.js","sourceRoot":"","sources":["../../src/utils/object-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParameterValueConversionUtils = void 0;
|
|
3
4
|
const java_constants_1 = require("../model/constant/java-constants");
|
|
4
5
|
class ParameterValueConversionUtils {
|
|
5
6
|
static BoundsToRangeString(lowerBound, upperBound) {
|
|
@@ -16,3 +17,4 @@ class ParameterValueConversionUtils {
|
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
exports.ParameterValueConversionUtils = ParameterValueConversionUtils;
|
|
20
|
+
//# sourceMappingURL=parameter-value-conversion-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter-value-conversion-utils.js","sourceRoot":"","sources":["../../src/utils/parameter-value-conversion-utils.ts"],"names":[],"mappings":";;;AAAA,qEAA8D;AAS9D,MAAa,6BAA6B;IAS/B,MAAM,CAAC,mBAAmB,CAAC,UAAkB,EAAE,UAAkB;QACpE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;YAC5B,OAAO,SAAS,CAAC;SACpB;QACD,IAAI,CAAC,UAAU,EAAE;YACb,UAAU,GAAG,CAAC,CAAC;SAClB;QACD,IAAI,CAAC,UAAU,EAAE;YACb,UAAU,GAAG,6BAAY,CAAC;SAC7B;QACD,OAAO,EAAE,GAAG,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;IAChD,CAAC;CACJ;AArBD,sEAqBC"}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PromiseUtils = void 0;
|
|
12
4
|
class PromiseUtils {
|
|
13
5
|
static TryUntilSucceed(what, delay, params, tries) {
|
|
14
6
|
delay = Math.max(1, delay);
|
|
@@ -18,13 +10,14 @@ class PromiseUtils {
|
|
|
18
10
|
return Promise.reject('NO MORE TRIES');
|
|
19
11
|
}
|
|
20
12
|
}
|
|
21
|
-
return what(params).catch(() =>
|
|
22
|
-
|
|
13
|
+
return what(params).catch(async () => {
|
|
14
|
+
await PromiseUtils.Wait(delay);
|
|
23
15
|
return PromiseUtils.TryUntilSucceed(what, delay, params, tries);
|
|
24
|
-
})
|
|
16
|
+
});
|
|
25
17
|
}
|
|
26
18
|
static Wait(delay = 0) {
|
|
27
19
|
return new Promise(resolve => setTimeout(resolve, delay));
|
|
28
20
|
}
|
|
29
21
|
}
|
|
30
22
|
exports.PromiseUtils = PromiseUtils;
|
|
23
|
+
//# sourceMappingURL=promise-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise-utils.js","sourceRoot":"","sources":["../../src/utils/promise-utils.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IAEd,MAAM,CAAC,eAAe,CAAC,IAAuC,EAAE,KAAa,EAAE,MAAY,EAAE,KAAc;QAC9G,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAC9B,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,IAAI,CAAC,EAAE;gBACZ,OAAO,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;aAC1C;SACJ;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YACjC,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,YAAY,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpE,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,QAAgB,CAAC;QAChC,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;CAEJ;AApBD,oCAoBC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RefCodeUtils = void 0;
|
|
3
4
|
const number_utils_1 = require("./number-utils");
|
|
4
5
|
class RefCodeUtils {
|
|
5
6
|
static Check(valueToCheck, powTwoNumToCheckAgainst) {
|
|
@@ -16,3 +17,4 @@ class RefCodeUtils {
|
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
exports.RefCodeUtils = RefCodeUtils;
|
|
20
|
+
//# sourceMappingURL=ref-code-utils.js.map
|