@colijnit/ioneconnector 3.1.18 → 3.1.20

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 (344) hide show
  1. package/build/connector.d.ts +30 -29
  2. package/build/connector.js +67 -64
  3. package/build/connector.js.map +1 -1
  4. package/build/connector.unit.test.d.ts +1 -1
  5. package/build/connector.unit.test.js +108 -108
  6. package/build/enum/activate-user-account-status.enum.d.ts +6 -6
  7. package/build/enum/activate-user-account-status.enum.js +10 -10
  8. package/build/enum/address-format.enum.d.ts +4 -4
  9. package/build/enum/address-format.enum.js +8 -8
  10. package/build/enum/backend-language-code.enum.d.ts +6 -6
  11. package/build/enum/backend-language-code.enum.js +10 -10
  12. package/build/enum/backend-service-name.enum.d.ts +7 -6
  13. package/build/enum/backend-service-name.enum.js +11 -10
  14. package/build/enum/backend-service-name.enum.js.map +1 -1
  15. package/build/enum/communication-type.enum.d.ts +8 -8
  16. package/build/enum/communication-type.enum.js +12 -12
  17. package/build/enum/datasession-service-method.enum.d.ts +13 -13
  18. package/build/enum/datasession-service-method.enum.js +17 -17
  19. package/build/enum/db-boolean-value-type.enum.d.ts +12 -12
  20. package/build/enum/db-boolean-value-type.enum.js +32 -32
  21. package/build/enum/end-point.enum.d.ts +4 -4
  22. package/build/enum/end-point.enum.js +8 -8
  23. package/build/enum/file-type-internal.enum.d.ts +11 -11
  24. package/build/enum/file-type-internal.enum.js +15 -15
  25. package/build/enum/file-type.enum.d.ts +5 -5
  26. package/build/enum/file-type.enum.js +9 -9
  27. package/build/enum/filter-type.enum.d.ts +4 -4
  28. package/build/enum/filter-type.enum.js +8 -8
  29. package/build/enum/health-service-method.enum.d.ts +3 -3
  30. package/build/enum/health-service-method.enum.js +7 -7
  31. package/build/enum/language-code.enum.d.ts +7 -7
  32. package/build/enum/language-code.enum.js +11 -11
  33. package/build/enum/login-service-method.enum.d.ts +24 -24
  34. package/build/enum/login-service-method.enum.js +28 -28
  35. package/build/enum/login-status.enum.d.ts +20 -20
  36. package/build/enum/login-status.enum.js +24 -24
  37. package/build/enum/message-type.enum.d.ts +6 -6
  38. package/build/enum/message-type.enum.js +10 -10
  39. package/build/enum/object-config-kind.d.ts +9 -9
  40. package/build/enum/object-config-kind.js +13 -13
  41. package/build/enum/object-configuration-data-type.enum.d.ts +7 -7
  42. package/build/enum/object-configuration-data-type.enum.js +11 -11
  43. package/build/enum/object-configuration-value-type.enum.d.ts +10 -10
  44. package/build/enum/object-configuration-value-type.enum.js +14 -14
  45. package/build/enum/object-right-type.enum.d.ts +5 -5
  46. package/build/enum/object-right-type.enum.js +9 -9
  47. package/build/enum/one-zero-bool-db-type.enum.d.ts +5 -5
  48. package/build/enum/one-zero-bool-db-type.enum.js +20 -20
  49. package/build/enum/public-service-method.enum.d.ts +5 -5
  50. package/build/enum/public-service-method.enum.js +9 -9
  51. package/build/enum/reset-password-status.enum.d.ts +5 -5
  52. package/build/enum/reset-password-status.enum.js +9 -9
  53. package/build/enum/screen-config-subcategory.enum.d.ts +2 -2
  54. package/build/enum/screen-config-subcategory.enum.js +2 -2
  55. package/build/enum/search-data-type.enum.d.ts +4 -4
  56. package/build/enum/search-data-type.enum.js +8 -8
  57. package/build/enum/search-property-state.enum.d.ts +5 -5
  58. package/build/enum/search-property-state.enum.js +9 -9
  59. package/build/enum/sort-direction.d.ts +5 -5
  60. package/build/enum/sort-direction.js +12 -12
  61. package/build/enum/sort-type.enum.d.ts +6 -6
  62. package/build/enum/sort-type.enum.js +10 -10
  63. package/build/enum/true-false-db-type.enum.d.ts +5 -5
  64. package/build/enum/true-false-db-type.enum.js +20 -20
  65. package/build/enum/user-info-service-method.enum.d.ts +3 -0
  66. package/build/enum/user-info-service-method.enum.js +8 -0
  67. package/build/enum/user-info-service-method.enum.js.map +1 -0
  68. package/build/enum/user-right-type.enum.d.ts +7 -7
  69. package/build/enum/user-right-type.enum.js +11 -11
  70. package/build/enum/user-role-type.enum.d.ts +17 -17
  71. package/build/enum/user-role-type.enum.js +21 -21
  72. package/build/enum/value-comparison-type.enum.d.ts +15 -15
  73. package/build/enum/value-comparison-type.enum.js +31 -31
  74. package/build/enum/yes-no-db-type.enum.d.ts +5 -5
  75. package/build/enum/yes-no-db-type.enum.js +20 -20
  76. package/build/factory/business-object-serializer.d.ts +11 -11
  77. package/build/factory/business-object-serializer.js +145 -145
  78. package/build/factory/decorators/bo-factory-step.decorator.d.ts +4 -4
  79. package/build/factory/decorators/bo-factory-step.decorator.js +16 -16
  80. package/build/factory/decorators/bo-serializer-step.decorator.d.ts +4 -4
  81. package/build/factory/decorators/bo-serializer-step.decorator.js +16 -16
  82. package/build/factory/decorators/boolean.decorator.d.ts +12 -12
  83. package/build/factory/decorators/boolean.decorator.js +73 -73
  84. package/build/factory/decorators/business-object-data.decorator.d.ts +23 -23
  85. package/build/factory/decorators/business-object-data.decorator.js +87 -87
  86. package/build/factory/decorators/co-inject.decorator.d.ts +7 -7
  87. package/build/factory/decorators/co-inject.decorator.js +54 -54
  88. package/build/factory/decorators/complex-array.decorator.d.ts +6 -6
  89. package/build/factory/decorators/complex-array.decorator.js +37 -37
  90. package/build/factory/decorators/complex-field.decorator.d.ts +6 -6
  91. package/build/factory/decorators/complex-field.decorator.js +37 -37
  92. package/build/factory/decorators/date-field.decorator.d.ts +6 -6
  93. package/build/factory/decorators/date-field.decorator.js +27 -27
  94. package/build/factory/decorators/db-field-alias.decorator.d.ts +6 -6
  95. package/build/factory/decorators/db-field-alias.decorator.js +40 -40
  96. package/build/factory/decorators/db-method-value.decorator.d.ts +5 -5
  97. package/build/factory/decorators/db-method-value.decorator.js +19 -19
  98. package/build/factory/decorators/db-number.decorator.d.ts +6 -6
  99. package/build/factory/decorators/db-number.decorator.js +35 -35
  100. package/build/factory/decorators/default-send-value.decorator.d.ts +7 -7
  101. package/build/factory/decorators/default-send-value.decorator.js +53 -53
  102. package/build/factory/decorators/exclude-when-empty-string.decorator.d.ts +5 -5
  103. package/build/factory/decorators/exclude-when-empty-string.decorator.js +19 -19
  104. package/build/factory/decorators/json.decorator.d.ts +6 -6
  105. package/build/factory/decorators/json.decorator.js +26 -26
  106. package/build/factory/decorators/map-property.decorator.d.ts +6 -6
  107. package/build/factory/decorators/map-property.decorator.js +29 -29
  108. package/build/factory/decorators/no-db-field.decorator.d.ts +5 -5
  109. package/build/factory/decorators/no-db-field.decorator.js +34 -34
  110. package/build/factory/decorators/number-string.decorator.d.ts +6 -6
  111. package/build/factory/decorators/number-string.decorator.js +23 -23
  112. package/build/factory/decorators/simple-method-tag.decorator.d.ts +6 -6
  113. package/build/factory/decorators/simple-method-tag.decorator.js +31 -31
  114. package/build/factory/decorators/simple-property-tag.decorator.d.ts +6 -6
  115. package/build/factory/decorators/simple-property-tag.decorator.js +38 -38
  116. package/build/factory/decorators/string-number.decorator.d.ts +7 -7
  117. package/build/factory/decorators/string-number.decorator.js +30 -30
  118. package/build/factory/decorators/validate.decorator.d.ts +11 -11
  119. package/build/factory/decorators/validate.decorator.js +55 -55
  120. package/build/interface/address-common-shape.interface.d.ts +14 -14
  121. package/build/interface/address-common-shape.interface.js +2 -2
  122. package/build/interface/business-object-data-shape.d.ts +19 -19
  123. package/build/interface/business-object-data-shape.js +2 -2
  124. package/build/interface/check-precision-and-scale-result.d.ts +4 -4
  125. package/build/interface/check-precision-and-scale-result.js +2 -2
  126. package/build/interface/check-within-stepped-bounds-result.d.ts +4 -4
  127. package/build/interface/check-within-stepped-bounds-result.js +2 -2
  128. package/build/interface/filter-property.d.ts +9 -9
  129. package/build/interface/filter-property.js +2 -2
  130. package/build/interface/login-storage-data.interface.d.ts +10 -10
  131. package/build/interface/login-storage-data.interface.js +2 -2
  132. package/build/interface/precision-scale-object.d.ts +4 -4
  133. package/build/interface/precision-scale-object.js +2 -2
  134. package/build/interface/search-property.d.ts +11 -11
  135. package/build/interface/search-property.js +2 -2
  136. package/build/interface/sort-property.d.ts +11 -11
  137. package/build/interface/sort-property.js +2 -2
  138. package/build/interface/text-part.d.ts +4 -4
  139. package/build/interface/text-part.js +2 -2
  140. package/build/interface/value-comparison-type-view-wrapper.d.ts +6 -6
  141. package/build/interface/value-comparison-type-view-wrapper.js +2 -2
  142. package/build/model/business-object.d.ts +13 -13
  143. package/build/model/business-object.js +34 -34
  144. package/build/model/company.bo.d.ts +9 -9
  145. package/build/model/company.bo.js +13 -13
  146. package/build/model/constant/java-constants.d.ts +2 -2
  147. package/build/model/constant/java-constants.js +5 -5
  148. package/build/model/country.bo.d.ts +11 -11
  149. package/build/model/country.bo.js +11 -11
  150. package/build/model/data-service-data.d.ts +15 -15
  151. package/build/model/data-service-data.js +6 -6
  152. package/build/model/data-service-response-data.d.ts +19 -19
  153. package/build/model/data-service-response-data.interface.d.ts +9 -9
  154. package/build/model/data-service-response-data.interface.js +2 -2
  155. package/build/model/data-service-response-data.js +57 -57
  156. package/build/model/data-service-response-exception.d.ts +29 -29
  157. package/build/model/data-service-response-exception.js +2 -2
  158. package/build/model/data-service-response-root.d.ts +7 -7
  159. package/build/model/data-service-response-root.js +2 -2
  160. package/build/model/default-all-scr-cfg-subcategory.d.ts +2 -2
  161. package/build/model/default-all-scr-cfg-subcategory.js +4 -4
  162. package/build/model/default-get-object-configurations-params.d.ts +2 -2
  163. package/build/model/default-get-object-configurations-params.js +5 -5
  164. package/build/model/field-validation.d.ts +11 -11
  165. package/build/model/field-validation.interface.d.ts +6 -6
  166. package/build/model/field-validation.interface.js +2 -2
  167. package/build/model/field-validation.js +76 -76
  168. package/build/model/field-validations-object.d.ts +4 -4
  169. package/build/model/field-validations-object.interface.d.ts +4 -4
  170. package/build/model/field-validations-object.interface.js +2 -2
  171. package/build/model/field-validations-object.js +2 -2
  172. package/build/model/ione-local-storage-root-object.d.ts +5 -5
  173. package/build/model/ione-local-storage-root-object.js +9 -9
  174. package/build/model/keycloak-parameters.bo.d.ts +5 -5
  175. package/build/model/keycloak-parameters.bo.js +7 -7
  176. package/build/model/local-storage-root-object.d.ts +4 -4
  177. package/build/model/local-storage-root-object.js +9 -9
  178. package/build/model/local-storage-schema-object.d.ts +7 -7
  179. package/build/model/local-storage-schema-object.js +9 -9
  180. package/build/model/local-storage-user-object.d.ts +7 -7
  181. package/build/model/local-storage-user-object.js +6 -6
  182. package/build/model/login-request.d.ts +15 -15
  183. package/build/model/login-request.interface.d.ts +12 -12
  184. package/build/model/login-request.interface.js +2 -2
  185. package/build/model/login-request.js +6 -6
  186. package/build/model/login-response.d.ts +36 -36
  187. package/build/model/login-response.interface.d.ts +22 -22
  188. package/build/model/login-response.interface.js +2 -2
  189. package/build/model/login-response.js +57 -57
  190. package/build/model/login-service-request-data.d.ts +17 -17
  191. package/build/model/login-service-request-data.js +2 -2
  192. package/build/model/login.d.ts +16 -16
  193. package/build/model/login.js +35 -35
  194. package/build/model/menu-content.bo.d.ts +13 -13
  195. package/build/model/menu-content.bo.js +13 -13
  196. package/build/model/object-configuration.d.ts +53 -53
  197. package/build/model/object-configuration.js +200 -200
  198. package/build/model/options.d.ts +26 -24
  199. package/build/model/options.js +16 -16
  200. package/build/model/options.js.map +1 -1
  201. package/build/model/paging-parameters.d.ts +15 -15
  202. package/build/model/paging-parameters.interface.d.ts +6 -6
  203. package/build/model/paging-parameters.interface.js +6 -6
  204. package/build/model/paging-parameters.js +37 -37
  205. package/build/model/public-service-request-data.d.ts +5 -5
  206. package/build/model/public-service-request-data.js +2 -2
  207. package/build/model/server-response-data.d.ts +5 -5
  208. package/build/model/server-response-data.js +2 -2
  209. package/build/model/server-stack-trace-element.d.ts +7 -7
  210. package/build/model/server-stack-trace-element.js +2 -2
  211. package/build/model/session-storage-root-object.d.ts +4 -4
  212. package/build/model/session-storage-root-object.js +9 -9
  213. package/build/model/session-storage-schema-object.d.ts +7 -7
  214. package/build/model/session-storage-schema-object.js +9 -9
  215. package/build/model/session-storage-user-object.d.ts +6 -6
  216. package/build/model/session-storage-user-object.js +10 -10
  217. package/build/model/session.d.ts +6 -6
  218. package/build/model/session.js +6 -6
  219. package/build/model/token-response.bo.d.ts +5 -5
  220. package/build/model/token-response.bo.js +7 -7
  221. package/build/model/user-parameters-values.bo.d.ts +8 -8
  222. package/build/model/user-parameters-values.bo.js +7 -7
  223. package/build/model/validation-message.d.ts +13 -13
  224. package/build/model/validation-message.interface.d.ts +6 -6
  225. package/build/model/validation-message.interface.js +2 -2
  226. package/build/model/validation-message.js +48 -48
  227. package/build/model/validation-result.d.ts +34 -34
  228. package/build/model/validation-result.interface.d.ts +14 -14
  229. package/build/model/validation-result.interface.js +2 -2
  230. package/build/model/validation-result.js +192 -192
  231. package/build/provider/ajax.service.d.ts +33 -32
  232. package/build/provider/ajax.service.js +280 -275
  233. package/build/provider/ajax.service.js.map +1 -1
  234. package/build/provider/base-backend-connection.service.d.ts +44 -43
  235. package/build/provider/base-backend-connection.service.js +154 -144
  236. package/build/provider/base-backend-connection.service.js.map +1 -1
  237. package/build/service/business-object-factory.d.ts +8 -8
  238. package/build/service/business-object-factory.js +119 -119
  239. package/build/service/datasession.service.d.ts +9 -9
  240. package/build/service/datasession.service.js +26 -26
  241. package/build/service/encrypt.service.d.ts +6 -6
  242. package/build/service/encrypt.service.js +30 -30
  243. package/build/service/encrypt.service.unit.test.d.ts +1 -1
  244. package/build/service/encrypt.service.unit.test.js +14 -14
  245. package/build/service/external-jwt-token.service.d.ts +10 -0
  246. package/build/service/external-jwt-token.service.js +22 -0
  247. package/build/service/external-jwt-token.service.js.map +1 -0
  248. package/build/service/health.service.d.ts +10 -10
  249. package/build/service/health.service.js +34 -34
  250. package/build/service/internal-jwt-token.service.d.ts +11 -0
  251. package/build/service/internal-jwt-token.service.js +41 -0
  252. package/build/service/internal-jwt-token.service.js.map +1 -0
  253. package/build/service/jwt-token.service.d.ts +12 -12
  254. package/build/service/jwt-token.service.js +32 -62
  255. package/build/service/jwt-token.service.js.map +1 -1
  256. package/build/service/local-storage.service.d.ts +27 -28
  257. package/build/service/local-storage.service.js +147 -154
  258. package/build/service/local-storage.service.js.map +1 -1
  259. package/build/service/login.service.d.ts +45 -45
  260. package/build/service/login.service.js +312 -312
  261. package/build/service/public.service.d.ts +12 -12
  262. package/build/service/public.service.js +36 -36
  263. package/build/service/session-storage.service.d.ts +18 -18
  264. package/build/service/session-storage.service.js +116 -116
  265. package/build/service/user-info.service.d.ts +9 -0
  266. package/build/service/user-info.service.js +34 -0
  267. package/build/service/user-info.service.js.map +1 -0
  268. package/build/tests/int/connector.int.test.d.ts +1 -1
  269. package/build/tests/int/connector.int.test.js +12 -12
  270. package/build/type/business-object-id-type.d.ts +4 -4
  271. package/build/type/business-object-id-type.js +13 -13
  272. package/build/type/object-configuration-default-value-type.d.ts +1 -1
  273. package/build/type/object-configuration-default-value-type.js +2 -2
  274. package/build/utils/array-utils.d.ts +38 -38
  275. package/build/utils/array-utils.js +375 -375
  276. package/build/utils/business-object-utils.d.ts +20 -20
  277. package/build/utils/business-object-utils.js +198 -198
  278. package/build/utils/date-utils.d.ts +5 -5
  279. package/build/utils/date-utils.js +24 -24
  280. package/build/utils/file-utils.d.ts +6 -6
  281. package/build/utils/file-utils.js +66 -66
  282. package/build/utils/function/any-nill.function.d.ts +1 -1
  283. package/build/utils/function/any-nill.function.js +16 -16
  284. package/build/utils/function/is-nill.function.d.ts +1 -1
  285. package/build/utils/function/is-nill.function.js +7 -7
  286. package/build/utils/function/not-nill.function.d.ts +1 -1
  287. package/build/utils/function/not-nill.function.js +7 -7
  288. package/build/utils/function-utils.d.ts +4 -4
  289. package/build/utils/function-utils.js +31 -31
  290. package/build/utils/image-utils.d.ts +4 -4
  291. package/build/utils/image-utils.js +28 -28
  292. package/build/utils/map-utils.d.ts +4 -4
  293. package/build/utils/map-utils.js +31 -31
  294. package/build/utils/number-utils.d.ts +39 -39
  295. package/build/utils/number-utils.js +268 -268
  296. package/build/utils/object-utils.d.ts +21 -21
  297. package/build/utils/object-utils.js +247 -247
  298. package/build/utils/parameter-value-conversion-utils.d.ts +3 -3
  299. package/build/utils/parameter-value-conversion-utils.js +19 -19
  300. package/build/utils/promise-utils.d.ts +6 -6
  301. package/build/utils/promise-utils.js +22 -22
  302. package/build/utils/ref-code-utils.d.ts +4 -4
  303. package/build/utils/ref-code-utils.js +19 -19
  304. package/build/utils/sort-utils.d.ts +12 -12
  305. package/build/utils/sort-utils.js +120 -120
  306. package/build/utils/string-utils.d.ts +25 -25
  307. package/build/utils/string-utils.js +212 -212
  308. package/build/utils/url-utils.d.ts +4 -4
  309. package/build/utils/url-utils.js +33 -33
  310. package/build/validators/communication-type.validator.d.ts +1 -1
  311. package/build/validators/communication-type.validator.js +16 -16
  312. package/build/validators/email.validator.d.ts +2 -2
  313. package/build/validators/email.validator.js +9 -9
  314. package/build/validators/empty-address.validator.d.ts +3 -3
  315. package/build/validators/empty-address.validator.js +12 -12
  316. package/build/validators/empty-array.validator.d.ts +2 -2
  317. package/build/validators/empty-array.validator.js +14 -14
  318. package/build/validators/end-date-equal.validator.d.ts +1 -1
  319. package/build/validators/end-date-equal.validator.js +17 -17
  320. package/build/validators/end-date.validator.d.ts +1 -1
  321. package/build/validators/end-date.validator.js +17 -17
  322. package/build/validators/equal.validator.d.ts +2 -2
  323. package/build/validators/equal.validator.js +14 -14
  324. package/build/validators/max-string-length.validator.d.ts +2 -2
  325. package/build/validators/max-string-length.validator.js +13 -13
  326. package/build/validators/nl-post-code.validator.d.ts +3 -3
  327. package/build/validators/nl-post-code.validator.js +14 -14
  328. package/build/validators/password.validator.d.ts +3 -3
  329. package/build/validators/password.validator.js +33 -33
  330. package/build/validators/postal-code-function.validator.d.ts +2 -2
  331. package/build/validators/postal-code-function.validator.js +19 -19
  332. package/build/validators/postal-code.validator.d.ts +1 -1
  333. package/build/validators/postal-code.validator.js +21 -21
  334. package/build/validators/precision-scale.validator.d.ts +2 -2
  335. package/build/validators/precision-scale.validator.js +14 -14
  336. package/build/validators/required.validator.d.ts +2 -2
  337. package/build/validators/required.validator.js +8 -8
  338. package/build/validators/social-security-number.validator.d.ts +2 -2
  339. package/build/validators/social-security-number.validator.js +28 -28
  340. package/build/validators/space-trim.validator.d.ts +2 -2
  341. package/build/validators/space-trim.validator.js +12 -12
  342. package/build/validators/true.validator.d.ts +2 -2
  343. package/build/validators/true.validator.js +8 -8
  344. package/package.json +64 -64
@@ -1,269 +1,269 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NumberUtils = void 0;
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");
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
- }
38
- static ParseFloatKeepPrecision(arg) {
39
- const decimalPrecision = this.GetDecimalPlaces(arg);
40
- return this.ParseFloat(arg, decimalPrecision);
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
- }
59
- static GetDecimalPlaces(arg, maxAnswer = 1000) {
60
- const match = ("" + arg).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
61
- if (!match) {
62
- return 0;
63
- }
64
- let answer = Math.max(0, (match[1] ? match[1].length : 0)
65
- - (match[2] ? +match[2] : 0));
66
- if (answer > maxAnswer) {
67
- answer = maxAnswer;
68
- }
69
- return answer;
70
- }
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;
86
- }
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;
95
- }
96
- else {
97
- return arg.toString().length === parseFloat(arg).toString().length;
98
- }
99
- }
100
- static IsListOfNumbers(arg, separator = ",") {
101
- const nrs = arg.split(separator);
102
- if (nrs.length === 0) {
103
- return false;
104
- }
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, ",");
133
- }
134
- static NumIsComposedOfOtherPowTwoNum(bigNrToCheck, powTwoNumItShouldBeComposedOf) {
135
- if (!bigNrToCheck) {
136
- return false;
137
- }
138
- else if (!powTwoNumItShouldBeComposedOf) {
139
- return true;
140
- }
141
- else {
142
- return ((bigNrToCheck & powTwoNumItShouldBeComposedOf) === powTwoNumItShouldBeComposedOf);
143
- }
144
- }
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
- }
152
- }
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(",", ".");
266
- }
267
- }
268
- exports.NumberUtils = NumberUtils;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NumberUtils = void 0;
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");
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
+ }
38
+ static ParseFloatKeepPrecision(arg) {
39
+ const decimalPrecision = this.GetDecimalPlaces(arg);
40
+ return this.ParseFloat(arg, decimalPrecision);
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
+ }
59
+ static GetDecimalPlaces(arg, maxAnswer = 1000) {
60
+ const match = ("" + arg).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
61
+ if (!match) {
62
+ return 0;
63
+ }
64
+ let answer = Math.max(0, (match[1] ? match[1].length : 0)
65
+ - (match[2] ? +match[2] : 0));
66
+ if (answer > maxAnswer) {
67
+ answer = maxAnswer;
68
+ }
69
+ return answer;
70
+ }
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;
86
+ }
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;
95
+ }
96
+ else {
97
+ return arg.toString().length === parseFloat(arg).toString().length;
98
+ }
99
+ }
100
+ static IsListOfNumbers(arg, separator = ",") {
101
+ const nrs = arg.split(separator);
102
+ if (nrs.length === 0) {
103
+ return false;
104
+ }
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, ",");
133
+ }
134
+ static NumIsComposedOfOtherPowTwoNum(bigNrToCheck, powTwoNumItShouldBeComposedOf) {
135
+ if (!bigNrToCheck) {
136
+ return false;
137
+ }
138
+ else if (!powTwoNumItShouldBeComposedOf) {
139
+ return true;
140
+ }
141
+ else {
142
+ return ((bigNrToCheck & powTwoNumItShouldBeComposedOf) === powTwoNumItShouldBeComposedOf);
143
+ }
144
+ }
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
+ }
152
+ }
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(",", ".");
266
+ }
267
+ }
268
+ exports.NumberUtils = NumberUtils;
269
269
  //# sourceMappingURL=number-utils.js.map
@@ -1,21 +1,21 @@
1
- export declare class ObjectUtils {
2
- static AllExist(...values: any[]): boolean;
3
- static CopyPropertiesFrom<T>(from: Object, to: T, allowUndefined?: boolean): T;
4
- static DeepEquals(actual: any, expected: any): boolean;
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;
14
- private static _isArguments;
15
- private static _isArgumentsWhenArgsClassNotSupported;
16
- private static _isArgumentsWhenArgsClassSupported;
17
- private static _isBuffer;
18
- private static _isUndefinedOrNull;
19
- private static _objEquiv;
20
- private static _supportsArgumentsClass;
21
- }
1
+ export declare class ObjectUtils {
2
+ static AllExist(...values: any[]): boolean;
3
+ static CopyPropertiesFrom<T>(from: Object, to: T, allowUndefined?: boolean): T;
4
+ static DeepEquals(actual: any, expected: any): boolean;
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;
14
+ private static _isArguments;
15
+ private static _isArgumentsWhenArgsClassNotSupported;
16
+ private static _isArgumentsWhenArgsClassSupported;
17
+ private static _isBuffer;
18
+ private static _isUndefinedOrNull;
19
+ private static _objEquiv;
20
+ private static _supportsArgumentsClass;
21
+ }