@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.
Files changed (264) hide show
  1. package/build/connector.d.ts +2 -1
  2. package/build/connector.js +4 -13
  3. package/build/connector.js.map +1 -0
  4. package/build/connector.unit.test.js +31 -15
  5. package/build/connector.unit.test.js.map +1 -0
  6. package/build/enum/backend-service-name.enum.js +2 -0
  7. package/build/enum/backend-service-name.enum.js.map +1 -0
  8. package/build/enum/datasession-service-method.enum.js +2 -0
  9. package/build/enum/datasession-service-method.enum.js.map +1 -0
  10. package/build/enum/db-boolean-value-type.enum.js +2 -0
  11. package/build/enum/db-boolean-value-type.enum.js.map +1 -0
  12. package/build/enum/end-point.enum.js +2 -0
  13. package/build/enum/end-point.enum.js.map +1 -0
  14. package/build/enum/filter-type.enum.d.ts +4 -0
  15. package/build/enum/filter-type.enum.js +9 -0
  16. package/build/enum/filter-type.enum.js.map +1 -0
  17. package/build/enum/login-service-method.enum.js +2 -0
  18. package/build/enum/login-service-method.enum.js.map +1 -0
  19. package/build/enum/object-config-kind.d.ts +9 -0
  20. package/build/enum/object-config-kind.js +14 -0
  21. package/build/enum/object-config-kind.js.map +1 -0
  22. package/build/enum/object-configuration-data-type.enum.d.ts +7 -0
  23. package/build/enum/object-configuration-data-type.enum.js +12 -0
  24. package/build/enum/object-configuration-data-type.enum.js.map +1 -0
  25. package/build/enum/object-configuration-value-type.enum.d.ts +10 -0
  26. package/build/enum/object-configuration-value-type.enum.js +15 -0
  27. package/build/enum/object-configuration-value-type.enum.js.map +1 -0
  28. package/build/enum/object-right-type.enum.d.ts +5 -0
  29. package/build/enum/object-right-type.enum.js +10 -0
  30. package/build/enum/object-right-type.enum.js.map +1 -0
  31. package/build/enum/one-zero-bool-db-type.enum.js +2 -0
  32. package/build/enum/one-zero-bool-db-type.enum.js.map +1 -0
  33. package/build/enum/public-service-method.enum.js +2 -0
  34. package/build/enum/public-service-method.enum.js.map +1 -0
  35. package/build/enum/search-data-type.enum.d.ts +4 -0
  36. package/build/enum/search-data-type.enum.js +9 -0
  37. package/build/enum/search-data-type.enum.js.map +1 -0
  38. package/build/enum/search-property-state.enum.d.ts +5 -0
  39. package/build/enum/search-property-state.enum.js +10 -0
  40. package/build/enum/search-property-state.enum.js.map +1 -0
  41. package/build/enum/sort-direction.d.ts +5 -0
  42. package/build/enum/sort-direction.js +13 -0
  43. package/build/enum/sort-direction.js.map +1 -0
  44. package/build/enum/sort-type.enum.d.ts +6 -0
  45. package/build/enum/sort-type.enum.js +11 -0
  46. package/build/enum/sort-type.enum.js.map +1 -0
  47. package/build/enum/true-false-db-type.enum.js +2 -0
  48. package/build/enum/true-false-db-type.enum.js.map +1 -0
  49. package/build/enum/user-right-type.enum.d.ts +7 -0
  50. package/build/enum/user-right-type.enum.js +12 -0
  51. package/build/enum/user-right-type.enum.js.map +1 -0
  52. package/build/enum/value-comparison-type.enum.d.ts +15 -0
  53. package/build/enum/value-comparison-type.enum.js +32 -0
  54. package/build/enum/value-comparison-type.enum.js.map +1 -0
  55. package/build/enum/yes-no-db-type.enum.js +2 -0
  56. package/build/enum/yes-no-db-type.enum.js.map +1 -0
  57. package/build/factory/business-object-factory.d.ts +16 -0
  58. package/build/factory/business-object-factory.js +178 -0
  59. package/build/factory/business-object-factory.js.map +1 -0
  60. package/build/factory/business-object-serializer.d.ts +11 -0
  61. package/build/factory/business-object-serializer.js +146 -0
  62. package/build/factory/business-object-serializer.js.map +1 -0
  63. package/build/factory/decorators/bo-factory-step.decorator.d.ts +4 -0
  64. package/build/factory/decorators/bo-factory-step.decorator.js +17 -0
  65. package/build/factory/decorators/bo-factory-step.decorator.js.map +1 -0
  66. package/build/factory/decorators/bo-serializer-step.decorator.d.ts +4 -0
  67. package/build/factory/decorators/bo-serializer-step.decorator.js +17 -0
  68. package/build/factory/decorators/bo-serializer-step.decorator.js.map +1 -0
  69. package/build/factory/decorators/boolean.decorator.js +6 -4
  70. package/build/factory/decorators/boolean.decorator.js.map +1 -0
  71. package/build/factory/decorators/business-object-data.decorator.d.ts +22 -0
  72. package/build/factory/decorators/business-object-data.decorator.js +87 -0
  73. package/build/factory/decorators/business-object-data.decorator.js.map +1 -0
  74. package/build/factory/decorators/co-inject.decorator.d.ts +6 -0
  75. package/build/factory/decorators/co-inject.decorator.js +54 -0
  76. package/build/factory/decorators/co-inject.decorator.js.map +1 -0
  77. package/build/factory/decorators/complex-array.decorator.js +3 -1
  78. package/build/factory/decorators/complex-array.decorator.js.map +1 -0
  79. package/build/factory/decorators/complex-field.decorator.js +3 -1
  80. package/build/factory/decorators/complex-field.decorator.js.map +1 -0
  81. package/build/factory/decorators/date-field.decorator.js +2 -0
  82. package/build/factory/decorators/date-field.decorator.js.map +1 -0
  83. package/build/factory/decorators/db-field-alias.decorator.js +2 -0
  84. package/build/factory/decorators/db-field-alias.decorator.js.map +1 -0
  85. package/build/factory/decorators/db-method-value.decorator.d.ts +5 -0
  86. package/build/factory/decorators/db-method-value.decorator.js +20 -0
  87. package/build/factory/decorators/db-method-value.decorator.js.map +1 -0
  88. package/build/factory/decorators/db-number.decorator.d.ts +5 -0
  89. package/build/factory/decorators/db-number.decorator.js +35 -0
  90. package/build/factory/decorators/db-number.decorator.js.map +1 -0
  91. package/build/factory/decorators/default-send-value.decorator.d.ts +6 -0
  92. package/build/factory/decorators/default-send-value.decorator.js +53 -0
  93. package/build/factory/decorators/default-send-value.decorator.js.map +1 -0
  94. package/build/factory/decorators/exclude-when-empty-string.decorator.d.ts +5 -0
  95. package/build/factory/decorators/exclude-when-empty-string.decorator.js +20 -0
  96. package/build/factory/decorators/exclude-when-empty-string.decorator.js.map +1 -0
  97. package/build/factory/decorators/json.decorator.js +2 -0
  98. package/build/factory/decorators/json.decorator.js.map +1 -0
  99. package/build/factory/decorators/map-property.decorator.js +2 -0
  100. package/build/factory/decorators/map-property.decorator.js.map +1 -0
  101. package/build/factory/decorators/no-db-field.decorator.js +2 -0
  102. package/build/factory/decorators/no-db-field.decorator.js.map +1 -0
  103. package/build/factory/decorators/number-string.decorator.d.ts +6 -0
  104. package/build/factory/decorators/number-string.decorator.js +24 -0
  105. package/build/factory/decorators/number-string.decorator.js.map +1 -0
  106. package/build/factory/decorators/simple-method-tag.decorator.d.ts +5 -0
  107. package/build/factory/decorators/simple-method-tag.decorator.js +31 -0
  108. package/build/factory/decorators/simple-method-tag.decorator.js.map +1 -0
  109. package/build/factory/decorators/simple-property-tag.decorator.d.ts +5 -0
  110. package/build/factory/decorators/simple-property-tag.decorator.js +38 -0
  111. package/build/factory/decorators/simple-property-tag.decorator.js.map +1 -0
  112. package/build/factory/decorators/string-number.decorator.js +2 -0
  113. package/build/factory/decorators/string-number.decorator.js.map +1 -0
  114. package/build/interface/business-object-data-shape.d.ts +19 -0
  115. package/build/interface/business-object-data-shape.js +3 -0
  116. package/build/interface/business-object-data-shape.js.map +1 -0
  117. package/build/interface/check-precision-and-scale-result.d.ts +4 -0
  118. package/build/interface/check-precision-and-scale-result.js +3 -0
  119. package/build/interface/check-precision-and-scale-result.js.map +1 -0
  120. package/build/interface/check-within-stepped-bounds-result.d.ts +4 -0
  121. package/build/interface/check-within-stepped-bounds-result.js +3 -0
  122. package/build/interface/check-within-stepped-bounds-result.js.map +1 -0
  123. package/build/interface/filter-property.d.ts +9 -0
  124. package/build/interface/filter-property.js +3 -0
  125. package/build/interface/filter-property.js.map +1 -0
  126. package/build/interface/precision-scale-object.d.ts +4 -0
  127. package/build/interface/precision-scale-object.js +3 -0
  128. package/build/interface/precision-scale-object.js.map +1 -0
  129. package/build/interface/search-property.d.ts +11 -0
  130. package/build/interface/search-property.js +3 -0
  131. package/build/interface/search-property.js.map +1 -0
  132. package/build/interface/sort-property.d.ts +11 -0
  133. package/build/interface/sort-property.js +3 -0
  134. package/build/interface/sort-property.js.map +1 -0
  135. package/build/interface/text-part.d.ts +4 -0
  136. package/build/interface/text-part.js +3 -0
  137. package/build/interface/text-part.js.map +1 -0
  138. package/build/interface/value-comparison-type-view-wrapper.d.ts +6 -0
  139. package/build/interface/value-comparison-type-view-wrapper.js +3 -0
  140. package/build/interface/value-comparison-type-view-wrapper.js.map +1 -0
  141. package/build/model/business-object.d.ts +11 -2
  142. package/build/model/business-object.js +28 -60
  143. package/build/model/business-object.js.map +1 -0
  144. package/build/model/constant/java-constants.js +2 -0
  145. package/build/model/constant/java-constants.js.map +1 -0
  146. package/build/model/data-service-data.js +2 -0
  147. package/build/model/data-service-data.js.map +1 -0
  148. package/build/model/data-service-response-data.interface.js +1 -0
  149. package/build/model/data-service-response-data.interface.js.map +1 -0
  150. package/build/model/data-service-response-data.js +10 -8
  151. package/build/model/data-service-response-data.js.map +1 -0
  152. package/build/model/data-service-response-exception.js +1 -0
  153. package/build/model/data-service-response-exception.js.map +1 -0
  154. package/build/model/data-service-response-root.js +1 -0
  155. package/build/model/data-service-response-root.js.map +1 -0
  156. package/build/model/field-validation.interface.js +1 -0
  157. package/build/model/field-validation.interface.js.map +1 -0
  158. package/build/model/field-validation.js +2 -0
  159. package/build/model/field-validation.js.map +1 -0
  160. package/build/model/field-validations-object.interface.js +1 -0
  161. package/build/model/field-validations-object.interface.js.map +1 -0
  162. package/build/model/field-validations-object.js +1 -0
  163. package/build/model/field-validations-object.js.map +1 -0
  164. package/build/model/login-response.interface.js +1 -0
  165. package/build/model/login-response.interface.js.map +1 -0
  166. package/build/model/login-response.js +2 -0
  167. package/build/model/login-response.js.map +1 -0
  168. package/build/model/login.js +2 -0
  169. package/build/model/login.js.map +1 -0
  170. package/build/model/object-configuration.d.ts +50 -0
  171. package/build/model/object-configuration.js +190 -0
  172. package/build/model/object-configuration.js.map +1 -0
  173. package/build/model/options.js +2 -0
  174. package/build/model/options.js.map +1 -0
  175. package/build/model/paging-parameters.interface.js +2 -0
  176. package/build/model/paging-parameters.interface.js.map +1 -0
  177. package/build/model/paging-parameters.js +6 -4
  178. package/build/model/paging-parameters.js.map +1 -0
  179. package/build/model/public-service-request-data.d.ts +5 -0
  180. package/build/model/public-service-request-data.js +3 -0
  181. package/build/model/public-service-request-data.js.map +1 -0
  182. package/build/model/server-response-data.d.ts +1 -1
  183. package/build/model/server-response-data.js +1 -0
  184. package/build/model/server-response-data.js.map +1 -0
  185. package/build/model/server-stack-trace-element.js +1 -0
  186. package/build/model/server-stack-trace-element.js.map +1 -0
  187. package/build/model/session.js +2 -0
  188. package/build/model/session.js.map +1 -0
  189. package/build/model/validation-message.interface.js +1 -0
  190. package/build/model/validation-message.interface.js.map +1 -0
  191. package/build/model/validation-message.js +7 -5
  192. package/build/model/validation-message.js.map +1 -0
  193. package/build/model/validation-result.interface.js +1 -0
  194. package/build/model/validation-result.interface.js.map +1 -0
  195. package/build/model/validation-result.js +2 -0
  196. package/build/model/validation-result.js.map +1 -0
  197. package/build/provider/ajax.service.d.ts +2 -1
  198. package/build/provider/ajax.service.js +21 -32
  199. package/build/provider/ajax.service.js.map +1 -0
  200. package/build/provider/base-backend-connection.service.js +9 -22
  201. package/build/provider/base-backend-connection.service.js.map +1 -0
  202. package/build/service/business-object-factory.js +3 -1
  203. package/build/service/business-object-factory.js.map +1 -0
  204. package/build/service/datasession.service.js +4 -13
  205. package/build/service/datasession.service.js.map +1 -0
  206. package/build/service/encrypt.service.js +2 -0
  207. package/build/service/encrypt.service.js.map +1 -0
  208. package/build/service/encrypt.service.unit.test.js +1 -0
  209. package/build/service/encrypt.service.unit.test.js.map +1 -0
  210. package/build/service/login.service.d.ts +3 -2
  211. package/build/service/login.service.js +32 -26
  212. package/build/service/login.service.js.map +1 -0
  213. package/build/service/public.service.js +2 -0
  214. package/build/service/public.service.js.map +1 -0
  215. package/build/tests/int/connector.int.test.js +1 -0
  216. package/build/tests/int/connector.int.test.js.map +1 -0
  217. package/build/type/business-object-id-type.d.ts +1 -1
  218. package/build/type/business-object-id-type.js +2 -0
  219. package/build/type/business-object-id-type.js.map +1 -0
  220. package/build/type/object-configuration-default-value-type.d.ts +1 -1
  221. package/build/type/object-configuration-default-value-type.js +1 -0
  222. package/build/type/object-configuration-default-value-type.js.map +1 -0
  223. package/build/utils/array-utils.d.ts +33 -0
  224. package/build/utils/array-utils.js +346 -1
  225. package/build/utils/array-utils.js.map +1 -0
  226. package/build/utils/business-object-utils.d.ts +16 -0
  227. package/build/utils/business-object-utils.js +181 -1
  228. package/build/utils/business-object-utils.js.map +1 -0
  229. package/build/utils/date-utils.d.ts +2 -0
  230. package/build/utils/date-utils.js +12 -1
  231. package/build/utils/date-utils.js.map +1 -0
  232. package/build/utils/function/any-nill.function.d.ts +1 -0
  233. package/build/utils/function/any-nill.function.js +17 -0
  234. package/build/utils/function/any-nill.function.js.map +1 -0
  235. package/build/utils/function/is-nill.function.js +2 -0
  236. package/build/utils/function/is-nill.function.js.map +1 -0
  237. package/build/utils/function/not-nill.function.js +2 -0
  238. package/build/utils/function/not-nill.function.js.map +1 -0
  239. package/build/utils/function-utils.d.ts +4 -0
  240. package/build/utils/function-utils.js +32 -0
  241. package/build/utils/function-utils.js.map +1 -0
  242. package/build/utils/image-utils.js +2 -0
  243. package/build/utils/image-utils.js.map +1 -0
  244. package/build/utils/map-utils.d.ts +4 -0
  245. package/build/utils/map-utils.js +32 -0
  246. package/build/utils/map-utils.js.map +1 -0
  247. package/build/utils/number-utils.d.ts +33 -3
  248. package/build/utils/number-utils.js +228 -17
  249. package/build/utils/number-utils.js.map +1 -0
  250. package/build/utils/object-utils.d.ts +13 -7
  251. package/build/utils/object-utils.js +144 -55
  252. package/build/utils/object-utils.js.map +1 -0
  253. package/build/utils/parameter-value-conversion-utils.js +2 -0
  254. package/build/utils/parameter-value-conversion-utils.js.map +1 -0
  255. package/build/utils/promise-utils.js +5 -12
  256. package/build/utils/promise-utils.js.map +1 -0
  257. package/build/utils/ref-code-utils.js +2 -0
  258. package/build/utils/ref-code-utils.js.map +1 -0
  259. package/build/utils/string-utils.d.ts +20 -1
  260. package/build/utils/string-utils.js +183 -4
  261. package/build/utils/string-utils.js.map +1 -0
  262. package/build/utils/url-utils.js +2 -0
  263. package/build/utils/url-utils.js.map +1 -0
  264. 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 = ('' + arg).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
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 ParseFloat(arg, decimalPrecision = 2) {
22
- if (!object_utils_1.ObjectUtils.AllExist(arg, decimalPrecision) || Array.isArray(arg)) {
23
- return NaN;
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
- if (!this.IsInteger(decimalPrecision) || decimalPrecision < 0) {
26
- decimalPrecision = 2;
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 if (decimalPrecision > 20) {
29
- decimalPrecision = 20;
96
+ else {
97
+ return arg.toString().length === parseFloat(arg).toString().length;
30
98
  }
31
- return parseFloat(parseFloat(arg).toFixed(decimalPrecision));
32
99
  }
33
- static IsInteger(arg) {
34
- if (isNaN(arg) || Array.isArray(arg)) {
100
+ static IsListOfNumbers(arg, separator = ",") {
101
+ const nrs = arg.split(separator);
102
+ if (nrs.length === 0) {
35
103
  return false;
36
104
  }
37
- const argAsFloat = parseFloat(arg);
38
- return ((argAsFloat | 0) === argAsFloat);
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 IsNumber(arg) {
52
- return typeof arg === 'number';
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 IsNaN(arg) {
55
- return isNaN(arg) || !this.IsNumber(arg);
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
- private static _objEquiv;
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 _isUndefinedOrNull;
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
- this.ForOwnProperty(from, (value, key) => {
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] !== 'function') {
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 DeepEquals(actual, expected) {
58
- if (actual === expected) {
59
- return true;
57
+ static GetClassName(objectOrClass) {
58
+ if (!objectOrClass) {
59
+ return undefined;
60
60
  }
61
- else if (actual instanceof Date && expected instanceof Date) {
62
- return actual.getTime() === expected.getTime();
61
+ else if (objectOrClass.constructor === Function) {
62
+ return objectOrClass.name;
63
63
  }
64
- else if (!actual || !expected || typeof actual !== 'object' && typeof expected !== 'object') {
65
- return actual === expected;
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
- return this._objEquiv(actual, expected);
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) === '[object 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":";;;AAAA,kEAAmD;AACnD,oEAAqD;AAGrD,MAAa,WAAW;IAOb,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAa;QACnC,IAAI,QAAQ,GAAY,IAAI,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,GAAG,GAAW,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC/D,IAAI,IAAA,yBAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnB,QAAQ,GAAG,KAAK,CAAC;gBACjB,MAAM;aACT;SACJ;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IASM,MAAM,CAAC,kBAAkB,CAAI,IAAY,EAAE,EAAK,EAAE,iBAA0B,IAAI;QACnF,IAAI,CAAC,EAAE,EAAE;YACL,EAAE,GAAG,EAAO,CAAC;SAChB;QACD,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,EAAE,CAAC;SACb;QACD,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAU,EAAE,GAAW,EAAE,EAAE;YACzD,IAAI,cAAc,IAAI,IAAA,2BAAO,EAAC,KAAK,CAAC,EAAE;gBAClC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACnB;QACL,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,MAAW,EAAE,QAAa;QAC/C,IAAI,MAAM,KAAK,QAAQ,EAAE;YACrB,OAAO,IAAI,CAAC;SACf;aAAM,IAAI,MAAM,YAAY,IAAI,IAAI,QAAQ,YAAY,IAAI,EAAE;YAC3D,OAAO,MAAM,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;SAClD;aAAM,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC3F,OAAO,MAAM,KAAK,QAAQ,CAAC;SAC9B;aAAM;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SAC3C;IACL,CAAC;IAGM,MAAM,CAAC,cAAc,CAAC,WAAgB,EAAE,QAA4C;QACvF,IAAI,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;YACxC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;gBAC3B,IAAI,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;oBAC3E,MAAM,QAAQ,GAAY,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC1D,IAAI,QAAQ,KAAK,KAAK,EAAE;wBACpB,MAAM;qBACT;iBACJ;aACJ;SACJ;IACL,CAAC;IAGM,MAAM,CAAC,YAAY,CAAC,aAAkB;QACzC,IAAI,CAAC,aAAa,EAAE;YAChB,OAAO,SAAS,CAAC;SAEpB;aAAM,IAAI,aAAa,CAAC,WAAW,KAAK,QAAQ,EAAE;YAC/C,OAAO,aAAa,CAAC,IAAI,CAAC;SAE7B;aAAM;YACH,MAAM,iBAAiB,GAAW,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACvE,OAAO,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7C;IACL,CAAC;IAGM,MAAM,CAAC,eAAe,CAAC,cAAmB,EAAE,WAAiB;QAChE,IAAI,YAAY,GAAQ,SAAS,CAAC;QAElC,IAAI,WAAW,EAAE;YACb,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC;SACpC;aAAM;YACH,YAAY,GAAG,EAAE,CAAC;SACrB;QAED,WAAW,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,KAAU,EAAE,GAAW,EAAE,EAAE;YACnE,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,cAAmB,EAAE,WAAoB,IAAI;QAIpE,IAAI,aAAqB,CAAC;QAC1B,IAAI,UAA8B,CAAC;QACnC,IAAI,IAAc,CAAC;QACnB,IAAI,OAAY,CAAC;QACjB,IAAI,UAAe,CAAC;QACpB,IAAI,OAAe,CAAC;QACpB,MAAM,MAAM,GAAU,CAAC;gBACnB,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;aAC/D,CAAC,CAAC;QACH,MAAM,WAAW,GAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1C,MAAM,gBAAgB,GAAU,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,gBAAgB,GAAU,CAAC,WAAW,CAAC,CAAC;QAG9C,OAAO,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE;YAC7B,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAElD,KAAK,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;gBAElE,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAElF,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAC3D,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;oBACvE,SAAS;iBACZ;gBAED,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC9B,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC1C,EAAE,CAAC,CAAC;oBACJ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;gBAErD,IAAI,QAAQ,EAAE;oBACV,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAE/C,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE;wBAEhB,UAAU,CAAC,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBAC7C,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;wBACvE,SAAS;qBACZ;oBAED,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAClC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;iBAC3C;gBAED,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;gBAEvE,MAAM,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,EAAC,CAAC,CAAC;aAC/D;SACJ;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,GAAQ;QAC1B,OAAO,IAAA,yBAAM,EAAC,GAAG,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACvE,CAAC;IAGM,MAAM,CAAC,aAAa,CAAC,MAAW;QACnC,OAAO,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC;IACnH,CAAC;IASM,MAAM,CAAC,cAAc,CAAC,KAAU,EAAE,UAAgB;QAErD,IAAI,UAAU,YAAY,KAAK,EAAE;YAC7B,OAAO,UAAU,CAAC;SACrB;aAAM;YACH,MAAM,OAAO,GAAQ,IAAI,KAAK,EAAE,CAAC;YACjC,WAAW,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACpD,OAAO,OAAO,CAAC;SAClB;IACL,CAAC;IAGM,MAAM,CAAC,uBAAuB,CAAC,MAAW;QAC7C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QAED,IAAI,MAAW,CAAC;QAChB,IAAI,KAAK,GAAW,CAAC,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;YACvB,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBAC7B,KAAK,EAAE,CAAC;gBACR,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE;oBAC3B,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;iBACzB;aACJ;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAGM,MAAM,CAAC,cAAc,CAAC,KAAU,EAAE,mBAAwB,EAAE;QAC/D,OAAO,IAAA,2BAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACrD,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,CAAM;QAC9B,MAAM,iBAAiB,GAAY,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,OAAO,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC;IAC1H,CAAC;IAEO,MAAM,CAAC,qCAAqC,CAAC,MAAW;QAC5D,OAAO,MAAM;YACT,OAAO,MAAM,KAAK,QAAQ;YAC1B,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YACjC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;YACtD,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC7D,KAAK,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,kCAAkC,CAAC,MAAW;QACzD,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,oBAAoB,CAAC;IAC3E,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,CAAM;QAC3B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC7D,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE;YAC/D,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACvD,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,KAAU;QACxC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;IACjD,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,CAAM,EAAE,CAAM;QACnC,IAAI,CAAS,EAAE,GAAW,CAAC;QAC3B,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;YAC1D,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE;YAC7B,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;gBACvB,OAAO,KAAK,CAAC;aAChB;YACD,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAChC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACpB,OAAO,KAAK,CAAC;aAChB;YACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;gBACvB,OAAO,KAAK,CAAC;aAChB;YACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;oBACf,OAAO,KAAK,CAAC;iBAChB;aACJ;YACD,OAAO,IAAI,CAAC;SACf;QACD,IAAI,EAAY,CAAC;QACjB,IAAI,EAAY,CAAC;QACjB,IAAI;YACA,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACvB;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,EAAE;YACzB,OAAO,KAAK,CAAC;SAChB;QAED,EAAE,CAAC,IAAI,EAAE,CAAC;QACV,EAAE,CAAC,IAAI,EAAE,CAAC;QAEV,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;gBACjB,OAAO,KAAK,CAAC;aAChB;SACJ;QAED,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACjC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;gBAClC,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,uBAAuB;QAClC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,oBAAoB,CAAC;IAC9E,CAAC;CACJ;AAjTD,kCAiTC"}
@@ -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(() => __awaiter(this, void 0, void 0, function* () {
22
- yield PromiseUtils.Wait(delay);
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