@colijnit/sharedcomponents 1.0.25 → 1.0.27

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 (292) hide show
  1. package/README.md +8 -11
  2. package/bundles/colijnit-sharedcomponents.umd.js +3704 -0
  3. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -0
  4. package/colijnit-sharedcomponents.d.ts +16 -0
  5. package/colijnit-sharedcomponents.metadata.json +1 -0
  6. package/esm2015/colijnit-sharedcomponents.js +17 -0
  7. package/esm2015/lib/assets/dictionary/text.properties.js +11 -0
  8. package/esm2015/lib/components/circular-gauge/co-circular-gauge.component.js +124 -0
  9. package/esm2015/lib/components/circular-gauge/co-circular-gauge.module.js +21 -0
  10. package/esm2015/lib/components/docsign/component/signature/signature.component.js +75 -0
  11. package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +44 -0
  12. package/esm2015/lib/components/docsign/docsign.component.js +225 -0
  13. package/esm2015/lib/components/docsign/docsign.module.js +23 -0
  14. package/esm2015/lib/components/key-pad/key-pad.component.js +191 -0
  15. package/esm2015/lib/components/key-pad/key-pad.module.js +21 -0
  16. package/esm2015/lib/components/layout-switcher/layout-switcher.component.js +74 -0
  17. package/esm2015/lib/components/layout-switcher/layout-switcher.module.js +21 -0
  18. package/esm2015/lib/components/linear-gauge/co-linear-gauge.component.js +55 -0
  19. package/esm2015/lib/components/linear-gauge/co-linear-gauge.module.js +19 -0
  20. package/esm2015/lib/components/send-method-dialog/enums/send-option.js +8 -0
  21. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +309 -0
  22. package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +31 -0
  23. package/esm2015/lib/components/statusbar/statusbar.component.js +81 -0
  24. package/esm2015/lib/components/statusbar/statusbar.module.js +23 -0
  25. package/esm2015/lib/components/stock/stock-information/stock-information.component.js +54 -0
  26. package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +350 -0
  27. package/esm2015/lib/components/stock/stock-location/stock-location.component.js +62 -0
  28. package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +2 -0
  29. package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +68 -0
  30. package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +130 -0
  31. package/esm2015/lib/components/stock/stock.component.js +140 -0
  32. package/esm2015/lib/components/stock/stock.module.js +48 -0
  33. package/esm2015/lib/enum/icon.enum.js +19 -0
  34. package/esm2015/lib/enum/keyboard-code.enum.js +32 -0
  35. package/esm2015/lib/enum/language-code.enum.js +8 -0
  36. package/esm2015/lib/factory/business-object-factory.js +120 -0
  37. package/esm2015/lib/factory/decorators/boolean.decorator.js +102 -0
  38. package/esm2015/lib/factory/decorators/complex-array.decorator.js +55 -0
  39. package/esm2015/lib/factory/decorators/complex-field.decorator.js +57 -0
  40. package/esm2015/lib/factory/decorators/date-field.decorator.js +36 -0
  41. package/esm2015/lib/factory/decorators/string-number.decorator.js +43 -0
  42. package/esm2015/lib/model/business-object.js +81 -0
  43. package/esm2015/lib/model/icon-svg.js +18 -0
  44. package/esm2015/lib/service/dictionary.service.js +76 -0
  45. package/esm2015/lib/service/icon-cache.service.js +51 -0
  46. package/esm2015/lib/service/options.service.js +71 -0
  47. package/esm2015/lib/service/shared-connector.service.js +278 -0
  48. package/esm2015/lib/service/shared.service.js +30 -0
  49. package/esm2015/lib/service/stock.service.js +95 -0
  50. package/esm2015/lib/utils/array-utils.js +183 -0
  51. package/esm2015/lib/utils/is-nill.function.js +5 -0
  52. package/esm2015/lib/utils/string-utils.js +64 -0
  53. package/esm2015/public-api.js +21 -0
  54. package/fesm2015/colijnit-sharedcomponents.js +3514 -0
  55. package/fesm2015/colijnit-sharedcomponents.js.map +1 -0
  56. package/lib/assets/dictionary/text.properties.d.ts +3 -0
  57. package/lib/components/circular-gauge/co-circular-gauge.component.d.ts +20 -0
  58. package/lib/components/circular-gauge/co-circular-gauge.module.d.ts +2 -0
  59. package/{projects/sharedcomponents/src/lib → lib}/components/circular-gauge/style/_layout.scss +6 -3
  60. package/{projects/sharedcomponents/src/lib → lib}/components/circular-gauge/style/_material-definition.scss +0 -0
  61. package/{projects/sharedcomponents/src/lib → lib}/components/circular-gauge/style/_theme.scss +0 -0
  62. package/{projects/sharedcomponents/src/lib → lib}/components/circular-gauge/style/material.scss +0 -0
  63. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_layout.scss +0 -0
  64. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_material-definition.scss +0 -0
  65. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_theme.scss +0 -0
  66. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/material.scss +0 -0
  67. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_layout.scss +0 -0
  68. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_material-definition.scss +0 -0
  69. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_theme.scss +0 -0
  70. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/material.scss +0 -0
  71. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/_layout.scss +0 -0
  72. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/_material-definition.scss +0 -0
  73. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/_theme.scss +0 -0
  74. package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/material.scss +0 -0
  75. package/lib/components/docsign/component/signature/signature.component.d.ts +16 -0
  76. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_layout.scss +0 -0
  77. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_material-definition.scss +0 -0
  78. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_theme.scss +0 -0
  79. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/material.scss +0 -0
  80. package/lib/components/docsign/component/signatures/signatures.component.d.ts +12 -0
  81. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_layout.scss +0 -0
  82. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_material-definition.scss +0 -0
  83. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_theme.scss +0 -0
  84. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/material.scss +0 -0
  85. package/lib/components/docsign/docsign.component.d.ts +92 -0
  86. package/lib/components/docsign/docsign.module.d.ts +2 -0
  87. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/_layout.scss +0 -0
  88. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/_material-definition.scss +0 -0
  89. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/_theme.scss +0 -0
  90. package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/material.scss +0 -0
  91. package/lib/components/key-pad/key-pad.component.d.ts +36 -0
  92. package/lib/components/key-pad/key-pad.module.d.ts +2 -0
  93. package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_layout.scss +0 -0
  94. package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_material-definition.scss +0 -0
  95. package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_theme.scss +0 -0
  96. package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/material.scss +0 -0
  97. package/lib/components/layout-switcher/layout-switcher.component.d.ts +16 -0
  98. package/lib/components/layout-switcher/layout-switcher.module.d.ts +2 -0
  99. package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_layout.scss +0 -0
  100. package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_material-definition.scss +0 -0
  101. package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_theme.scss +0 -0
  102. package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/material.scss +0 -0
  103. package/lib/components/linear-gauge/co-linear-gauge.component.d.ts +16 -0
  104. package/lib/components/linear-gauge/co-linear-gauge.module.d.ts +2 -0
  105. package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_layout.scss +0 -0
  106. package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_material-definition.scss +0 -0
  107. package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_theme.scss +0 -0
  108. package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/material.scss +0 -0
  109. package/lib/components/send-method-dialog/enums/send-option.d.ts +6 -0
  110. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +62 -0
  111. package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +2 -0
  112. package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_layout.scss +0 -0
  113. package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_material-definition.scss +0 -0
  114. package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_theme.scss +0 -0
  115. package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/material.scss +0 -0
  116. package/lib/components/statusbar/statusbar.component.d.ts +22 -0
  117. package/lib/components/statusbar/statusbar.module.d.ts +2 -0
  118. package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_layout.scss +0 -0
  119. package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_material-definition.scss +0 -0
  120. package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_theme.scss +0 -0
  121. package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/material.scss +0 -0
  122. package/lib/components/stock/stock-information/stock-information.component.d.ts +10 -0
  123. package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +60 -0
  124. package/lib/components/stock/stock-location/stock-location.component.d.ts +15 -0
  125. package/{projects/sharedcomponents/src/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.ts → lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts} +2 -2
  126. package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +18 -0
  127. package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +36 -0
  128. package/lib/components/stock/stock.component.d.ts +42 -0
  129. package/lib/components/stock/stock.module.d.ts +2 -0
  130. package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_layout.scss +0 -0
  131. package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_material-definition.scss +0 -0
  132. package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_theme.scss +0 -0
  133. package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/material.scss +0 -0
  134. package/{projects/sharedcomponents/src/lib/enum/icon.enum.ts → lib/enum/icon.enum.d.ts} +2 -3
  135. package/lib/enum/keyboard-code.enum.d.ts +30 -0
  136. package/lib/enum/language-code.enum.d.ts +6 -0
  137. package/lib/factory/business-object-factory.d.ts +23 -0
  138. package/lib/factory/decorators/boolean.decorator.d.ts +43 -0
  139. package/lib/factory/decorators/complex-array.decorator.d.ts +25 -0
  140. package/lib/factory/decorators/complex-field.decorator.d.ts +25 -0
  141. package/lib/factory/decorators/date-field.decorator.d.ts +17 -0
  142. package/lib/factory/decorators/string-number.decorator.d.ts +22 -0
  143. package/lib/model/business-object.d.ts +7 -0
  144. package/lib/model/icon-svg.d.ts +4 -0
  145. package/lib/service/dictionary.service.d.ts +21 -0
  146. package/lib/service/icon-cache.service.d.ts +18 -0
  147. package/lib/service/options.service.d.ts +13 -0
  148. package/lib/service/shared-connector.service.d.ts +43 -0
  149. package/lib/service/shared.service.d.ts +8 -0
  150. package/lib/service/stock.service.d.ts +38 -0
  151. package/{projects/sharedcomponents/src/lib → lib}/style/_mixin.scss +0 -0
  152. package/{projects/sharedcomponents/src/lib → lib}/style/_variables.scss +0 -0
  153. package/{projects/sharedcomponents/src/lib → lib}/style/sharedcomponents-globals.scss +0 -0
  154. package/lib/utils/array-utils.d.ts +57 -0
  155. package/lib/utils/is-nill.function.d.ts +1 -0
  156. package/lib/utils/string-utils.d.ts +22 -0
  157. package/package.json +26 -74
  158. package/{projects/sharedcomponents/src/public-api.ts → public-api.d.ts} +0 -5
  159. package/.browserslistrc +0 -16
  160. package/.editorconfig +0 -16
  161. package/.vscode/extensions.json +0 -4
  162. package/.vscode/launch.json +0 -20
  163. package/.vscode/tasks.json +0 -42
  164. package/Sharedcomponents.iml +0 -11
  165. package/angular.json +0 -133
  166. package/karma.conf.js +0 -44
  167. package/move-assets.js +0 -14
  168. package/projects/sharedcomponents/.browserslistrc +0 -16
  169. package/projects/sharedcomponents/README.md +0 -24
  170. package/projects/sharedcomponents/karma.conf.js +0 -44
  171. package/projects/sharedcomponents/ng-package.json +0 -17
  172. package/projects/sharedcomponents/package.json +0 -18
  173. package/projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts +0 -8
  174. package/projects/sharedcomponents/src/lib/assets/icons/angle_left_solid.svg +0 -1
  175. package/projects/sharedcomponents/src/lib/assets/icons/angle_right_solid.svg +0 -1
  176. package/projects/sharedcomponents/src/lib/assets/icons/arrow_fat_right.svg +0 -1
  177. package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_left.svg +0 -8
  178. package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_right.svg +0 -4
  179. package/projects/sharedcomponents/src/lib/assets/icons/bring_forward_regular.svg +0 -1
  180. package/projects/sharedcomponents/src/lib/assets/icons/check_round.svg +0 -1
  181. package/projects/sharedcomponents/src/lib/assets/icons/delete_left_regular.svg +0 -1
  182. package/projects/sharedcomponents/src/lib/assets/icons/delivery_truck.svg +0 -12
  183. package/projects/sharedcomponents/src/lib/assets/icons/email.svg +0 -5
  184. package/projects/sharedcomponents/src/lib/assets/icons/pdf.svg +0 -15
  185. package/projects/sharedcomponents/src/lib/assets/icons/print.svg +0 -10
  186. package/projects/sharedcomponents/src/lib/assets/icons/signature_field.svg +0 -9
  187. package/projects/sharedcomponents/src/lib/assets/icons/xml.svg +0 -9
  188. package/projects/sharedcomponents/src/lib/components/circular-gauge/co-circular-gauge.component.ts +0 -139
  189. package/projects/sharedcomponents/src/lib/components/circular-gauge/co-circular-gauge.module.ts +0 -19
  190. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts +0 -68
  191. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts +0 -31
  192. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts +0 -67
  193. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts +0 -48
  194. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts +0 -81
  195. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts +0 -265
  196. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts +0 -38
  197. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts +0 -50
  198. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts +0 -46
  199. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts +0 -65
  200. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts +0 -38
  201. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts +0 -63
  202. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts +0 -46
  203. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts +0 -37
  204. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts +0 -52
  205. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts +0 -124
  206. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts +0 -201
  207. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts +0 -35
  208. package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts +0 -133
  209. package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts +0 -56
  210. package/projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts +0 -82
  211. package/projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts +0 -50
  212. package/projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts +0 -252
  213. package/projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts +0 -22
  214. package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts +0 -205
  215. package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts +0 -19
  216. package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts +0 -98
  217. package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts +0 -21
  218. package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts +0 -56
  219. package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts +0 -17
  220. package/projects/sharedcomponents/src/lib/components/send-method-dialog/enums/send-option.ts +0 -6
  221. package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts +0 -342
  222. package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts +0 -33
  223. package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts +0 -97
  224. package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts +0 -21
  225. package/projects/sharedcomponents/src/lib/components/stock/stock-in-order/stock-in-order.component.ts +0 -0
  226. package/projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts +0 -64
  227. package/projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts +0 -384
  228. package/projects/sharedcomponents/src/lib/components/stock/stock-location/stock-location.component.ts +0 -84
  229. package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts +0 -73
  230. package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts +0 -153
  231. package/projects/sharedcomponents/src/lib/components/stock/stock.component.ts +0 -165
  232. package/projects/sharedcomponents/src/lib/components/stock/stock.module.ts +0 -51
  233. package/projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts +0 -6
  234. package/projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts +0 -30
  235. package/projects/sharedcomponents/src/lib/enum/language-code.enum.ts +0 -6
  236. package/projects/sharedcomponents/src/lib/enum/month.enum.ts +0 -15
  237. package/projects/sharedcomponents/src/lib/enum/time-period.enum.ts +0 -9
  238. package/projects/sharedcomponents/src/lib/factory/business-object-factory.ts +0 -120
  239. package/projects/sharedcomponents/src/lib/factory/decorators/boolean.decorator.ts +0 -113
  240. package/projects/sharedcomponents/src/lib/factory/decorators/complex-array.decorator.ts +0 -61
  241. package/projects/sharedcomponents/src/lib/factory/decorators/complex-field.decorator.ts +0 -63
  242. package/projects/sharedcomponents/src/lib/factory/decorators/date-field.decorator.ts +0 -41
  243. package/projects/sharedcomponents/src/lib/factory/decorators/string-number.decorator.ts +0 -48
  244. package/projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts +0 -6
  245. package/projects/sharedcomponents/src/lib/model/agenda-event.model.ts +0 -17
  246. package/projects/sharedcomponents/src/lib/model/agenda-null-objects.ts +0 -11
  247. package/projects/sharedcomponents/src/lib/model/business-object.ts +0 -85
  248. package/projects/sharedcomponents/src/lib/model/constant/all-months.ts +0 -17
  249. package/projects/sharedcomponents/src/lib/model/date-range.ts +0 -10
  250. package/projects/sharedcomponents/src/lib/model/day.model.ts +0 -9
  251. package/projects/sharedcomponents/src/lib/model/icon-svg.ts +0 -18
  252. package/projects/sharedcomponents/src/lib/model/month.model.ts +0 -11
  253. package/projects/sharedcomponents/src/lib/model/time-window.bo.ts +0 -21
  254. package/projects/sharedcomponents/src/lib/model/week.model.ts +0 -5
  255. package/projects/sharedcomponents/src/lib/model/weekday.model.ts +0 -17
  256. package/projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts +0 -14
  257. package/projects/sharedcomponents/src/lib/pipe/master-pipes.ts +0 -7
  258. package/projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts +0 -14
  259. package/projects/sharedcomponents/src/lib/service/dictionary.service.ts +0 -86
  260. package/projects/sharedcomponents/src/lib/service/icon-cache.service.ts +0 -51
  261. package/projects/sharedcomponents/src/lib/service/options.service.ts +0 -66
  262. package/projects/sharedcomponents/src/lib/service/shared-connector.service.ts +0 -258
  263. package/projects/sharedcomponents/src/lib/service/shared-initializer.service.ts +0 -29
  264. package/projects/sharedcomponents/src/lib/service/shared.service.ts +0 -21
  265. package/projects/sharedcomponents/src/lib/service/stock.service.ts +0 -95
  266. package/projects/sharedcomponents/src/lib/utils/array-utils.ts +0 -202
  267. package/projects/sharedcomponents/src/lib/utils/calendar.utils.ts +0 -75
  268. package/projects/sharedcomponents/src/lib/utils/date-utils.ts +0 -302
  269. package/projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts +0 -4
  270. package/projects/sharedcomponents/src/lib/utils/is-nill.function.ts +0 -4
  271. package/projects/sharedcomponents/src/lib/utils/string-utils.ts +0 -67
  272. package/projects/sharedcomponents/src/test.ts +0 -27
  273. package/projects/sharedcomponents/tsconfig.lib.json +0 -18
  274. package/projects/sharedcomponents/tsconfig.lib.prod.json +0 -10
  275. package/projects/sharedcomponents/tsconfig.spec.json +0 -17
  276. package/script/merge-icons.js +0 -39
  277. package/src/app/app.component.scss +0 -9
  278. package/src/app/app.component.spec.ts +0 -31
  279. package/src/app/app.component.ts +0 -156
  280. package/src/app/app.module.ts +0 -60
  281. package/src/assets/.gitkeep +0 -0
  282. package/src/environments/environment.prod.ts +0 -3
  283. package/src/environments/environment.ts +0 -16
  284. package/src/favicon.ico +0 -0
  285. package/src/index.html +0 -13
  286. package/src/main.ts +0 -12
  287. package/src/polyfills.ts +0 -53
  288. package/src/styles.scss +0 -40
  289. package/src/test.ts +0 -26
  290. package/tsconfig.app.json +0 -15
  291. package/tsconfig.json +0 -65
  292. package/tsconfig.spec.json +0 -18
@@ -0,0 +1,30 @@
1
+ import { __awaiter } from "tslib";
2
+ import { SharedConnectorService } from "./shared-connector.service";
3
+ import { Injectable } from "@angular/core";
4
+ import { OptionsService } from "./options.service";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./options.service";
7
+ import * as i2 from "./shared-connector.service";
8
+ export class SharedService {
9
+ constructor(options, connector) {
10
+ this.options = options;
11
+ this.connector = connector;
12
+ }
13
+ init(options) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ yield this.options.initialize(options);
16
+ this.connector.connect();
17
+ });
18
+ }
19
+ }
20
+ SharedService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SharedService_Factory() { return new SharedService(i0.ɵɵinject(i1.OptionsService), i0.ɵɵinject(i2.SharedConnectorService)); }, token: SharedService, providedIn: "root" });
21
+ SharedService.decorators = [
22
+ { type: Injectable, args: [{
23
+ providedIn: "root"
24
+ },] }
25
+ ];
26
+ SharedService.ctorParameters = () => [
27
+ { type: OptionsService },
28
+ { type: SharedConnectorService }
29
+ ];
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvc2VydmljZS9zaGFyZWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFNakQsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFDWSxPQUF1QixFQUN2QixTQUFpQztRQURqQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUF3QjtJQUU3QyxDQUFDO0lBRVksSUFBSSxDQUFDLE9BQVk7O1lBQzVCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDO0tBQUE7Ozs7WUFmRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUpPLGNBQWM7WUFGZCxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NoYXJlZENvbm5lY3RvclNlcnZpY2V9IGZyb20gXCIuL3NoYXJlZC1jb25uZWN0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T3B0aW9uc1NlcnZpY2V9IGZyb20gXCIuL29wdGlvbnMuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2hhcmVkU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIG9wdGlvbnM6IE9wdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNvbm5lY3RvcjogU2hhcmVkQ29ubmVjdG9yU2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0KG9wdGlvbnM6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5vcHRpb25zLmluaXRpYWxpemUob3B0aW9ucyk7XHJcbiAgICB0aGlzLmNvbm5lY3Rvci5jb25uZWN0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,95 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from "@angular/core";
3
+ import { PrintStockStickers } from "@colijnit/sharedapi/build/model/print-stock-stickers";
4
+ import { PrintPriceStickers } from "@colijnit/sharedapi/build/model/print-price-stickers.bo";
5
+ import { SharedConnectorService } from "./shared-connector.service";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./shared-connector.service";
8
+ export class StockService {
9
+ constructor(_sharedService) {
10
+ this._sharedService = _sharedService;
11
+ this.printSticker = new PrintStockStickers();
12
+ this.printPriceSticker = new PrintPriceStickers();
13
+ }
14
+ getPrintStockStickers(data) {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ yield this._sharedService.getPrintStockStickers(data);
17
+ });
18
+ }
19
+ getPrintPriceStickers(data) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ yield this._sharedService.getPrintPriceStickers(data);
22
+ });
23
+ }
24
+ getAllPrinters(showAll = true) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ return yield this._sharedService.getAllPrinters(showAll);
27
+ });
28
+ }
29
+ getStockHistory(data) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ return yield this._sharedService.getStockHistory(data);
32
+ });
33
+ }
34
+ getStockInformation(data) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ return yield this._sharedService.getStockInformation(data);
37
+ });
38
+ }
39
+ // public async getStockStickerPrintLayouts(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {
40
+ // return await this._connector.getStockStickerPrintLayouts(data);
41
+ // }
42
+ getArticleDetails(data) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ return yield this._sharedService.getArticleDetails(data);
45
+ });
46
+ }
47
+ updateArticleDetails(data) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ return yield this._sharedService.updateArticleDetails(data);
50
+ });
51
+ }
52
+ getStockState() {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ return yield this._sharedService.getStockStatus();
55
+ });
56
+ }
57
+ getStockStickerTemplates(data) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ return yield this._sharedService.getStockStickerTemplates(data);
60
+ });
61
+ }
62
+ getStockManagementWarehouses() {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ return yield this._sharedService.getStockManagementWarehouses();
65
+ });
66
+ }
67
+ getStockManagementLocations(warehouseNo) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ return yield this._sharedService.getStockManagementLocations(warehouseNo);
70
+ });
71
+ }
72
+ getArticleTransaction(data) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ return yield this._sharedService.getArticleTransaction(data);
75
+ });
76
+ }
77
+ lockArticleDetails(data) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ return yield this._sharedService.lockArticleDetails(data);
80
+ });
81
+ }
82
+ commit() {
83
+ return this._sharedService.commit();
84
+ }
85
+ }
86
+ StockService.ɵprov = i0.ɵɵdefineInjectable({ factory: function StockService_Factory() { return new StockService(i0.ɵɵinject(i1.SharedConnectorService)); }, token: StockService, providedIn: "root" });
87
+ StockService.decorators = [
88
+ { type: Injectable, args: [{
89
+ providedIn: 'root',
90
+ },] }
91
+ ];
92
+ StockService.ctorParameters = () => [
93
+ { type: SharedConnectorService }
94
+ ];
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFnQnhGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7QUFLbEUsTUFBTSxPQUFPLFlBQVk7SUFNdkIsWUFDVSxjQUFzQztRQUF0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFKekMsaUJBQVksR0FBdUIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQzVELHNCQUFpQixHQUF1QixJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFLeEUsQ0FBQztJQUVZLHFCQUFxQixDQUFDLElBQXdCOztZQUN6RCxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsQ0FBQztLQUFBO0lBRVkscUJBQXFCLENBQUMsSUFBd0I7O1lBQ3pELE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxDQUFDO0tBQUE7SUFFWSxjQUFjLENBQUMsVUFBbUIsSUFBSTs7WUFDakQsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNELENBQUM7S0FBQTtJQUVZLGVBQWUsQ0FBQyxJQUE0Qjs7WUFDdkQsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELENBQUM7S0FBQTtJQUVZLG1CQUFtQixDQUFDLElBQWtCOztZQUNqRCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxDQUFDO0tBQUE7SUFFRCxvSEFBb0g7SUFDcEgsb0VBQW9FO0lBQ3BFLElBQUk7SUFFUyxpQkFBaUIsQ0FBQyxJQUE0Qjs7WUFDekQsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0QsQ0FBQztLQUFBO0lBRVksb0JBQW9CLENBQUMsSUFBc0I7O1lBQ3RELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlELENBQUM7S0FBQTtJQUVZLGFBQWE7O1lBQ3hCLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BELENBQUM7S0FBQTtJQUVZLHdCQUF3QixDQUFDLElBQStCOztZQUNuRSxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRSxDQUFDO0tBQUE7SUFFWSw0QkFBNEI7O1lBQ3ZDLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDbEUsQ0FBQztLQUFBO0lBRVksMkJBQTJCLENBQUMsV0FBbUI7O1lBQzFELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVFLENBQUM7S0FBQTtJQUVZLHFCQUFxQixDQUFDLElBQXdCOztZQUN6RCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRCxDQUFDO0tBQUE7SUFFWSxrQkFBa0IsQ0FBQyxJQUE0Qjs7WUFDMUQsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsQ0FBQztLQUFBO0lBRU0sTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzs7O1lBeEVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBSk8sc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1ByaW50U3RvY2tTdGlja2Vyc30gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcHJpbnQtc3RvY2stc3RpY2tlcnNcIjtcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9yZXBvcnQvcHJpbnRlci5ib1wiO1xyXG5pbXBvcnQge0dldFN0b2NrSGlzdG9yeVJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9nZXQtc3RvY2staGlzdG9yeS1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2tcIjtcclxuaW1wb3J0IHtTdG9ja0hpc3RvcnlCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWhpc3RvcnkuYm9cIjtcclxuaW1wb3J0IHtTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9yZXBvcnQvc3RvY2stc3RpY2tlcnMtcHJpbnQtbGF5b3V0cy5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVEZXRhaWxzQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWRldGFpbHMuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2tNYW5hZ2VtZW50fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay1tYW5hZ2VtZW50XCI7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvXCI7XHJcbmltcG9ydCB7RGF0YVNlcnZpY2VSZXNwb25zZURhdGF9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9kYXRhLXNlcnZpY2UtcmVzcG9uc2UtZGF0YVwiO1xyXG5pbXBvcnQge0FydGljbGVUcmFuc2FjdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb25cIjtcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb24gYXMgQXJ0aWNsZVRyYW5zYWN0aW9uQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uLmJvXCI7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSBcIi4vc2hhcmVkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQcmludFByaWNlU3RpY2tlcnN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXByaWNlLXN0aWNrZXJzLmJvXCI7XHJcbmltcG9ydCB7U2hhcmVkQ29ubmVjdG9yU2VydmljZX0gZnJvbSBcIi4vc2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIHN0b2NrU3RpY2tlcnM6IFByaW50U3RvY2tTdGlja2VycztcclxuICBwdWJsaWMgcHJpbnRTdGlja2VyOiBQcmludFN0b2NrU3RpY2tlcnMgPSBuZXcgUHJpbnRTdG9ja1N0aWNrZXJzKCk7XHJcbiAgcHVibGljIHByaW50UHJpY2VTdGlja2VyOiBQcmludFByaWNlU3RpY2tlcnMgPSBuZXcgUHJpbnRQcmljZVN0aWNrZXJzKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2hhcmVkU2VydmljZTogU2hhcmVkQ29ubmVjdG9yU2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQcmludFN0b2NrU3RpY2tlcnMoZGF0YTogUHJpbnRTdG9ja1N0aWNrZXJzKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFByaW50U3RvY2tTdGlja2VycyhkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQcmludFByaWNlU3RpY2tlcnMoZGF0YTogUHJpbnRQcmljZVN0aWNrZXJzKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFByaW50UHJpY2VTdGlja2VycyhkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBbGxQcmludGVycyhzaG93QWxsOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8UHJpbnRlcltdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRBbGxQcmludGVycyhzaG93QWxsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja0hpc3RvcnkoZGF0YTogR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCk6IFByb21pc2U8U3RvY2tIaXN0b3J5Qm9bXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0U3RvY2tIaXN0b3J5KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSW5mb3JtYXRpb24oZGF0YTogQXJ0aWNsZVN0b2NrKTogUHJvbWlzZTxBcnRpY2xlU3RvY2tCb1tdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRTdG9ja0luZm9ybWF0aW9uKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFN0b2NrU3RpY2tlclByaW50TGF5b3V0cyhkYXRhOiBTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzKTogUHJvbWlzZTxTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzW10+IHtcclxuICAvLyAgIHJldHVybiBhd2FpdCB0aGlzLl9jb25uZWN0b3IuZ2V0U3RvY2tTdGlja2VyUHJpbnRMYXlvdXRzKGRhdGEpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFydGljbGVEZXRhaWxzKGRhdGE6IEFydGljbGVTdG9ja01hbmFnZW1lbnQpOiBQcm9taXNlPEFydGljbGVEZXRhaWxzQm9bXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0QXJ0aWNsZURldGFpbHMoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdXBkYXRlQXJ0aWNsZURldGFpbHMoZGF0YTogQXJ0aWNsZURldGFpbHNCbyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UudXBkYXRlQXJ0aWNsZURldGFpbHMoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGF0ZSgpOiBQcm9taXNlPFN0b2NrU3RhdHVzW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFN0b2NrU3RhdHVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGE6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTogUHJvbWlzZTxTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMod2FyZWhvdXNlTm86IG51bWJlcik6IFByb21pc2U8U3RvY2tMb2NhdGlvbltdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMod2FyZWhvdXNlTm8pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFydGljbGVUcmFuc2FjdGlvbihkYXRhOiBBcnRpY2xlVHJhbnNhY3Rpb24pOiBQcm9taXNlPEFydGljbGVUcmFuc2FjdGlvbkJvW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldEFydGljbGVUcmFuc2FjdGlvbihkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBsb2NrQXJ0aWNsZURldGFpbHMoZGF0YTogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UubG9ja0FydGljbGVEZXRhaWxzKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbW1pdCgpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hhcmVkU2VydmljZS5jb21taXQoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,183 @@
1
+ import { ObjectUtils } from "@colijnit/articleapi/build/utils/object-utils";
2
+ import { NumberUtils } from "@colijnit/articleapi/build/utils/number-utils";
3
+ import { isNill } from "@colijnit/articleapi/build/utils/function/is-nill.function";
4
+ import { notNill } from "@colijnit/articleapi/build/utils/function/not-nill.function";
5
+ export class ArrayUtils {
6
+ /**
7
+ * Returns whether at least one element in given array could be found by given finder function.
8
+ *
9
+ * @param {T[]} array
10
+ * @param {(element: T) => boolean} finder A finder function that takes an element of the array and returns a boolean that represents
11
+ * the 'found status' for that element; whether it should have been found or not.
12
+ */
13
+ static ContainsAnElementFoundBy(array, finder) {
14
+ if (!array || !finder) {
15
+ return false;
16
+ }
17
+ return notNill(this.Find(array, finder));
18
+ }
19
+ /**
20
+ * Cross-browser Array.find() function. Returns the first item in given array for which the foundBy function returns true. Returns
21
+ * undefined when none was found.
22
+ *
23
+ * Example usage:
24
+ * const foundItem: BusinessObject = ArrayUtils.Find<BusinessObject>(modelArray, (modelItem: BusinessObject) => <br>
25
+ * (return modelItem.getId() === '1')
26
+ * * });
27
+ *
28
+ * @param array The array with items to search in.
29
+ * @param foundBy The finder function applied on each items of the array, when that returns true, the item is considered found.
30
+ */
31
+ static Find(array, foundBy) {
32
+ if (!array || !foundBy) {
33
+ return undefined;
34
+ }
35
+ for (let i = 0, len = array.length; i < len; i++) {
36
+ const itemCur = array[i];
37
+ if (foundBy(itemCur)) {
38
+ return itemCur;
39
+ }
40
+ }
41
+ return undefined;
42
+ }
43
+ // @returns empty array when nothing found, otherwise array with found items
44
+ static FindAll(array, foundBy) {
45
+ const answer = [];
46
+ if (!array || !foundBy) {
47
+ return answer;
48
+ }
49
+ for (let i = 0, len = array.length; i < len; i++) {
50
+ const itemCur = array[i];
51
+ if (foundBy(itemCur)) {
52
+ answer.push(itemCur);
53
+ }
54
+ }
55
+ return answer;
56
+ }
57
+ // returns a simple clone of given array, using array.slice(0)
58
+ static CloneArray(array) {
59
+ let answer = [];
60
+ if (array) {
61
+ answer = array.slice(0);
62
+ }
63
+ return answer;
64
+ }
65
+ /**
66
+ * Returns a 'semi deep clone' of given array. Its first-level members are object-shallow-cloned (optionally with a strongly typed constructor),
67
+ * or just as plain object (see param arrayItemsClass).
68
+ * @param array
69
+ * @param arrayItemsClass If provided, the cloned array's first-level items will be strongly typed to / constructed as this class. Otherwise
70
+ * it'll be a plain object.
71
+ * @param deepClone Set to true if array items contain FUNCTIONS that need to be cloned..
72
+ * @returns {Array} semi-deep clone of given array
73
+ */
74
+ static CloneArrayAndItsItems(array, arrayItemsClass, deepClone = false) {
75
+ const cloneArray = [];
76
+ if (array) {
77
+ for (let i = 0, len = array.length; i < len; i++) {
78
+ if (deepClone) {
79
+ cloneArray.push(ObjectUtils.GetDeepClone(array[i]));
80
+ }
81
+ else {
82
+ cloneArray.push(ObjectUtils.GetShallowClone(array[i], arrayItemsClass));
83
+ }
84
+ }
85
+ }
86
+ else {
87
+ return [];
88
+ }
89
+ return cloneArray;
90
+ }
91
+ /**
92
+ * Removes element at given index from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really
93
+ * removes the element using splice().
94
+ *
95
+ * @param {number} index
96
+ * @param {any[]} array in-out
97
+ * @returns {boolean} True if and only if the element on given index is succesfully removed from given array.
98
+ */
99
+ static RemoveElementAtIndex(index, array) {
100
+ if (NumberUtils.IsNaN(index) || index < 0 || !Array.isArray(array) || array.length === 0) {
101
+ return false;
102
+ }
103
+ if (index in array) {
104
+ array.splice(index, 1);
105
+ return true;
106
+ }
107
+ else {
108
+ return false;
109
+ }
110
+ }
111
+ /**
112
+ * Removes given element from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really removes the
113
+ * element using splice(). Also works on associative arrays.
114
+ *
115
+ * @param {T} element The element to remove.
116
+ * @param {T[]} array The array to remove the element from.
117
+ * @returns {boolean} True iff given element was truly successfully removed from given array.
118
+ */
119
+ static RemoveElement(element, array) {
120
+ if (!Array.isArray(array)) {
121
+ return false;
122
+ }
123
+ const index = array.indexOf(element);
124
+ return ArrayUtils.RemoveElementAtIndex(index, array);
125
+ }
126
+ // Checks if given array is defined, and is an array, and has length > 0, and, optionally checks that the first element is of type given clazz.
127
+ static IsArrayWithElements(arrayToCheck, classItemsMustBeInstanceOf) {
128
+ if (isNill(arrayToCheck)) {
129
+ return false;
130
+ }
131
+ if (Array.isArray(arrayToCheck) && arrayToCheck.length > 0) {
132
+ if (classItemsMustBeInstanceOf) {
133
+ return arrayToCheck[0] instanceof classItemsMustBeInstanceOf;
134
+ }
135
+ else {
136
+ return true;
137
+ }
138
+ }
139
+ else {
140
+ return false;
141
+ }
142
+ }
143
+ // Removes all elements from given array for which given filter function holds true. Returns true if at least one removed, else false.
144
+ static RemoveElementsByFilter(array, filterFunction) {
145
+ if (!ArrayUtils.IsArrayWithElements(array) || !filterFunction) {
146
+ return false;
147
+ }
148
+ let atLeastOneRemoved = false;
149
+ const len = array.length;
150
+ for (let i = len - 1; i >= 0; i--) {
151
+ const item = array[i];
152
+ if (filterFunction.call(this, item) === true) {
153
+ array.splice(i, 1);
154
+ atLeastOneRemoved = true;
155
+ }
156
+ }
157
+ return atLeastOneRemoved;
158
+ }
159
+ static MoveElement(element, toIndex, array) {
160
+ if (!Array.isArray(array) || isNill(toIndex)) {
161
+ return false;
162
+ }
163
+ const fromIndex = array.indexOf(element);
164
+ const toIndexCorrected = NumberUtils.GetNearestNumberWithinBounds(toIndex, 0, array.length - 1);
165
+ if (fromIndex === -1 || array[toIndexCorrected] === element) {
166
+ // element did not exist in given array, or already existed on given toIndex
167
+ return false;
168
+ }
169
+ array.splice(toIndexCorrected, 0, array.splice(fromIndex, 1)[0]);
170
+ return true;
171
+ }
172
+ // PRE: elements exists in given array. POST: given elementToPlace has a lower index than given afterThisElement. Array is in-out manipulated.
173
+ static PlaceElementAfterOther(array, elementToPlace, afterThisElement) {
174
+ if (array) {
175
+ const afterThisElIdx = array.indexOf(afterThisElement);
176
+ const elToPlaceIdx = array.indexOf(elementToPlace);
177
+ if (afterThisElIdx >= elToPlaceIdx) {
178
+ ArrayUtils.MoveElement(elementToPlace, afterThisElIdx + 1, array);
179
+ }
180
+ }
181
+ }
182
+ }
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvdXRpbHMvYXJyYXktdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDbEYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBRXBGLE1BQU0sT0FBTyxVQUFVO0lBQ25COzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBSSxLQUFVLEVBQUUsTUFBK0I7UUFDakYsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBSSxLQUFVLEVBQUUsT0FBNkI7UUFDM0QsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNwQixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUQsTUFBTSxPQUFPLEdBQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFHO2dCQUNuQixPQUFPLE9BQU8sQ0FBQzthQUNsQjtT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VXRpbHN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC91dGlscy9vYmplY3QtdXRpbHNcIjtcclxuaW1wb3J0IHtOdW1iZXJVdGlsc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL3V0aWxzL251bWJlci11dGlsc1wiO1xyXG5pbXBvcnQge2lzTmlsbH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL2lzLW5pbGwuZnVuY3Rpb25cIjtcclxuaW1wb3J0IHtub3ROaWxsfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvdXRpbHMvZnVuY3Rpb24vbm90LW5pbGwuZnVuY3Rpb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBcnJheVV0aWxzIHtcclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB3aGV0aGVyIGF0IGxlYXN0IG9uZSBlbGVtZW50IGluIGdpdmVuIGFycmF5IGNvdWxkIGJlIGZvdW5kIGJ5IGdpdmVuIGZpbmRlciBmdW5jdGlvbi5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge1RbXX0gYXJyYXlcclxuICAgICAqIEBwYXJhbSB7KGVsZW1lbnQ6IFQpID0+IGJvb2xlYW59IGZpbmRlciBBIGZpbmRlciBmdW5jdGlvbiB0aGF0IHRha2VzIGFuIGVsZW1lbnQgb2YgdGhlIGFycmF5IGFuZCByZXR1cm5zIGEgYm9vbGVhbiB0aGF0IHJlcHJlc2VudHNcclxuICAgICAqIHRoZSAnZm91bmQgc3RhdHVzJyBmb3IgdGhhdCBlbGVtZW50OyB3aGV0aGVyIGl0IHNob3VsZCBoYXZlIGJlZW4gZm91bmQgb3Igbm90LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIENvbnRhaW5zQW5FbGVtZW50Rm91bmRCeTxUPihhcnJheTogVFtdLCBmaW5kZXI6IChlbGVtZW50OiBUKSA9PiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFhcnJheSB8fCAhZmluZGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBub3ROaWxsKHRoaXMuRmluZDxUPihhcnJheSwgZmluZGVyKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcm9zcy1icm93c2VyIEFycmF5LmZpbmQoKSBmdW5jdGlvbi4gUmV0dXJucyB0aGUgZmlyc3QgaXRlbSBpbiBnaXZlbiBhcnJheSBmb3Igd2hpY2ggdGhlIGZvdW5kQnkgZnVuY3Rpb24gcmV0dXJucyB0cnVlLiBSZXR1cm5zXHJcbiAgICAgKiB1bmRlZmluZWQgd2hlbiBub25lIHdhcyBmb3VuZC5cclxuICAgICAqXHJcbiAgICAgKiBFeGFtcGxlIHVzYWdlOlxyXG4gICAgICogY29uc3QgZm91bmRJdGVtOiBCdXNpbmVzc09iamVjdCA9IEFycmF5VXRpbHMuRmluZDxCdXNpbmVzc09iamVjdD4obW9kZWxBcnJheSwgKG1vZGVsSXRlbTogQnVzaW5lc3NPYmplY3QpID0+IDxicj5cclxuICAgICAqICAgICAocmV0dXJuIG1vZGVsSXRlbS5nZXRJZCgpID09PSAnMScpXHJcbiAgICAgKiAgICogfSk7XHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGFycmF5IFRoZSBhcnJheSB3aXRoIGl0ZW1zIHRvIHNlYXJjaCBpbi5cclxuICAgICAqIEBwYXJhbSBmb3VuZEJ5IFRoZSBmaW5kZXIgZnVuY3Rpb24gYXBwbGllZCBvbiBlYWNoIGl0ZW1zIG9mIHRoZSBhcnJheSwgd2hlbiB0aGF0IHJldHVybnMgdHJ1ZSwgdGhlIGl0ZW0gaXMgY29uc2lkZXJlZCBmb3VuZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBGaW5kPFQ+KGFycmF5OiBUW10sIGZvdW5kQnk6IChpdGVtOiBUKSA9PiBib29sZWFuKTogVCB7XHJcbiAgICAgICAgaWYgKCFhcnJheSB8fCAhZm91bmRCeSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSBhcnJheS5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBpdGVtQ3VyOiBUID0gYXJyYXlbaV07XHJcbiAgICAgICAgICAgIGlmIChmb3VuZEJ5KGl0ZW1DdXIpICkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1DdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBAcmV0dXJucyBlbXB0eSBhcnJheSB3aGVuIG5vdGhpbmcgZm91bmQsIG90aGVyd2lzZSBhcnJheSB3aXRoIGZvdW5kIGl0ZW1zXHJcbiAgICBwdWJsaWMgc3RhdGljIEZpbmRBbGw8VD4oYXJyYXk6IFRbXSwgZm91bmRCeTogKGl0ZW06IFQpID0+IGJvb2xlYW4pOiBUW10ge1xyXG4gICAgICAgIGNvbnN0IGFuc3dlcjogVFtdID0gW107XHJcbiAgICAgICAgaWYgKCFhcnJheSB8fCAhZm91bmRCeSkge1xyXG4gICAgICAgICAgICByZXR1cm4gYW5zd2VyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSBhcnJheS5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBpdGVtQ3VyOiBUID0gYXJyYXlbaV07XHJcbiAgICAgICAgICAgIGlmIChmb3VuZEJ5KGl0ZW1DdXIpKSB7XHJcbiAgICAgICAgICAgICAgICBhbnN3ZXIucHVzaChpdGVtQ3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYW5zd2VyO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHJldHVybnMgYSBzaW1wbGUgY2xvbmUgb2YgZ2l2ZW4gYXJyYXksIHVzaW5nIGFycmF5LnNsaWNlKDApXHJcbiAgICBwdWJsaWMgc3RhdGljIENsb25lQXJyYXk8VD4oYXJyYXk6IFRbXSk6IFRbXSB7XHJcbiAgICAgICAgbGV0IGFuc3dlcjogVFtdID0gW107XHJcblxyXG4gICAgICAgIGlmIChhcnJheSkge1xyXG4gICAgICAgICAgICBhbnN3ZXIgPSBhcnJheS5zbGljZSgwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBhbnN3ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgJ3NlbWkgZGVlcCBjbG9uZScgb2YgZ2l2ZW4gYXJyYXkuIEl0cyBmaXJzdC1sZXZlbCBtZW1iZXJzIGFyZSBvYmplY3Qtc2hhbGxvdy1jbG9uZWQgKG9wdGlvbmFsbHkgd2l0aCBhIHN0cm9uZ2x5IHR5cGVkIGNvbnN0cnVjdG9yKSxcclxuICAgICAqIG9yIGp1c3QgYXMgcGxhaW4gb2JqZWN0IChzZWUgcGFyYW0gYXJyYXlJdGVtc0NsYXNzKS5cclxuICAgICAqIEBwYXJhbSBhcnJheVxyXG4gICAgICogQHBhcmFtIGFycmF5SXRlbXNDbGFzcyBJZiBwcm92aWRlZCwgdGhlIGNsb25lZCBhcnJheSdzIGZpcnN0LWxldmVsIGl0ZW1zIHdpbGwgYmUgc3Ryb25nbHkgdHlwZWQgdG8gLyBjb25zdHJ1Y3RlZCBhcyB0aGlzIGNsYXNzLiBPdGhlcndpc2VcclxuICAgICAqIGl0J2xsIGJlIGEgcGxhaW4gb2JqZWN0LlxyXG4gICAgICogQHBhcmFtIGRlZXBDbG9uZSBTZXQgdG8gdHJ1ZSBpZiBhcnJheSBpdGVtcyBjb250YWluIEZVTkNUSU9OUyB0aGF0IG5lZWQgdG8gYmUgY2xvbmVkLi5cclxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gc2VtaS1kZWVwIGNsb25lIG9mIGdpdmVuIGFycmF5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgQ2xvbmVBcnJheUFuZEl0c0l0ZW1zPFQ+KGFycmF5OiBUW10sIGFycmF5SXRlbXNDbGFzcz86IGFueSwgZGVlcENsb25lOiBib29sZWFuID0gZmFsc2UpOiBUW10ge1xyXG4gICAgICAgIGNvbnN0IGNsb25lQXJyYXk6IFRbXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAoYXJyYXkpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSBhcnJheS5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRlZXBDbG9uZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNsb25lQXJyYXkucHVzaChPYmplY3RVdGlscy5HZXREZWVwQ2xvbmUoYXJyYXlbaV0pKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2xvbmVBcnJheS5wdXNoKE9iamVjdFV0aWxzLkdldFNoYWxsb3dDbG9uZShhcnJheVtpXSwgYXJyYXlJdGVtc0NsYXNzKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY2xvbmVBcnJheTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgZWxlbWVudCBhdCBnaXZlbiBpbmRleCBmcm9tIGdpdmVuIGFycmF5LiBEb2Vzbid0IGp1c3Qgc2V0IGl0IHRvIG51bGwgbGlrZSBKYXZhU2NyaXB0cyBzdGFuZGFyZCAnZGVsZXRlJyBkb2VzLCBidXQgcmVhbGx5XHJcbiAgICAgKiByZW1vdmVzIHRoZSBlbGVtZW50IHVzaW5nIHNwbGljZSgpLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxyXG4gICAgICogQHBhcmFtIHthbnlbXX0gYXJyYXkgaW4tb3V0XHJcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgZWxlbWVudCBvbiBnaXZlbiBpbmRleCBpcyBzdWNjZXNmdWxseSByZW1vdmVkIGZyb20gZ2l2ZW4gYXJyYXkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgUmVtb3ZlRWxlbWVudEF0SW5kZXgoaW5kZXg6IG51bWJlciwgYXJyYXk6IGFueVtdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKE51bWJlclV0aWxzLklzTmFOKGluZGV4KSB8fCBpbmRleCA8IDAgfHwgIUFycmF5LmlzQXJyYXkoYXJyYXkpIHx8IGFycmF5Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoaW5kZXggaW4gYXJyYXkpIHtcclxuICAgICAgICAgICAgYXJyYXkuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgZ2l2ZW4gZWxlbWVudCBmcm9tIGdpdmVuIGFycmF5LiBEb2Vzbid0IGp1c3Qgc2V0IGl0IHRvIG51bGwgbGlrZSBKYXZhU2NyaXB0cyBzdGFuZGFyZCAnZGVsZXRlJyBkb2VzLCBidXQgcmVhbGx5IHJlbW92ZXMgdGhlXHJcbiAgICAgKiBlbGVtZW50IHVzaW5nIHNwbGljZSgpLiBBbHNvIHdvcmtzIG9uIGFzc29jaWF0aXZlIGFycmF5cy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge1R9IGVsZW1lbnQgVGhlIGVsZW1lbnQgdG8gcmVtb3ZlLlxyXG4gICAgICogQHBhcmFtIHtUW119IGFycmF5IFRoZSBhcnJheSB0byByZW1vdmUgdGhlIGVsZW1lbnQgZnJvbS5cclxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmZiBnaXZlbiBlbGVtZW50IHdhcyB0cnVseSBzdWNjZXNzZnVsbHkgcmVtb3ZlZCBmcm9tIGdpdmVuIGFycmF5LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIFJlbW92ZUVsZW1lbnQ8VD4oZWxlbWVudDogVCwgYXJyYXk6IFRbXSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcnJheSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IGFycmF5LmluZGV4T2YoZWxlbWVudCk7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5VXRpbHMuUmVtb3ZlRWxlbWVudEF0SW5kZXgoaW5kZXgsIGFycmF5KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDaGVja3MgaWYgZ2l2ZW4gYXJyYXkgaXMgZGVmaW5lZCwgYW5kIGlzIGFuIGFycmF5LCBhbmQgaGFzIGxlbmd0aCA+IDAsIGFuZCwgb3B0aW9uYWxseSBjaGVja3MgdGhhdCB0aGUgZmlyc3QgZWxlbWVudCBpcyBvZiB0eXBlIGdpdmVuIGNsYXp6LlxyXG4gICAgcHVibGljIHN0YXRpYyBJc0FycmF5V2l0aEVsZW1lbnRzPFQ+KGFycmF5VG9DaGVjazogVFtdLCBjbGFzc0l0ZW1zTXVzdEJlSW5zdGFuY2VPZj86IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChpc05pbGwoYXJyYXlUb0NoZWNrKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhcnJheVRvQ2hlY2spICYmIGFycmF5VG9DaGVjay5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGlmIChjbGFzc0l0ZW1zTXVzdEJlSW5zdGFuY2VPZikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFycmF5VG9DaGVja1swXSBpbnN0YW5jZW9mIGNsYXNzSXRlbXNNdXN0QmVJbnN0YW5jZU9mO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlbW92ZXMgYWxsIGVsZW1lbnRzIGZyb20gZ2l2ZW4gYXJyYXkgZm9yIHdoaWNoIGdpdmVuIGZpbHRlciBmdW5jdGlvbiBob2xkcyB0cnVlLiBSZXR1cm5zIHRydWUgaWYgYXQgbGVhc3Qgb25lIHJlbW92ZWQsIGVsc2UgZmFsc2UuXHJcbiAgICBwdWJsaWMgc3RhdGljIFJlbW92ZUVsZW1lbnRzQnlGaWx0ZXIoYXJyYXk6IGFueVtdLCBmaWx0ZXJGdW5jdGlvbjogKGl0ZW06IGFueSkgPT4gYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghQXJyYXlVdGlscy5Jc0FycmF5V2l0aEVsZW1lbnRzKGFycmF5KSB8fCAhZmlsdGVyRnVuY3Rpb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGF0TGVhc3RPbmVSZW1vdmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGNvbnN0IGxlbjogbnVtYmVyID0gYXJyYXkubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IGxlbiAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW06IGFueSA9IGFycmF5W2ldO1xyXG4gICAgICAgICAgICBpZiAoZmlsdGVyRnVuY3Rpb24uY2FsbCh0aGlzLCBpdGVtKSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgYXJyYXkuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgICAgYXRMZWFzdE9uZVJlbW92ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gYXRMZWFzdE9uZVJlbW92ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBNb3ZlRWxlbWVudDxUPihlbGVtZW50OiBULCB0b0luZGV4OiBudW1iZXIsIGFycmF5OiBUW10pOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXkpIHx8IGlzTmlsbCh0b0luZGV4KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBmcm9tSW5kZXg6IG51bWJlciA9IGFycmF5LmluZGV4T2YoZWxlbWVudCk7XHJcbiAgICAgICAgY29uc3QgdG9JbmRleENvcnJlY3RlZDogbnVtYmVyID0gTnVtYmVyVXRpbHMuR2V0TmVhcmVzdE51bWJlcldpdGhpbkJvdW5kcyh0b0luZGV4LCAwLCBhcnJheS5sZW5ndGggLSAxKTtcclxuICAgICAgICBpZiAoZnJvbUluZGV4ID09PSAtMSB8fCBhcnJheVt0b0luZGV4Q29ycmVjdGVkXSA9PT0gZWxlbWVudCkge1xyXG4gICAgICAgICAgICAvLyBlbGVtZW50IGRpZCBub3QgZXhpc3QgaW4gZ2l2ZW4gYXJyYXksIG9yIGFscmVhZHkgZXhpc3RlZCBvbiBnaXZlbiB0b0luZGV4XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYXJyYXkuc3BsaWNlKHRvSW5kZXhDb3JyZWN0ZWQsIDAsIGFycmF5LnNwbGljZShmcm9tSW5kZXgsIDEpWzBdKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQUkU6IGVsZW1lbnRzIGV4aXN0cyBpbiBnaXZlbiBhcnJheS4gUE9TVDogZ2l2ZW4gZWxlbWVudFRvUGxhY2UgaGFzIGEgbG93ZXIgaW5kZXggdGhhbiBnaXZlbiBhZnRlclRoaXNFbGVtZW50LiBBcnJheSBpcyBpbi1vdXQgbWFuaXB1bGF0ZWQuXHJcbiAgICBwdWJsaWMgc3RhdGljIFBsYWNlRWxlbWVudEFmdGVyT3RoZXIoYXJyYXk6IGFueVtdLCBlbGVtZW50VG9QbGFjZTogYW55LCBhZnRlclRoaXNFbGVtZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoYXJyYXkpIHtcclxuICAgICAgICAgICAgY29uc3QgYWZ0ZXJUaGlzRWxJZHg6IG51bWJlciA9IGFycmF5LmluZGV4T2YoYWZ0ZXJUaGlzRWxlbWVudCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsVG9QbGFjZUlkeDogbnVtYmVyID0gYXJyYXkuaW5kZXhPZihlbGVtZW50VG9QbGFjZSk7XHJcbiAgICAgICAgICAgIGlmIChhZnRlclRoaXNFbElkeCA+PSBlbFRvUGxhY2VJZHgpIHtcclxuICAgICAgICAgICAgICAgIEFycmF5VXRpbHMuTW92ZUVsZW1lbnQoZWxlbWVudFRvUGxhY2UsIGFmdGVyVGhpc0VsSWR4ICsgMSwgYXJyYXkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ // @returns true iff given value equals null or equals undefined
2
+ export function isNill(value) {
3
+ return value === null || value === undefined;
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbmlsbC5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi91dGlscy9pcy1uaWxsLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQVU7SUFDN0IsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEByZXR1cm5zIHRydWUgaWZmIGdpdmVuIHZhbHVlIGVxdWFscyBudWxsIG9yIGVxdWFscyB1bmRlZmluZWRcclxuZXhwb3J0IGZ1bmN0aW9uIGlzTmlsbCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcclxufSJdfQ==
@@ -0,0 +1,64 @@
1
+ // Static utility functions holder related to strings.
2
+ export class StringUtils {
3
+ /**
4
+ * Returns a new string where given placeholder in given source string are replaced by given replacement texts.
5
+ *
6
+ * Example usage:
7
+ *
8
+ * source = "ABCDABCD"
9
+ * placeholder = "BC"
10
+ * replacementTexts = "Z", "Z" (REST arguments)
11
+ * OUTPUT = "AZDAZD"
12
+ *
13
+ * @param {string} source
14
+ * @param {string} placeholder
15
+ * @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.
16
+ * If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.
17
+ */
18
+ static ReplaceOccurrencesIn(source, placeholder, ...replacementTexts) {
19
+ // parameter guards
20
+ if (!(source)) {
21
+ return undefined;
22
+ }
23
+ if (!placeholder || replacementTexts.length === 0) {
24
+ return source;
25
+ }
26
+ let outString = source;
27
+ // one replacementText means replace for all
28
+ if (replacementTexts.length === 1) {
29
+ // "g" is the g flag to replace globally
30
+ outString = outString.replace(placeholder, replacementTexts[0]);
31
+ }
32
+ else {
33
+ // replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)
34
+ for (let i = 0, len = replacementTexts.length; i < len; i++) {
35
+ outString = outString.replace(placeholder, replacementTexts[i]);
36
+ }
37
+ }
38
+ return outString;
39
+ }
40
+ // Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.
41
+ static ParseString(arg, defaultValue = "") {
42
+ if (!StringUtils.IsString(arg)) {
43
+ if (arg && typeof arg.toString === "function") {
44
+ arg = arg.toString();
45
+ }
46
+ else {
47
+ arg = defaultValue;
48
+ }
49
+ }
50
+ return arg;
51
+ }
52
+ static IsString(str) {
53
+ return typeof str === 'string';
54
+ }
55
+ // Returns whether given str is a string and has a length > 0.
56
+ static IsStringWithLength(str) {
57
+ return str && StringUtils.IsString(str) && str.length > 0;
58
+ }
59
+ // Returns given string, escaped for use as string literal in regular expressions.
60
+ static _escapeRegExp(str) {
61
+ return str; // .replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^$\|]/g, "\\$&");
62
+ }
63
+ }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3V0aWxzL3N0cmluZy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsTUFBTSxPQUFPLFdBQVc7SUFFdEI7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSSxNQUFNLENBQUMsb0JBQW9CLENBQUMsTUFBYyxFQUFFLFdBQW1CLEVBQUUsR0FBRyxnQkFBMEI7UUFDbkcsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2IsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxJQUFJLENBQUMsV0FBVyxJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDakQsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELElBQUksU0FBUyxHQUFXLE1BQU0sQ0FBQztRQUMvQiw0Q0FBNEM7UUFDNUMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2pDLHdDQUF3QztZQUN4QyxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqRTthQUFNO1lBQ0wsb0dBQW9HO1lBQ3BHLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0UsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakU7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCx5SEFBeUg7SUFDbEgsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFRLEVBQUUsZUFBdUIsRUFBRTtRQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM5QixJQUFJLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO2dCQUM3QyxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLEdBQUcsR0FBRyxZQUFZLENBQUM7YUFDcEI7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBUTtRQUM3QixPQUFPLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsOERBQThEO0lBQ3ZELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFXO1FBQzFDLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGtGQUFrRjtJQUMxRSxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQVc7UUFDdEMsT0FBTyxHQUFHLENBQUMsQ0FBQSwwREFBMEQ7SUFDdkUsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU3RhdGljIHV0aWxpdHkgZnVuY3Rpb25zIGhvbGRlciByZWxhdGVkIHRvIHN0cmluZ3MuXHJcbmV4cG9ydCBjbGFzcyBTdHJpbmdVdGlscyB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYSBuZXcgc3RyaW5nIHdoZXJlIGdpdmVuIHBsYWNlaG9sZGVyIGluIGdpdmVuIHNvdXJjZSBzdHJpbmcgYXJlIHJlcGxhY2VkIGJ5IGdpdmVuIHJlcGxhY2VtZW50IHRleHRzLlxyXG4gICAqXHJcbiAgICogRXhhbXBsZSB1c2FnZTpcclxuICAgKlxyXG4gICAqIHNvdXJjZSA9IFwiQUJDREFCQ0RcIlxyXG4gICAqIHBsYWNlaG9sZGVyID0gXCJCQ1wiXHJcbiAgICogcmVwbGFjZW1lbnRUZXh0cyA9IFwiWlwiLCBcIlpcIiAoUkVTVCBhcmd1bWVudHMpXHJcbiAgICogT1VUUFVUID0gXCJBWkRBWkRcIlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwbGFjZWhvbGRlclxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZXBsYWNlbWVudFRleHRzIElmIG9ubHkgb25lIGlzIGdpdmVuLCB0aGlzIGZ1bmN0aW9uIHJlcGxhY2VzIGFsbCBwbGFjZWhvbGRlcnMgd2l0aCB0aGF0IHNpbmdsZSByZXBsYWNlbWVudFRleHQuXHJcbiAgICogSWYgbW9yZSBhcmUgZ2l2ZW4sIHBsYWNlaG9sZGVycyB3aXRob3V0IGEgY29ycmVzcG9uZGluZyByZXBsYWNlbWVudFRleHQgd2lsbCByZW1haW4gdGhlaXIgb3JpZ2luYWwgcGxhY2Vob2xkZXIgY2hhcmFjdGVycy5cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIFJlcGxhY2VPY2N1cnJlbmNlc0luKHNvdXJjZTogc3RyaW5nLCBwbGFjZWhvbGRlcjogc3RyaW5nLCAuLi5yZXBsYWNlbWVudFRleHRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XHJcbiAgICAvLyBwYXJhbWV0ZXIgZ3VhcmRzXHJcbiAgICBpZiAoIShzb3VyY2UpKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIXBsYWNlaG9sZGVyIHx8IHJlcGxhY2VtZW50VGV4dHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBzb3VyY2U7XHJcbiAgICB9XHJcbiAgICBsZXQgb3V0U3RyaW5nOiBzdHJpbmcgPSBzb3VyY2U7XHJcbiAgICAvLyBvbmUgcmVwbGFjZW1lbnRUZXh0IG1lYW5zIHJlcGxhY2UgZm9yIGFsbFxyXG4gICAgaWYgKHJlcGxhY2VtZW50VGV4dHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIC8vIFwiZ1wiIGlzIHRoZSBnIGZsYWcgdG8gcmVwbGFjZSBnbG9iYWxseVxyXG4gICAgICBvdXRTdHJpbmcgPSBvdXRTdHJpbmcucmVwbGFjZShwbGFjZWhvbGRlciwgcmVwbGFjZW1lbnRUZXh0c1swXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyByZXBsYWNlIG9jY3VyZW5jZSBpIGJ5IHJlcGxhY2VtZW50VGV4dHNbaV0sIG9uZSBhdCBhIHRpbWUgaW4gbG9vcCAodGhlcmUgbWlnaHQgYmUgYSBmYXN0ZXIgd2F5Li4pXHJcbiAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gcmVwbGFjZW1lbnRUZXh0cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgIG91dFN0cmluZyA9IG91dFN0cmluZy5yZXBsYWNlKHBsYWNlaG9sZGVyLCByZXBsYWNlbWVudFRleHRzW2ldKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG91dFN0cmluZztcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgdGhlIGdpdmVuIGFyZ3VtZW50IGFzIGEgc3RyaW5nLiBSZXR1cm5zIGdpdmVuIGRlZmF1bHRWYWx1ZSBpZiBjb252ZXJzaW9uIG9mIGFyZ3VtZW50IHRvIHN0cmluZyB3YXMgaW1wb3NzaWJsZS5cclxuICBwdWJsaWMgc3RhdGljIFBhcnNlU3RyaW5nKGFyZzogYW55LCBkZWZhdWx0VmFsdWU6IHN0cmluZyA9IFwiXCIpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFTdHJpbmdVdGlscy5Jc1N0cmluZyhhcmcpKSB7XHJcbiAgICAgIGlmIChhcmcgJiYgdHlwZW9mIGFyZy50b1N0cmluZyA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgYXJnID0gYXJnLnRvU3RyaW5nKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYXJnID0gZGVmYXVsdFZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXJnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBJc1N0cmluZyhzdHI6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnO1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJucyB3aGV0aGVyIGdpdmVuIHN0ciBpcyBhIHN0cmluZyBhbmQgaGFzIGEgbGVuZ3RoID4gMC5cclxuICBwdWJsaWMgc3RhdGljIElzU3RyaW5nV2l0aExlbmd0aChzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHN0ciAmJiBTdHJpbmdVdGlscy5Jc1N0cmluZyhzdHIpICYmIHN0ci5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJucyBnaXZlbiBzdHJpbmcsIGVzY2FwZWQgZm9yIHVzZSBhcyBzdHJpbmcgbGl0ZXJhbCBpbiByZWd1bGFyIGV4cHJlc3Npb25zLlxyXG4gIHByaXZhdGUgc3RhdGljIF9lc2NhcGVSZWdFeHAoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN0cjsvLyAucmVwbGFjZSgvW1xcLVxcW1xcXVxcL1xce1xcfVxcKFxcKVxcKlxcK1xcP1xcLlxcXFxcXF4kXFx8XS9nLCBcIlxcXFwkJlwiKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Public API Surface of sharedcomponents
3
+ */
4
+ export * from './lib/components/docsign/docsign.component';
5
+ export * from './lib/components/docsign/docsign.module';
6
+ export * from './lib/components/stock/stock.component';
7
+ export * from './lib/components/stock/stock.module';
8
+ export * from './lib/components/send-method-dialog/send-method-dialog.component';
9
+ export * from './lib/components/send-method-dialog/send-method-dialog.module';
10
+ export * from './lib/components/key-pad/key-pad.component';
11
+ export * from './lib/components/key-pad/key-pad.module';
12
+ export * from './lib/components/layout-switcher/layout-switcher.component';
13
+ export * from './lib/components/layout-switcher/layout-switcher.module';
14
+ export * from './lib/components/circular-gauge/co-circular-gauge.component';
15
+ export * from './lib/components/circular-gauge/co-circular-gauge.module';
16
+ export * from './lib/components/linear-gauge/co-linear-gauge.component';
17
+ export * from './lib/components/linear-gauge/co-linear-gauge.module';
18
+ export * from './lib/components/statusbar/statusbar.component';
19
+ export * from './lib/components/statusbar/statusbar.module';
20
+ export * from './lib/service/shared.service';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygc2hhcmVkY29tcG9uZW50c1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZG9jc2lnbi9kb2NzaWduLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZG9jc2lnbi9kb2NzaWduLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvc2VuZC1tZXRob2QtZGlhbG9nLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva2V5LXBhZC9rZXktcGFkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva2V5LXBhZC9rZXktcGFkLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0LXN3aXRjaGVyL2xheW91dC1zd2l0Y2hlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC1zd2l0Y2hlci9sYXlvdXQtc3dpdGNoZXIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaXJjdWxhci1nYXVnZS9jby1jaXJjdWxhci1nYXVnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NpcmN1bGFyLWdhdWdlL2NvLWNpcmN1bGFyLWdhdWdlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGluZWFyLWdhdWdlL2NvLWxpbmVhci1nYXVnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xpbmVhci1nYXVnZS9jby1saW5lYXItZ2F1Z2UubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdGF0dXNiYXIvc3RhdHVzYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RhdHVzYmFyL3N0YXR1c2Jhci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL3NoYXJlZC5zZXJ2aWNlJztcclxuXHJcbiJdfQ==