@colijnit/ioneconnector 2.0.7 → 2.1.9

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 (243) hide show
  1. package/build/connector.d.ts +2 -1
  2. package/build/connector.js +3 -13
  3. package/build/connector.js.map +1 -1
  4. package/build/connector.unit.test.js +6 -15
  5. package/build/connector.unit.test.js.map +1 -1
  6. package/build/enum/backend-service-name.enum.js +1 -0
  7. package/build/enum/backend-service-name.enum.js.map +1 -1
  8. package/build/enum/datasession-service-method.enum.js +1 -0
  9. package/build/enum/datasession-service-method.enum.js.map +1 -1
  10. package/build/enum/db-boolean-value-type.enum.js +1 -0
  11. package/build/enum/db-boolean-value-type.enum.js.map +1 -1
  12. package/build/enum/end-point.enum.js +1 -0
  13. package/build/enum/end-point.enum.js.map +1 -1
  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 +1 -0
  18. package/build/enum/login-service-method.enum.js.map +1 -1
  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 +1 -0
  32. package/build/enum/one-zero-bool-db-type.enum.js.map +1 -1
  33. package/build/enum/public-service-method.enum.js +1 -0
  34. package/build/enum/public-service-method.enum.js.map +1 -1
  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 +1 -0
  48. package/build/enum/true-false-db-type.enum.js.map +1 -1
  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 +1 -0
  56. package/build/enum/yes-no-db-type.enum.js.map +1 -1
  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.d.ts +1 -0
  70. package/build/factory/decorators/boolean.decorator.js +6 -4
  71. package/build/factory/decorators/boolean.decorator.js.map +1 -1
  72. package/build/factory/decorators/business-object-data.decorator.d.ts +23 -0
  73. package/build/factory/decorators/business-object-data.decorator.js +88 -0
  74. package/build/factory/decorators/business-object-data.decorator.js.map +1 -0
  75. package/build/factory/decorators/co-inject.decorator.d.ts +7 -0
  76. package/build/factory/decorators/co-inject.decorator.js +55 -0
  77. package/build/factory/decorators/co-inject.decorator.js.map +1 -0
  78. package/build/factory/decorators/complex-array.decorator.d.ts +1 -0
  79. package/build/factory/decorators/complex-array.decorator.js +3 -1
  80. package/build/factory/decorators/complex-array.decorator.js.map +1 -1
  81. package/build/factory/decorators/complex-field.decorator.js +2 -1
  82. package/build/factory/decorators/complex-field.decorator.js.map +1 -1
  83. package/build/factory/decorators/date-field.decorator.d.ts +1 -0
  84. package/build/factory/decorators/date-field.decorator.js +2 -0
  85. package/build/factory/decorators/date-field.decorator.js.map +1 -1
  86. package/build/factory/decorators/db-field-alias.decorator.d.ts +1 -0
  87. package/build/factory/decorators/db-field-alias.decorator.js +2 -0
  88. package/build/factory/decorators/db-field-alias.decorator.js.map +1 -1
  89. package/build/factory/decorators/db-method-value.decorator.d.ts +5 -0
  90. package/build/factory/decorators/db-method-value.decorator.js +20 -0
  91. package/build/factory/decorators/db-method-value.decorator.js.map +1 -0
  92. package/build/factory/decorators/db-number.decorator.d.ts +6 -0
  93. package/build/factory/decorators/db-number.decorator.js +36 -0
  94. package/build/factory/decorators/db-number.decorator.js.map +1 -0
  95. package/build/factory/decorators/default-send-value.decorator.d.ts +7 -0
  96. package/build/factory/decorators/default-send-value.decorator.js +54 -0
  97. package/build/factory/decorators/default-send-value.decorator.js.map +1 -0
  98. package/build/factory/decorators/exclude-when-empty-string.decorator.d.ts +5 -0
  99. package/build/factory/decorators/exclude-when-empty-string.decorator.js +20 -0
  100. package/build/factory/decorators/exclude-when-empty-string.decorator.js.map +1 -0
  101. package/build/factory/decorators/json.decorator.d.ts +1 -0
  102. package/build/factory/decorators/json.decorator.js +2 -0
  103. package/build/factory/decorators/json.decorator.js.map +1 -1
  104. package/build/factory/decorators/map-property.decorator.js +1 -0
  105. package/build/factory/decorators/map-property.decorator.js.map +1 -1
  106. package/build/factory/decorators/no-db-field.decorator.d.ts +1 -0
  107. package/build/factory/decorators/no-db-field.decorator.js +2 -0
  108. package/build/factory/decorators/no-db-field.decorator.js.map +1 -1
  109. package/build/factory/decorators/number-string.decorator.d.ts +6 -0
  110. package/build/factory/decorators/number-string.decorator.js +24 -0
  111. package/build/factory/decorators/number-string.decorator.js.map +1 -0
  112. package/build/factory/decorators/simple-method-tag.decorator.d.ts +6 -0
  113. package/build/factory/decorators/simple-method-tag.decorator.js +32 -0
  114. package/build/factory/decorators/simple-method-tag.decorator.js.map +1 -0
  115. package/build/factory/decorators/simple-property-tag.decorator.d.ts +6 -0
  116. package/build/factory/decorators/simple-property-tag.decorator.js +39 -0
  117. package/build/factory/decorators/simple-property-tag.decorator.js.map +1 -0
  118. package/build/factory/decorators/string-number.decorator.d.ts +1 -0
  119. package/build/factory/decorators/string-number.decorator.js +2 -0
  120. package/build/factory/decorators/string-number.decorator.js.map +1 -1
  121. package/build/interface/business-object-data-shape.d.ts +19 -0
  122. package/build/interface/business-object-data-shape.js +3 -0
  123. package/build/interface/business-object-data-shape.js.map +1 -0
  124. package/build/interface/check-precision-and-scale-result.d.ts +4 -0
  125. package/build/interface/check-precision-and-scale-result.js +3 -0
  126. package/build/interface/check-precision-and-scale-result.js.map +1 -0
  127. package/build/interface/check-within-stepped-bounds-result.d.ts +4 -0
  128. package/build/interface/check-within-stepped-bounds-result.js +3 -0
  129. package/build/interface/check-within-stepped-bounds-result.js.map +1 -0
  130. package/build/interface/filter-property.d.ts +9 -0
  131. package/build/interface/filter-property.js +3 -0
  132. package/build/interface/filter-property.js.map +1 -0
  133. package/build/interface/precision-scale-object.d.ts +4 -0
  134. package/build/interface/precision-scale-object.js +3 -0
  135. package/build/interface/precision-scale-object.js.map +1 -0
  136. package/build/interface/search-property.d.ts +11 -0
  137. package/build/interface/search-property.js +3 -0
  138. package/build/interface/search-property.js.map +1 -0
  139. package/build/interface/sort-property.d.ts +11 -0
  140. package/build/interface/sort-property.js +3 -0
  141. package/build/interface/sort-property.js.map +1 -0
  142. package/build/interface/text-part.d.ts +4 -0
  143. package/build/interface/text-part.js +3 -0
  144. package/build/interface/text-part.js.map +1 -0
  145. package/build/interface/value-comparison-type-view-wrapper.d.ts +6 -0
  146. package/build/interface/value-comparison-type-view-wrapper.js +3 -0
  147. package/build/interface/value-comparison-type-view-wrapper.js.map +1 -0
  148. package/build/model/business-object.d.ts +11 -2
  149. package/build/model/business-object.js +27 -60
  150. package/build/model/business-object.js.map +1 -1
  151. package/build/model/constant/java-constants.js +1 -0
  152. package/build/model/constant/java-constants.js.map +1 -1
  153. package/build/model/data-service-data.js +1 -0
  154. package/build/model/data-service-data.js.map +1 -1
  155. package/build/model/data-service-response-data.d.ts +1 -0
  156. package/build/model/data-service-response-data.js +10 -8
  157. package/build/model/data-service-response-data.js.map +1 -1
  158. package/build/model/field-validation.js +1 -0
  159. package/build/model/field-validation.js.map +1 -1
  160. package/build/model/login-response.js +1 -0
  161. package/build/model/login-response.js.map +1 -1
  162. package/build/model/login.js +1 -0
  163. package/build/model/login.js.map +1 -1
  164. package/build/model/object-configuration.d.ts +50 -0
  165. package/build/model/object-configuration.js +190 -0
  166. package/build/model/object-configuration.js.map +1 -0
  167. package/build/model/options.js +1 -0
  168. package/build/model/options.js.map +1 -1
  169. package/build/model/paging-parameters.interface.js +1 -0
  170. package/build/model/paging-parameters.interface.js.map +1 -1
  171. package/build/model/paging-parameters.js +5 -4
  172. package/build/model/paging-parameters.js.map +1 -1
  173. package/build/model/public-service-request-data.d.ts +5 -0
  174. package/build/model/public-service-request-data.js +3 -0
  175. package/build/model/public-service-request-data.js.map +1 -0
  176. package/build/model/server-response-data.d.ts +1 -1
  177. package/build/model/session.js +1 -0
  178. package/build/model/session.js.map +1 -1
  179. package/build/model/validation-message.js +6 -5
  180. package/build/model/validation-message.js.map +1 -1
  181. package/build/model/validation-result.js +1 -0
  182. package/build/model/validation-result.js.map +1 -1
  183. package/build/provider/ajax.service.d.ts +2 -1
  184. package/build/provider/ajax.service.js +20 -32
  185. package/build/provider/ajax.service.js.map +1 -1
  186. package/build/provider/base-backend-connection.service.js +8 -20
  187. package/build/provider/base-backend-connection.service.js.map +1 -1
  188. package/build/service/business-object-factory.js +2 -1
  189. package/build/service/business-object-factory.js.map +1 -1
  190. package/build/service/datasession.service.js +3 -13
  191. package/build/service/datasession.service.js.map +1 -1
  192. package/build/service/encrypt.service.js +1 -0
  193. package/build/service/encrypt.service.js.map +1 -1
  194. package/build/service/login.service.js +28 -38
  195. package/build/service/login.service.js.map +1 -1
  196. package/build/service/public.service.js +1 -0
  197. package/build/service/public.service.js.map +1 -1
  198. package/build/type/business-object-id-type.d.ts +1 -1
  199. package/build/type/business-object-id-type.js +1 -0
  200. package/build/type/business-object-id-type.js.map +1 -1
  201. package/build/type/object-configuration-default-value-type.d.ts +1 -1
  202. package/build/utils/array-utils.d.ts +33 -0
  203. package/build/utils/array-utils.js +345 -1
  204. package/build/utils/array-utils.js.map +1 -1
  205. package/build/utils/business-object-utils.d.ts +16 -0
  206. package/build/utils/business-object-utils.js +180 -1
  207. package/build/utils/business-object-utils.js.map +1 -1
  208. package/build/utils/date-utils.d.ts +2 -0
  209. package/build/utils/date-utils.js +11 -1
  210. package/build/utils/date-utils.js.map +1 -1
  211. package/build/utils/function/any-nill.function.d.ts +1 -0
  212. package/build/utils/function/any-nill.function.js +17 -0
  213. package/build/utils/function/any-nill.function.js.map +1 -0
  214. package/build/utils/function/is-nill.function.js +1 -0
  215. package/build/utils/function/is-nill.function.js.map +1 -1
  216. package/build/utils/function/not-nill.function.js +1 -0
  217. package/build/utils/function/not-nill.function.js.map +1 -1
  218. package/build/utils/function-utils.d.ts +4 -0
  219. package/build/utils/function-utils.js +32 -0
  220. package/build/utils/function-utils.js.map +1 -0
  221. package/build/utils/image-utils.js +1 -0
  222. package/build/utils/image-utils.js.map +1 -1
  223. package/build/utils/map-utils.d.ts +4 -0
  224. package/build/utils/map-utils.js +32 -0
  225. package/build/utils/map-utils.js.map +1 -0
  226. package/build/utils/number-utils.d.ts +33 -3
  227. package/build/utils/number-utils.js +227 -17
  228. package/build/utils/number-utils.js.map +1 -1
  229. package/build/utils/object-utils.d.ts +13 -7
  230. package/build/utils/object-utils.js +143 -55
  231. package/build/utils/object-utils.js.map +1 -1
  232. package/build/utils/parameter-value-conversion-utils.js +1 -0
  233. package/build/utils/parameter-value-conversion-utils.js.map +1 -1
  234. package/build/utils/promise-utils.js +4 -12
  235. package/build/utils/promise-utils.js.map +1 -1
  236. package/build/utils/ref-code-utils.js +1 -0
  237. package/build/utils/ref-code-utils.js.map +1 -1
  238. package/build/utils/string-utils.d.ts +20 -1
  239. package/build/utils/string-utils.js +182 -4
  240. package/build/utils/string-utils.js.map +1 -1
  241. package/build/utils/url-utils.js +1 -0
  242. package/build/utils/url-utils.js.map +1 -1
  243. package/package.json +4 -2
@@ -1,5 +1,38 @@
1
1
  export declare class ArrayUtils {
2
+ static InsertElement<T>(index: number, element: T, array: T[]): boolean;
3
+ static InsertElementRightOf<T>(rightOfItem: T, itemToInsert: T, array: T[]): void;
4
+ static RemoveElement<T>(element: T, array: T[]): boolean;
5
+ static MoveElement<T>(element: T, toIndex: number, array: T[]): boolean;
6
+ static SwapElements<T>(elementOne: T, elementTwo: T, array: T[]): boolean;
7
+ static RemoveElementAtIndex(index: number, array: any[]): boolean;
8
+ static RemoveElementsByFilter(array: any[], filterFunction: (item: any) => boolean): boolean;
9
+ static RemoveLastElementOf(array: any[]): boolean;
10
+ static ReplaceElement<T>(elementIn: T, elementOut: T, array: T[]): void;
11
+ static ToggleElement<T>(toggle: T, elements: T[]): void;
2
12
  static ContainsAnElementFoundBy<T>(array: T[], finder: (element: T) => boolean): boolean;
3
13
  static Find<T>(array: T[], foundBy: (item: T) => boolean): T;
14
+ static FindAll<T>(array: T[], foundBy: (item: T) => boolean): T[];
15
+ static GetMaxCalculatedValue<T>(array: T[], itemValueFunction: (item: T) => number): number;
16
+ static FillUntilLength<T>(array: T[], requiredLength: number, fillerElement?: T): boolean;
17
+ static GetNthElementInPossiblySparseArray<T>(array: T[], elementNumber: number): T;
18
+ static GetFirstElementInPossiblySparseArray<T>(array: T[]): T;
19
+ static GetSecondElementInPossiblySparseArray<T>(array: T[]): T;
20
+ static GetNumberOfElementsInPossiblySparseArray<T>(array: T[]): number;
21
+ static CountWhere<T>(array: T[], whereFunction: (item: T) => boolean): number;
22
+ static SortAlphabetically<T>(theArray: T[], propertyName?: string, reverseOrder?: boolean): void;
23
+ static Shuffle<T>(theArray: T[]): void;
24
+ static GetGroupBy<T>(theArray: T[], groupByProp: string): Map<any, T[]>;
25
+ static ContainAllEqualElements(arrayOne: any[], arrayTwo: any[]): boolean;
26
+ static ContainAnyEqualElements(arrayOne: any[], arrayTwo: any[]): boolean;
27
+ static IsArrayWithElements<T>(arrayToCheck: T[], classItemsMustBeInstanceOf?: any): boolean;
28
+ static IsEmptyArray(arrayToCheck: any[]): boolean;
29
+ static SearchFor<T>(array: T[], id: any, property?: string): T;
30
+ static ArrayToString(array: any[]): string;
31
+ static PushIfNotExist(item: any, array: any[]): boolean;
4
32
  static CloneArray<T>(array: T[]): T[];
33
+ static CloneArrayAndItsItems<T>(array: T[], arrayItemsClass?: any, deepClone?: boolean): T[];
34
+ static LengthOf(array: any[]): number;
35
+ static PlaceElementAfterOther(array: any[], elementToPlace: any, afterThisElement: any): void;
36
+ static ConvertIntoFlatArray<T>(array: T[][]): T[];
37
+ private static _AsDenseArray;
5
38
  }
@@ -1,12 +1,110 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArrayUtils = void 0;
3
4
  const not_nill_function_1 = require("./function/not-nill.function");
5
+ const number_utils_1 = require("./number-utils");
6
+ const is_nill_function_1 = require("./function/is-nill.function");
7
+ const object_utils_1 = require("./object-utils");
8
+ const string_utils_1 = require("./string-utils");
9
+ const map_utils_1 = require("./map-utils");
4
10
  class ArrayUtils {
11
+ static InsertElement(index, element, array) {
12
+ if (!Array.isArray(array) || Math.abs(index) > array.length || (0, is_nill_function_1.isNill)(index)) {
13
+ return false;
14
+ }
15
+ const lenBefore = array.length;
16
+ array.splice(index, 0, element);
17
+ return (array.length === lenBefore + 1);
18
+ }
19
+ static InsertElementRightOf(rightOfItem, itemToInsert, array) {
20
+ if (array) {
21
+ ArrayUtils.InsertElement(array.indexOf(rightOfItem) + 1, itemToInsert, array);
22
+ }
23
+ }
24
+ static RemoveElement(element, array) {
25
+ if (!Array.isArray(array)) {
26
+ return false;
27
+ }
28
+ const index = array.indexOf(element);
29
+ return ArrayUtils.RemoveElementAtIndex(index, array);
30
+ }
31
+ static MoveElement(element, toIndex, array) {
32
+ if (!Array.isArray(array) || (0, is_nill_function_1.isNill)(toIndex)) {
33
+ return false;
34
+ }
35
+ const fromIndex = array.indexOf(element);
36
+ const toIndexCorrected = number_utils_1.NumberUtils.GetNearestNumberWithinBounds(toIndex, 0, array.length - 1);
37
+ if (fromIndex === -1 || array[toIndexCorrected] === element) {
38
+ return false;
39
+ }
40
+ array.splice(toIndexCorrected, 0, array.splice(fromIndex, 1)[0]);
41
+ return true;
42
+ }
43
+ static SwapElements(elementOne, elementTwo, array) {
44
+ if (!Array.isArray(array)) {
45
+ return false;
46
+ }
47
+ const elOneIdx = array.indexOf(elementTwo);
48
+ const elTwoIdx = array.indexOf(elementOne);
49
+ if (elOneIdx === -1 || elTwoIdx === -1) {
50
+ return false;
51
+ }
52
+ array[elOneIdx] = array.splice(elTwoIdx, 1, array[elOneIdx])[0];
53
+ return true;
54
+ }
55
+ static RemoveElementAtIndex(index, array) {
56
+ if (number_utils_1.NumberUtils.IsNaN(index) || index < 0 || !Array.isArray(array) || array.length === 0) {
57
+ return false;
58
+ }
59
+ if (index in array) {
60
+ array.splice(index, 1);
61
+ return true;
62
+ }
63
+ else {
64
+ return false;
65
+ }
66
+ }
67
+ static RemoveElementsByFilter(array, filterFunction) {
68
+ if (!ArrayUtils.IsArrayWithElements(array) || !filterFunction) {
69
+ return false;
70
+ }
71
+ let atLeastOneRemoved = false;
72
+ const len = array.length;
73
+ for (let i = len - 1; i >= 0; i--) {
74
+ const item = array[i];
75
+ if (filterFunction.call(this, item) === true) {
76
+ array.splice(i, 1);
77
+ atLeastOneRemoved = true;
78
+ }
79
+ }
80
+ return atLeastOneRemoved;
81
+ }
82
+ static RemoveLastElementOf(array) {
83
+ if (!array) {
84
+ return false;
85
+ }
86
+ else {
87
+ return ArrayUtils.RemoveElementAtIndex(array.length - 1, array);
88
+ }
89
+ }
90
+ static ReplaceElement(elementIn, elementOut, array) {
91
+ if (!array || !Array.isArray(array)) {
92
+ return;
93
+ }
94
+ const indexOut = array.indexOf(elementOut);
95
+ if (indexOut > -1) {
96
+ ArrayUtils.InsertElement(indexOut, elementIn, array);
97
+ ArrayUtils.RemoveElement(elementOut, array);
98
+ }
99
+ }
100
+ static ToggleElement(toggle, elements) {
101
+ elements.indexOf(toggle) > -1 ? ArrayUtils.RemoveElement(toggle, elements) : elements.push(toggle);
102
+ }
5
103
  static ContainsAnElementFoundBy(array, finder) {
6
104
  if (!array || !finder) {
7
105
  return false;
8
106
  }
9
- return not_nill_function_1.notNill(this.Find(array, finder));
107
+ return (0, not_nill_function_1.notNill)(this.Find(array, finder));
10
108
  }
11
109
  static Find(array, foundBy) {
12
110
  if (!array || !foundBy) {
@@ -20,6 +118,212 @@ class ArrayUtils {
20
118
  }
21
119
  return undefined;
22
120
  }
121
+ static FindAll(array, foundBy) {
122
+ const answer = [];
123
+ if (!array || !foundBy) {
124
+ return answer;
125
+ }
126
+ for (let i = 0, len = array.length; i < len; i++) {
127
+ const itemCur = array[i];
128
+ if (foundBy(itemCur)) {
129
+ answer.push(itemCur);
130
+ }
131
+ }
132
+ return answer;
133
+ }
134
+ static GetMaxCalculatedValue(array, itemValueFunction) {
135
+ if (!array || !itemValueFunction) {
136
+ return NaN;
137
+ }
138
+ let max = undefined;
139
+ const len = array.length;
140
+ for (let i = 0; i < len; i++) {
141
+ const valueCur = itemValueFunction.call(this, array[i]);
142
+ if (!max || valueCur > max) {
143
+ max = valueCur;
144
+ }
145
+ }
146
+ return max;
147
+ }
148
+ static FillUntilLength(array, requiredLength, fillerElement = undefined) {
149
+ if (!array || !requiredLength) {
150
+ return false;
151
+ }
152
+ if (array.length >= requiredLength) {
153
+ return false;
154
+ }
155
+ const spotsRemaining = requiredLength - array.length;
156
+ for (let i = 0; i < spotsRemaining; i++) {
157
+ array.push(fillerElement);
158
+ }
159
+ return true;
160
+ }
161
+ static GetNthElementInPossiblySparseArray(array, elementNumber) {
162
+ if (!array || !elementNumber || elementNumber < 1) {
163
+ return undefined;
164
+ }
165
+ return this._AsDenseArray(array)[elementNumber - 1];
166
+ }
167
+ static GetFirstElementInPossiblySparseArray(array) {
168
+ return this.GetNthElementInPossiblySparseArray(array, 1);
169
+ }
170
+ static GetSecondElementInPossiblySparseArray(array) {
171
+ return this.GetNthElementInPossiblySparseArray(array, 2);
172
+ }
173
+ static GetNumberOfElementsInPossiblySparseArray(array) {
174
+ if (!array) {
175
+ return undefined;
176
+ }
177
+ return this._AsDenseArray(array).length;
178
+ }
179
+ static CountWhere(array, whereFunction) {
180
+ if (!ArrayUtils.IsArrayWithElements(array) || !whereFunction) {
181
+ return 0;
182
+ }
183
+ let count = 0;
184
+ const len = array.length;
185
+ for (let i = 0; i < len; i++) {
186
+ if (whereFunction.call(this, array[i])) {
187
+ count++;
188
+ }
189
+ }
190
+ return count;
191
+ }
192
+ static SortAlphabetically(theArray, propertyName = undefined, reverseOrder = false) {
193
+ if (!theArray || !Array.isArray(theArray)) {
194
+ return;
195
+ }
196
+ const switcher = reverseOrder ? -1 : 1;
197
+ const stringSort = string_utils_1.StringUtils.IsStringWithLength(propertyName);
198
+ theArray.sort((itemOne, itemTwo) => {
199
+ const valOne = stringSort ? itemOne[propertyName] : itemOne;
200
+ const valTwo = stringSort ? itemTwo[propertyName] : itemTwo;
201
+ return (valOne > valTwo ? 1 : (valOne < valTwo ? -1 : 0)) * switcher;
202
+ });
203
+ }
204
+ static Shuffle(theArray) {
205
+ if (!theArray || !Array.isArray(theArray)) {
206
+ return;
207
+ }
208
+ let counter = theArray.length;
209
+ while (counter > 0) {
210
+ const index = Math.floor(Math.random() * counter);
211
+ counter--;
212
+ const temp = theArray[counter];
213
+ theArray[counter] = theArray[index];
214
+ theArray[index] = temp;
215
+ }
216
+ }
217
+ static GetGroupBy(theArray, groupByProp) {
218
+ const map = new Map();
219
+ if (!theArray || theArray.length === 0 || !groupByProp) {
220
+ return map;
221
+ }
222
+ theArray.forEach((item) => {
223
+ const propValue = item[groupByProp];
224
+ if (Array.isArray(propValue)) {
225
+ const len = propValue.length;
226
+ for (let i = 0; i < len; i++) {
227
+ const propValCur = propValue[i];
228
+ map_utils_1.MapUtils.InsertArrayItemIntoMap(map, propValCur, item);
229
+ }
230
+ }
231
+ else {
232
+ map_utils_1.MapUtils.InsertArrayItemIntoMap(map, propValue, item);
233
+ }
234
+ });
235
+ return map;
236
+ }
237
+ static ContainAllEqualElements(arrayOne, arrayTwo) {
238
+ if (!arrayOne || !arrayTwo || arrayOne.length !== arrayTwo.length) {
239
+ return false;
240
+ }
241
+ for (let i = 0, len = arrayOne.length; i < len; i++) {
242
+ if (arrayOne[i] !== arrayTwo[i]) {
243
+ return false;
244
+ }
245
+ }
246
+ return true;
247
+ }
248
+ static ContainAnyEqualElements(arrayOne, arrayTwo) {
249
+ if (!arrayOne || !arrayTwo) {
250
+ return false;
251
+ }
252
+ const lenOne = arrayOne.length;
253
+ for (let indexOne = 0; indexOne < lenOne; indexOne++) {
254
+ const itemOne = arrayOne[indexOne];
255
+ const lenTwo = arrayTwo.length;
256
+ for (let i = 0; i < lenTwo; i++) {
257
+ if (itemOne === arrayTwo[i]) {
258
+ return true;
259
+ }
260
+ }
261
+ }
262
+ return false;
263
+ }
264
+ static IsArrayWithElements(arrayToCheck, classItemsMustBeInstanceOf) {
265
+ if ((0, is_nill_function_1.isNill)(arrayToCheck)) {
266
+ return false;
267
+ }
268
+ if (Array.isArray(arrayToCheck) && arrayToCheck.length > 0) {
269
+ if (classItemsMustBeInstanceOf) {
270
+ return arrayToCheck[0] instanceof classItemsMustBeInstanceOf;
271
+ }
272
+ else {
273
+ return true;
274
+ }
275
+ }
276
+ else {
277
+ return false;
278
+ }
279
+ }
280
+ static IsEmptyArray(arrayToCheck) {
281
+ return !!arrayToCheck && Array.isArray(arrayToCheck) && arrayToCheck.length === 0;
282
+ }
283
+ static SearchFor(array, id, property) {
284
+ if (array && array.hasOwnProperty("length") && (string_utils_1.StringUtils.IsStringWithLength(id) || number_utils_1.NumberUtils.IsNumber(id))) {
285
+ for (let i = 0, len = array.length; i < len; i++) {
286
+ const subject = array[i];
287
+ if (property) {
288
+ if (subject[property] === id) {
289
+ return subject;
290
+ }
291
+ }
292
+ else if (typeof subject["getId"] === "function") {
293
+ if (subject["getId"]() === id) {
294
+ return subject;
295
+ }
296
+ }
297
+ else {
298
+ if (subject["id"] === id) {
299
+ return subject;
300
+ }
301
+ }
302
+ }
303
+ }
304
+ }
305
+ static ArrayToString(array) {
306
+ if (!array) {
307
+ return "";
308
+ }
309
+ let returnStr = "";
310
+ const len = array.length;
311
+ for (let i = 0; i < len; i++) {
312
+ returnStr += array[i].toString() + ", ";
313
+ }
314
+ returnStr = string_utils_1.StringUtils.RemoveLastChars(returnStr, 2);
315
+ return returnStr;
316
+ }
317
+ static PushIfNotExist(item, array) {
318
+ if (!array) {
319
+ return false;
320
+ }
321
+ if (array.indexOf(item) === -1) {
322
+ array.push(item);
323
+ return true;
324
+ }
325
+ return false;
326
+ }
23
327
  static CloneArray(array) {
24
328
  let answer = [];
25
329
  if (array) {
@@ -27,6 +331,46 @@ class ArrayUtils {
27
331
  }
28
332
  return answer;
29
333
  }
334
+ static CloneArrayAndItsItems(array, arrayItemsClass, deepClone = false) {
335
+ const cloneArray = [];
336
+ if (array) {
337
+ for (let i = 0, len = array.length; i < len; i++) {
338
+ if (deepClone) {
339
+ cloneArray.push(object_utils_1.ObjectUtils.GetDeepClone(array[i]));
340
+ }
341
+ else {
342
+ cloneArray.push(object_utils_1.ObjectUtils.GetShallowClone(array[i], arrayItemsClass));
343
+ }
344
+ }
345
+ }
346
+ else {
347
+ return [];
348
+ }
349
+ return cloneArray;
350
+ }
351
+ static LengthOf(array) {
352
+ return !!array ? array.length : 0;
353
+ }
354
+ static PlaceElementAfterOther(array, elementToPlace, afterThisElement) {
355
+ if (array) {
356
+ const afterThisElIdx = array.indexOf(afterThisElement);
357
+ const elToPlaceIdx = array.indexOf(elementToPlace);
358
+ if (afterThisElIdx >= elToPlaceIdx) {
359
+ ArrayUtils.MoveElement(elementToPlace, afterThisElIdx + 1, array);
360
+ }
361
+ }
362
+ }
363
+ static ConvertIntoFlatArray(array) {
364
+ return array.reduce((acc, val) => acc.concat(val), []);
365
+ }
366
+ static _AsDenseArray(sparseArray) {
367
+ if (!sparseArray) {
368
+ return [];
369
+ }
370
+ return sparseArray.filter((item) => {
371
+ return item !== undefined && item !== null;
372
+ });
373
+ }
30
374
  }
31
375
  exports.ArrayUtils = ArrayUtils;
32
376
  //# sourceMappingURL=array-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"array-utils.js","sourceRoot":"","sources":["../../src/utils/array-utils.ts"],"names":[],"mappings":";;AAAA,oEAAqD;AAGrD,MAAa,UAAU;IAQZ,MAAM,CAAC,wBAAwB,CAAI,KAAU,EAAE,MAA+B;QACjF,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;YACnB,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,2BAAO,CAAC,IAAI,CAAC,IAAI,CAAI,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAcM,MAAM,CAAC,IAAI,CAAI,KAAU,EAAE,OAA6B;QAC3D,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;YACpB,OAAO,SAAS,CAAC;SACpB;QAED,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,GAAG,GAAW,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC9D,MAAM,OAAO,GAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,OAAO,CAAC,OAAO,CAAC,EAAG;gBACnB,OAAO,OAAO,CAAC;aAClB;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAGM,MAAM,CAAC,UAAU,CAAI,KAAU;QAClC,IAAI,MAAM,GAAQ,EAAE,CAAC;QAErB,IAAI,KAAK,EAAE;YACP,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3B;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AApDD,gCAoDC"}
1
+ {"version":3,"file":"array-utils.js","sourceRoot":"","sources":["../../src/utils/array-utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,20 @@
1
1
  import { BusinessObjectIDType } from "../type/business-object-id-type";
2
+ import { BusinessObject } from '../model/business-object';
2
3
  export declare class BusinessObjectUtils {
4
+ static FindItemById<T extends BusinessObject>(modelArray: T[], id: BusinessObjectIDType): T;
5
+ static FindItemByProp<T extends BusinessObject>(modelArray: T[], prop: string, valueMatch: any): T;
6
+ static RemoveElementById<T extends BusinessObject>(modelArray: T[], idOfItemToRemove: BusinessObjectIDType): void;
7
+ static PutBoInList<T extends BusinessObject>(boList: T[], businessObject: T): void;
8
+ static GetId(businessObject: any): BusinessObjectIDType;
9
+ static GetIdAsString(businessObject: BusinessObject): string;
10
+ static GetIdsAsString(businessObjects: BusinessObject[]): string;
3
11
  static IsEqualBoId(idA: BusinessObjectIDType, idB: BusinessObjectIDType): boolean;
12
+ static AreEqual(objectA: any, objectB: any): boolean;
13
+ static GetDisplayName(firstName: string, prefix: string, familyName: string): string;
14
+ static GetDisplayPersonalName(firstName: string, initials: string, prefix: string, familyName: string): string;
15
+ static GetDisplayInitials(firstName: string, familyName: string): string;
16
+ static GetDisplayInitialsForOneFullName(fullName: string): string;
17
+ static GetDescriptionValue(boClass: any, boObject: BusinessObject): any;
18
+ static GetIsActive(endDate: Date): boolean;
19
+ static GetBoAsConcreteClassOrNullObject(businessObject: BusinessObject, boClasses: any[], orNullObject: BusinessObject): BusinessObject;
4
20
  }
@@ -1,11 +1,96 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BusinessObjectUtils = void 0;
4
+ const CircularJSON = require("circular-json");
3
5
  const not_nill_function_1 = require("./function/not-nill.function");
4
6
  const object_utils_1 = require("./object-utils");
7
+ const business_object_1 = require("../model/business-object");
8
+ const array_utils_1 = require("./array-utils");
9
+ const string_utils_1 = require("./string-utils");
10
+ const number_utils_1 = require("./number-utils");
11
+ const is_nill_function_1 = require("./function/is-nill.function");
12
+ const business_object_data_decorator_1 = require("../factory/decorators/business-object-data.decorator");
5
13
  class BusinessObjectUtils {
14
+ static FindItemById(modelArray, id) {
15
+ if (!modelArray) {
16
+ return undefined;
17
+ }
18
+ let foundModel = undefined;
19
+ const len = modelArray.length;
20
+ for (let i = 0; i < len; i++) {
21
+ const modelCur = modelArray[i];
22
+ if (modelCur && !!modelCur.getId && this.IsEqualBoId(modelCur.getId(), id)) {
23
+ foundModel = modelCur;
24
+ break;
25
+ }
26
+ }
27
+ return foundModel;
28
+ }
29
+ static FindItemByProp(modelArray, prop, valueMatch) {
30
+ if (!modelArray) {
31
+ return undefined;
32
+ }
33
+ let foundModel = undefined;
34
+ const len = modelArray.length;
35
+ for (let i = 0; i < len; i++) {
36
+ const modelCur = modelArray[i];
37
+ if (modelCur && modelCur[prop] === valueMatch) {
38
+ foundModel = modelCur;
39
+ break;
40
+ }
41
+ }
42
+ return foundModel;
43
+ }
44
+ static RemoveElementById(modelArray, idOfItemToRemove) {
45
+ array_utils_1.ArrayUtils.RemoveElementsByFilter(modelArray, (item) => {
46
+ return !!item && this.IsEqualBoId(item.getId(), idOfItemToRemove);
47
+ });
48
+ }
49
+ static PutBoInList(boList, businessObject) {
50
+ if (boList && businessObject) {
51
+ const businessObjectId = businessObject.getId();
52
+ const boObjInList = boList.find((bo) => bo.getId() === businessObjectId);
53
+ if (boObjInList && businessObject.getId()) {
54
+ array_utils_1.ArrayUtils.ReplaceElement(businessObject, boObjInList, boList);
55
+ }
56
+ else {
57
+ boList.push(businessObject);
58
+ }
59
+ }
60
+ }
61
+ static GetId(businessObject) {
62
+ if (businessObject && businessObject instanceof business_object_1.BusinessObject) {
63
+ return businessObject.getId();
64
+ }
65
+ }
66
+ static GetIdAsString(businessObject) {
67
+ let result = "";
68
+ const boId = businessObject ? businessObject.getId() : undefined;
69
+ if (boId) {
70
+ if (string_utils_1.StringUtils.IsString(boId)) {
71
+ result = boId;
72
+ }
73
+ else if (number_utils_1.NumberUtils.IsNumber(boId)) {
74
+ result = "" + boId;
75
+ }
76
+ else {
77
+ result = JSON.stringify(boId);
78
+ }
79
+ }
80
+ return result;
81
+ }
82
+ static GetIdsAsString(businessObjects) {
83
+ let result = "";
84
+ if (businessObjects) {
85
+ businessObjects.forEach(bo => {
86
+ result += this.GetIdAsString(bo);
87
+ });
88
+ }
89
+ return result;
90
+ }
6
91
  static IsEqualBoId(idA, idB) {
7
92
  let isEqualId = false;
8
- if (not_nill_function_1.notNill(idA) && not_nill_function_1.notNill(idB)) {
93
+ if ((0, not_nill_function_1.notNill)(idA) && (0, not_nill_function_1.notNill)(idB)) {
9
94
  if (idA === idB) {
10
95
  isEqualId = true;
11
96
  }
@@ -15,6 +100,100 @@ class BusinessObjectUtils {
15
100
  }
16
101
  return isEqualId;
17
102
  }
103
+ static AreEqual(objectA, objectB) {
104
+ if (!objectA && !objectB) {
105
+ return true;
106
+ }
107
+ else if (!objectA || !objectB) {
108
+ return false;
109
+ }
110
+ if (object_utils_1.ObjectUtils.GetClassName(objectA) === object_utils_1.ObjectUtils.GetClassName(objectB)) {
111
+ if ((0, is_nill_function_1.isNill)(objectA.getId()) && (0, is_nill_function_1.isNill)(objectB.getId())) {
112
+ return CircularJSON.stringify(objectA) === CircularJSON.stringify(objectB);
113
+ }
114
+ else {
115
+ return this.IsEqualBoId(objectA.getId(), objectB.getId());
116
+ }
117
+ }
118
+ else {
119
+ return objectA === objectB;
120
+ }
121
+ }
122
+ static GetDisplayName(firstName, prefix, familyName) {
123
+ if (!firstName) {
124
+ if (prefix) {
125
+ return string_utils_1.StringUtils.Format("{0} {1}", [prefix, familyName]);
126
+ }
127
+ else {
128
+ return familyName;
129
+ }
130
+ }
131
+ if (prefix) {
132
+ return string_utils_1.StringUtils.Format("{0} {1} {2}", [firstName, prefix, familyName]);
133
+ }
134
+ else {
135
+ return string_utils_1.StringUtils.Format("{0} {1}", [firstName, familyName]);
136
+ }
137
+ }
138
+ static GetDisplayPersonalName(firstName, initials, prefix, familyName) {
139
+ if (!firstName && initials) {
140
+ if (prefix) {
141
+ return string_utils_1.StringUtils.Format("{0} {1} {2}", [initials, prefix, familyName]);
142
+ }
143
+ return string_utils_1.StringUtils.Format("{0} {1}", [initials, familyName]);
144
+ }
145
+ return BusinessObjectUtils.GetDisplayName(firstName, prefix, familyName);
146
+ }
147
+ static GetDisplayInitials(firstName, familyName) {
148
+ if (!firstName && !familyName) {
149
+ return "";
150
+ }
151
+ if (!firstName) {
152
+ return string_utils_1.StringUtils.GetFirstCapital(familyName).toUpperCase();
153
+ }
154
+ else {
155
+ return string_utils_1.StringUtils.Format("{0}{1}", [firstName[0], string_utils_1.StringUtils.GetFirstCapital(familyName)]).toUpperCase();
156
+ }
157
+ }
158
+ static GetDisplayInitialsForOneFullName(fullName) {
159
+ if (!fullName) {
160
+ return "";
161
+ }
162
+ const name = fullName.replace(/[^a-zA-Z0-9\s]/gi, "");
163
+ const parts = name.split(" ");
164
+ const first = parts.shift();
165
+ if (!parts.length) {
166
+ return first.substr(0, 2).toUpperCase();
167
+ }
168
+ const initials = first.substr(0, 1);
169
+ parts.sort((part1, part2) => part2.length - part1.length);
170
+ return (initials + parts[0].substr(0, 1)).toUpperCase();
171
+ }
172
+ static GetDescriptionValue(boClass, boObject) {
173
+ if (boClass && boObject) {
174
+ return boObject[business_object_data_decorator_1.BusinessObjectDataDecorator.GetDescriptionField(boClass)];
175
+ }
176
+ }
177
+ static GetIsActive(endDate) {
178
+ return (endDate ? endDate > new Date() : true);
179
+ }
180
+ static GetBoAsConcreteClassOrNullObject(businessObject, boClasses, orNullObject) {
181
+ let givenBoOfCorrectClass = false;
182
+ if (boClasses) {
183
+ for (let i = 0, len = boClasses.length; i < len; i++) {
184
+ if (businessObject instanceof boClasses[i]) {
185
+ givenBoOfCorrectClass = true;
186
+ break;
187
+ }
188
+ }
189
+ }
190
+ if (givenBoOfCorrectClass) {
191
+ return businessObject;
192
+ }
193
+ else {
194
+ return orNullObject;
195
+ }
196
+ }
18
197
  }
19
198
  exports.BusinessObjectUtils = BusinessObjectUtils;
20
199
  //# sourceMappingURL=business-object-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"business-object-utils.js","sourceRoot":"","sources":["../../src/utils/business-object-utils.ts"],"names":[],"mappings":";;AACA,oEAAqD;AACrD,iDAA2C;AAG3C,MAAa,mBAAmB;IACrB,MAAM,CAAC,WAAW,CAAC,GAAyB,EAAE,GAAyB;QAC1E,IAAI,SAAS,GAAY,KAAK,CAAC;QAE/B,IAAI,2BAAO,CAAC,GAAG,CAAC,IAAI,2BAAO,CAAC,GAAG,CAAC,EAAE;YAC9B,IAAI,GAAG,KAAK,GAAG,EAAE;gBACb,SAAS,GAAG,IAAI,CAAC;aACpB;iBAAM;gBAEH,SAAS,GAAG,0BAAW,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAChD;SACJ;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAfD,kDAeC"}
1
+ {"version":3,"file":"business-object-utils.js","sourceRoot":"","sources":["../../src/utils/business-object-utils.ts"],"names":[],"mappings":"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"}