@colijnit/sharedcomponents 1.0.23 → 1.0.25

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 (293) hide show
  1. package/.browserslistrc +16 -0
  2. package/.editorconfig +16 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/tasks.json +42 -0
  6. package/README.md +11 -8
  7. package/Sharedcomponents.iml +11 -0
  8. package/angular.json +133 -0
  9. package/karma.conf.js +44 -0
  10. package/move-assets.js +14 -0
  11. package/package.json +74 -26
  12. package/projects/sharedcomponents/.browserslistrc +16 -0
  13. package/projects/sharedcomponents/README.md +24 -0
  14. package/projects/sharedcomponents/karma.conf.js +44 -0
  15. package/projects/sharedcomponents/ng-package.json +17 -0
  16. package/projects/sharedcomponents/package.json +18 -0
  17. package/projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts +8 -0
  18. package/projects/sharedcomponents/src/lib/assets/icons/angle_left_solid.svg +1 -0
  19. package/projects/sharedcomponents/src/lib/assets/icons/angle_right_solid.svg +1 -0
  20. package/projects/sharedcomponents/src/lib/assets/icons/arrow_fat_right.svg +1 -0
  21. package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_left.svg +8 -0
  22. package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_right.svg +4 -0
  23. package/projects/sharedcomponents/src/lib/assets/icons/bring_forward_regular.svg +1 -0
  24. package/projects/sharedcomponents/src/lib/assets/icons/check_round.svg +1 -0
  25. package/projects/sharedcomponents/src/lib/assets/icons/delete_left_regular.svg +1 -0
  26. package/projects/sharedcomponents/src/lib/assets/icons/delivery_truck.svg +12 -0
  27. package/projects/sharedcomponents/src/lib/assets/icons/email.svg +5 -0
  28. package/projects/sharedcomponents/src/lib/assets/icons/pdf.svg +15 -0
  29. package/projects/sharedcomponents/src/lib/assets/icons/print.svg +10 -0
  30. package/projects/sharedcomponents/src/lib/assets/icons/signature_field.svg +9 -0
  31. package/projects/sharedcomponents/src/lib/assets/icons/xml.svg +9 -0
  32. package/projects/sharedcomponents/src/lib/components/circular-gauge/co-circular-gauge.component.ts +139 -0
  33. package/projects/sharedcomponents/src/lib/components/circular-gauge/co-circular-gauge.module.ts +19 -0
  34. package/{lib → projects/sharedcomponents/src/lib}/components/circular-gauge/style/_layout.scss +0 -0
  35. package/{lib → projects/sharedcomponents/src/lib}/components/circular-gauge/style/_material-definition.scss +0 -0
  36. package/{lib → projects/sharedcomponents/src/lib}/components/circular-gauge/style/_theme.scss +0 -0
  37. package/{lib → projects/sharedcomponents/src/lib}/components/circular-gauge/style/material.scss +0 -0
  38. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts +68 -0
  39. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts +31 -0
  40. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts +67 -0
  41. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts +48 -0
  42. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts +81 -0
  43. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts +265 -0
  44. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts +38 -0
  45. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts +50 -0
  46. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts +46 -0
  47. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts +65 -0
  48. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts +38 -0
  49. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts +63 -0
  50. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts +46 -0
  51. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/style/_layout.scss +443 -0
  52. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/style/_material-definition.scss +11 -0
  53. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/style/_theme.scss +7 -0
  54. package/{lib/components/layout-switcher → projects/sharedcomponents/src/lib/components/date-planning/component/agenda}/style/material.scss +0 -0
  55. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts +37 -0
  56. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts +52 -0
  57. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts +124 -0
  58. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts +201 -0
  59. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts +35 -0
  60. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/style/_layout.scss +167 -0
  61. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/style/_material-definition.scss +7 -0
  62. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/style/_theme.scss +7 -0
  63. package/{lib/components/linear-gauge → projects/sharedcomponents/src/lib/components/date-planning/component/calendar}/style/material.scss +0 -0
  64. package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts +133 -0
  65. package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts +56 -0
  66. package/projects/sharedcomponents/src/lib/components/date-planning/style/_layout.scss +47 -0
  67. package/projects/sharedcomponents/src/lib/components/date-planning/style/_material-definition.scss +0 -0
  68. package/projects/sharedcomponents/src/lib/components/date-planning/style/_theme.scss +7 -0
  69. package/projects/sharedcomponents/src/lib/components/date-planning/style/material.scss +5 -0
  70. package/projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts +82 -0
  71. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/_layout.scss +0 -0
  72. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/_material-definition.scss +0 -0
  73. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/_theme.scss +0 -0
  74. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/material.scss +0 -0
  75. package/projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts +50 -0
  76. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/_layout.scss +0 -0
  77. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/_material-definition.scss +0 -0
  78. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/_theme.scss +0 -0
  79. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/material.scss +0 -0
  80. package/projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts +252 -0
  81. package/projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts +22 -0
  82. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/_layout.scss +0 -0
  83. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/_material-definition.scss +0 -0
  84. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/_theme.scss +0 -0
  85. package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/material.scss +0 -0
  86. package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts +205 -0
  87. package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts +19 -0
  88. package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/_layout.scss +0 -0
  89. package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/_material-definition.scss +0 -0
  90. package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/_theme.scss +0 -0
  91. package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/material.scss +0 -0
  92. package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts +98 -0
  93. package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts +21 -0
  94. package/{lib → projects/sharedcomponents/src/lib}/components/layout-switcher/style/_layout.scss +0 -0
  95. package/{lib → projects/sharedcomponents/src/lib}/components/layout-switcher/style/_material-definition.scss +0 -0
  96. package/{lib → projects/sharedcomponents/src/lib}/components/layout-switcher/style/_theme.scss +0 -0
  97. package/projects/sharedcomponents/src/lib/components/layout-switcher/style/material.scss +5 -0
  98. package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts +56 -0
  99. package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts +17 -0
  100. package/{lib → projects/sharedcomponents/src/lib}/components/linear-gauge/style/_layout.scss +0 -0
  101. package/{lib → projects/sharedcomponents/src/lib}/components/linear-gauge/style/_material-definition.scss +0 -0
  102. package/{lib → projects/sharedcomponents/src/lib}/components/linear-gauge/style/_theme.scss +0 -0
  103. package/projects/sharedcomponents/src/lib/components/linear-gauge/style/material.scss +5 -0
  104. package/projects/sharedcomponents/src/lib/components/send-method-dialog/enums/send-option.ts +6 -0
  105. package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts +342 -0
  106. package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts +33 -0
  107. package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/_layout.scss +0 -0
  108. package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/_material-definition.scss +0 -0
  109. package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/_theme.scss +0 -0
  110. package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/material.scss +0 -0
  111. package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts +97 -0
  112. package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts +21 -0
  113. package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/_layout.scss +0 -0
  114. package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/_material-definition.scss +0 -0
  115. package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/_theme.scss +0 -0
  116. package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/material.scss +0 -0
  117. package/projects/sharedcomponents/src/lib/components/stock/stock-in-order/stock-in-order.component.ts +0 -0
  118. package/projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts +64 -0
  119. package/projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts +384 -0
  120. package/projects/sharedcomponents/src/lib/components/stock/stock-location/stock-location.component.ts +84 -0
  121. package/{lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts → projects/sharedcomponents/src/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.ts} +2 -2
  122. package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts +73 -0
  123. package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts +153 -0
  124. package/projects/sharedcomponents/src/lib/components/stock/stock.component.ts +165 -0
  125. package/projects/sharedcomponents/src/lib/components/stock/stock.module.ts +51 -0
  126. package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/_layout.scss +0 -0
  127. package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/_material-definition.scss +0 -0
  128. package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/_theme.scss +0 -0
  129. package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/material.scss +0 -0
  130. package/projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts +6 -0
  131. package/{lib/enum/icon.enum.d.ts → projects/sharedcomponents/src/lib/enum/icon.enum.ts} +5 -2
  132. package/projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts +30 -0
  133. package/projects/sharedcomponents/src/lib/enum/language-code.enum.ts +6 -0
  134. package/projects/sharedcomponents/src/lib/enum/month.enum.ts +15 -0
  135. package/projects/sharedcomponents/src/lib/enum/time-period.enum.ts +9 -0
  136. package/projects/sharedcomponents/src/lib/factory/business-object-factory.ts +120 -0
  137. package/projects/sharedcomponents/src/lib/factory/decorators/boolean.decorator.ts +113 -0
  138. package/projects/sharedcomponents/src/lib/factory/decorators/complex-array.decorator.ts +61 -0
  139. package/projects/sharedcomponents/src/lib/factory/decorators/complex-field.decorator.ts +63 -0
  140. package/projects/sharedcomponents/src/lib/factory/decorators/date-field.decorator.ts +41 -0
  141. package/projects/sharedcomponents/src/lib/factory/decorators/string-number.decorator.ts +48 -0
  142. package/projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts +6 -0
  143. package/projects/sharedcomponents/src/lib/model/agenda-event.model.ts +17 -0
  144. package/projects/sharedcomponents/src/lib/model/agenda-null-objects.ts +11 -0
  145. package/projects/sharedcomponents/src/lib/model/business-object.ts +85 -0
  146. package/projects/sharedcomponents/src/lib/model/constant/all-months.ts +17 -0
  147. package/projects/sharedcomponents/src/lib/model/date-range.ts +10 -0
  148. package/projects/sharedcomponents/src/lib/model/day.model.ts +9 -0
  149. package/projects/sharedcomponents/src/lib/model/icon-svg.ts +18 -0
  150. package/projects/sharedcomponents/src/lib/model/month.model.ts +11 -0
  151. package/projects/sharedcomponents/src/lib/model/time-window.bo.ts +21 -0
  152. package/projects/sharedcomponents/src/lib/model/week.model.ts +5 -0
  153. package/projects/sharedcomponents/src/lib/model/weekday.model.ts +17 -0
  154. package/projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts +14 -0
  155. package/projects/sharedcomponents/src/lib/pipe/master-pipes.ts +7 -0
  156. package/projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts +14 -0
  157. package/projects/sharedcomponents/src/lib/service/dictionary.service.ts +86 -0
  158. package/projects/sharedcomponents/src/lib/service/icon-cache.service.ts +51 -0
  159. package/projects/sharedcomponents/src/lib/service/options.service.ts +66 -0
  160. package/projects/sharedcomponents/src/lib/service/shared-connector.service.ts +258 -0
  161. package/projects/sharedcomponents/src/lib/service/shared-initializer.service.ts +29 -0
  162. package/projects/sharedcomponents/src/lib/service/shared.service.ts +21 -0
  163. package/projects/sharedcomponents/src/lib/service/stock.service.ts +95 -0
  164. package/{lib → projects/sharedcomponents/src/lib}/style/_mixin.scss +0 -0
  165. package/{lib → projects/sharedcomponents/src/lib}/style/_variables.scss +0 -0
  166. package/{lib → projects/sharedcomponents/src/lib}/style/sharedcomponents-globals.scss +0 -0
  167. package/projects/sharedcomponents/src/lib/utils/array-utils.ts +202 -0
  168. package/projects/sharedcomponents/src/lib/utils/calendar.utils.ts +75 -0
  169. package/projects/sharedcomponents/src/lib/utils/date-utils.ts +302 -0
  170. package/projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts +4 -0
  171. package/projects/sharedcomponents/src/lib/utils/is-nill.function.ts +4 -0
  172. package/projects/sharedcomponents/src/lib/utils/string-utils.ts +67 -0
  173. package/{public-api.d.ts → projects/sharedcomponents/src/public-api.ts} +5 -0
  174. package/projects/sharedcomponents/src/test.ts +27 -0
  175. package/projects/sharedcomponents/tsconfig.lib.json +18 -0
  176. package/projects/sharedcomponents/tsconfig.lib.prod.json +10 -0
  177. package/projects/sharedcomponents/tsconfig.spec.json +17 -0
  178. package/script/merge-icons.js +39 -0
  179. package/src/app/app.component.scss +9 -0
  180. package/src/app/app.component.spec.ts +31 -0
  181. package/src/app/app.component.ts +156 -0
  182. package/src/app/app.module.ts +60 -0
  183. package/src/assets/.gitkeep +0 -0
  184. package/src/environments/environment.prod.ts +3 -0
  185. package/src/environments/environment.ts +16 -0
  186. package/src/favicon.ico +0 -0
  187. package/src/index.html +13 -0
  188. package/src/main.ts +12 -0
  189. package/src/polyfills.ts +53 -0
  190. package/src/styles.scss +40 -0
  191. package/src/test.ts +26 -0
  192. package/tsconfig.app.json +15 -0
  193. package/tsconfig.json +65 -0
  194. package/tsconfig.spec.json +18 -0
  195. package/bundles/colijnit-sharedcomponents.umd.js +0 -3701
  196. package/bundles/colijnit-sharedcomponents.umd.js.map +0 -1
  197. package/colijnit-sharedcomponents-1.0.23.tgz +0 -0
  198. package/colijnit-sharedcomponents.d.ts +0 -16
  199. package/colijnit-sharedcomponents.metadata.json +0 -1
  200. package/esm2015/colijnit-sharedcomponents.js +0 -17
  201. package/esm2015/lib/assets/dictionary/text.properties.js +0 -11
  202. package/esm2015/lib/components/circular-gauge/co-circular-gauge.component.js +0 -125
  203. package/esm2015/lib/components/circular-gauge/co-circular-gauge.module.js +0 -21
  204. package/esm2015/lib/components/docsign/component/signature/signature.component.js +0 -75
  205. package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +0 -44
  206. package/esm2015/lib/components/docsign/docsign.component.js +0 -225
  207. package/esm2015/lib/components/docsign/docsign.module.js +0 -23
  208. package/esm2015/lib/components/key-pad/key-pad.component.js +0 -191
  209. package/esm2015/lib/components/key-pad/key-pad.module.js +0 -21
  210. package/esm2015/lib/components/layout-switcher/layout-switcher.component.js +0 -74
  211. package/esm2015/lib/components/layout-switcher/layout-switcher.module.js +0 -21
  212. package/esm2015/lib/components/linear-gauge/co-linear-gauge.component.js +0 -55
  213. package/esm2015/lib/components/linear-gauge/co-linear-gauge.module.js +0 -19
  214. package/esm2015/lib/components/send-method-dialog/enums/send-option.js +0 -8
  215. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +0 -309
  216. package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +0 -31
  217. package/esm2015/lib/components/statusbar/statusbar.component.js +0 -81
  218. package/esm2015/lib/components/statusbar/statusbar.module.js +0 -23
  219. package/esm2015/lib/components/stock/stock-information/stock-information.component.js +0 -54
  220. package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +0 -350
  221. package/esm2015/lib/components/stock/stock-location/stock-location.component.js +0 -62
  222. package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +0 -2
  223. package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +0 -68
  224. package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +0 -130
  225. package/esm2015/lib/components/stock/stock.component.js +0 -140
  226. package/esm2015/lib/components/stock/stock.module.js +0 -48
  227. package/esm2015/lib/enum/icon.enum.js +0 -17
  228. package/esm2015/lib/enum/keyboard-code.enum.js +0 -32
  229. package/esm2015/lib/enum/language-code.enum.js +0 -8
  230. package/esm2015/lib/factory/business-object-factory.js +0 -120
  231. package/esm2015/lib/factory/decorators/boolean.decorator.js +0 -102
  232. package/esm2015/lib/factory/decorators/complex-array.decorator.js +0 -55
  233. package/esm2015/lib/factory/decorators/complex-field.decorator.js +0 -57
  234. package/esm2015/lib/factory/decorators/date-field.decorator.js +0 -36
  235. package/esm2015/lib/factory/decorators/string-number.decorator.js +0 -43
  236. package/esm2015/lib/model/business-object.js +0 -81
  237. package/esm2015/lib/model/icon-svg.js +0 -16
  238. package/esm2015/lib/service/dictionary.service.js +0 -76
  239. package/esm2015/lib/service/icon-cache.service.js +0 -51
  240. package/esm2015/lib/service/options.service.js +0 -71
  241. package/esm2015/lib/service/shared-connector.service.js +0 -278
  242. package/esm2015/lib/service/shared.service.js +0 -30
  243. package/esm2015/lib/service/stock.service.js +0 -95
  244. package/esm2015/lib/utils/array-utils.js +0 -183
  245. package/esm2015/lib/utils/is-nill.function.js +0 -5
  246. package/esm2015/lib/utils/string-utils.js +0 -64
  247. package/esm2015/public-api.js +0 -21
  248. package/fesm2015/colijnit-sharedcomponents.js +0 -3511
  249. package/fesm2015/colijnit-sharedcomponents.js.map +0 -1
  250. package/lib/assets/dictionary/text.properties.d.ts +0 -3
  251. package/lib/components/circular-gauge/co-circular-gauge.component.d.ts +0 -20
  252. package/lib/components/circular-gauge/co-circular-gauge.module.d.ts +0 -2
  253. package/lib/components/docsign/component/signature/signature.component.d.ts +0 -16
  254. package/lib/components/docsign/component/signatures/signatures.component.d.ts +0 -12
  255. package/lib/components/docsign/docsign.component.d.ts +0 -92
  256. package/lib/components/docsign/docsign.module.d.ts +0 -2
  257. package/lib/components/key-pad/key-pad.component.d.ts +0 -36
  258. package/lib/components/key-pad/key-pad.module.d.ts +0 -2
  259. package/lib/components/layout-switcher/layout-switcher.component.d.ts +0 -16
  260. package/lib/components/layout-switcher/layout-switcher.module.d.ts +0 -2
  261. package/lib/components/linear-gauge/co-linear-gauge.component.d.ts +0 -16
  262. package/lib/components/linear-gauge/co-linear-gauge.module.d.ts +0 -2
  263. package/lib/components/send-method-dialog/enums/send-option.d.ts +0 -6
  264. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +0 -62
  265. package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +0 -2
  266. package/lib/components/statusbar/statusbar.component.d.ts +0 -23
  267. package/lib/components/statusbar/statusbar.module.d.ts +0 -2
  268. package/lib/components/stock/stock-information/stock-information.component.d.ts +0 -10
  269. package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +0 -60
  270. package/lib/components/stock/stock-location/stock-location.component.d.ts +0 -15
  271. package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +0 -18
  272. package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +0 -36
  273. package/lib/components/stock/stock.component.d.ts +0 -42
  274. package/lib/components/stock/stock.module.d.ts +0 -2
  275. package/lib/enum/keyboard-code.enum.d.ts +0 -30
  276. package/lib/enum/language-code.enum.d.ts +0 -6
  277. package/lib/factory/business-object-factory.d.ts +0 -23
  278. package/lib/factory/decorators/boolean.decorator.d.ts +0 -43
  279. package/lib/factory/decorators/complex-array.decorator.d.ts +0 -25
  280. package/lib/factory/decorators/complex-field.decorator.d.ts +0 -25
  281. package/lib/factory/decorators/date-field.decorator.d.ts +0 -17
  282. package/lib/factory/decorators/string-number.decorator.d.ts +0 -22
  283. package/lib/model/business-object.d.ts +0 -7
  284. package/lib/model/icon-svg.d.ts +0 -4
  285. package/lib/service/dictionary.service.d.ts +0 -21
  286. package/lib/service/icon-cache.service.d.ts +0 -18
  287. package/lib/service/options.service.d.ts +0 -13
  288. package/lib/service/shared-connector.service.d.ts +0 -43
  289. package/lib/service/shared.service.d.ts +0 -8
  290. package/lib/service/stock.service.d.ts +0 -38
  291. package/lib/utils/array-utils.d.ts +0 -57
  292. package/lib/utils/is-nill.function.d.ts +0 -1
  293. package/lib/utils/string-utils.d.ts +0 -22
@@ -1,120 +0,0 @@
1
- import { ComplexFieldDecorator } from "./decorators/complex-field.decorator";
2
- import { ComplexArrayDecorator } from "./decorators/complex-array.decorator";
3
- import { BooleanTextDecorator } from "./decorators/boolean.decorator";
4
- import { DateFieldFieldDecorator } from "./decorators/date-field.decorator";
5
- import { StringNumberDecorator } from "./decorators/string-number.decorator";
6
- import { isNill } from "../utils/is-nill.function";
7
- import { ArrayUtils } from "../utils/array-utils";
8
- import { BusinessObject } from "../model/business-object";
9
- // Factory service creates businessobjects, using their decorators in the process.
10
- export class BusinessObjectFactory {
11
- constructor() {
12
- }
13
- /**
14
- * Creates and returns a new business data object instance of given class, with all given data properties applied to it in a
15
- * complex-aware style. That is, all properties on given class that are decorated with @ComplexField(..) or @ComplexArray(..) decorators
16
- * become strongly typed business objects, with methods that are usable and such.
17
- *
18
- * @param modelClass
19
- * @param {Object} rawData The object with all (possibly raw/flat/not alive) data to be applied to the created model object
20
- */
21
- makeWithRawBackendData(modelClass, rawData) {
22
- if (!modelClass) {
23
- return undefined;
24
- }
25
- if (typeof modelClass !== typeof BusinessObject) {
26
- return undefined;
27
- }
28
- const model = new modelClass();
29
- this._copyAllPropertiesDecoratorProcessedFrom(rawData, model);
30
- return model;
31
- }
32
- // see makeWithRawBackendData, this is a loop-wrapper around that method
33
- makeBOArrayFromRawBackendDataArray(modelClass, arrayOfRawDatas) {
34
- if (!modelClass) {
35
- return undefined;
36
- }
37
- const trueClientBos = [];
38
- if (arrayOfRawDatas) {
39
- for (let i = 0, len = arrayOfRawDatas.length; i < len; i++) {
40
- trueClientBos.push(this.makeWithRawBackendData(modelClass, arrayOfRawDatas[i]));
41
- }
42
- }
43
- return trueClientBos;
44
- }
45
- instantiateNewBo(modelClass) {
46
- return this.makeWithRawBackendData(modelClass, {});
47
- }
48
- /**
49
- * Applies all properties of given 'source' object to the given 'destination' businessobject, if destination has that property.
50
- * Works with the @ComplexField(), @ComplexArray, @BooleanText, @CoInject and @DateField annotations of given destination model.
51
- *
52
- * @param sourceData Raw data to copy to destination model
53
- * @param {BusinessObject} destinationModel InOut: The annotated businessobject to apply source properties to
54
- */
55
- _copyAllPropertiesDecoratorProcessedFrom(sourceData, destinationModel) {
56
- if (!sourceData || !destinationModel) {
57
- return;
58
- }
59
- // process all source data into destinationModel
60
- for (const srcPropKey in sourceData) {
61
- if (!sourceData.hasOwnProperty(srcPropKey)) {
62
- continue;
63
- }
64
- const srcPropVal = sourceData[srcPropKey];
65
- if (ComplexFieldDecorator.IsComplexField(destinationModel, srcPropKey)) {
66
- const classOfField = ComplexFieldDecorator.GetComplexFieldType(destinationModel, srcPropKey);
67
- destinationModel[srcPropKey] = this.makeWithRawBackendData(classOfField, srcPropVal);
68
- }
69
- else if (ComplexArrayDecorator.IsComplexArray(destinationModel, srcPropKey)) {
70
- const sourceArray = srcPropVal;
71
- if (!sourceArray) {
72
- continue;
73
- }
74
- const classOfArrayItems = ComplexArrayDecorator.GetComplexArrayType(destinationModel, srcPropKey);
75
- const tempArray = [];
76
- for (let i = 0, len = sourceArray.length; i < len; i++) {
77
- tempArray.push(this.makeWithRawBackendData(classOfArrayItems, sourceArray[i]));
78
- }
79
- destinationModel[srcPropKey] = tempArray;
80
- }
81
- else if (BooleanTextDecorator.IsBooleanTextField(destinationModel, srcPropKey)) {
82
- // logical 'true' and 'false' also allowed as incoming values for @BooleanText() properties: then just copy their value
83
- if (typeof srcPropVal === "boolean") {
84
- destinationModel[srcPropKey] = srcPropVal;
85
- // here, it should be a 'J' or 'N' (or 'T' or 'F'): assign the associated boolean value
86
- }
87
- else {
88
- destinationModel[srcPropKey] = BooleanTextDecorator.GetLogicalBooleanValue(srcPropVal);
89
- }
90
- }
91
- else if (DateFieldFieldDecorator.IsDateField(destinationModel, srcPropKey)) {
92
- destinationModel[srcPropKey] = DateFieldFieldDecorator.StringAsDate(srcPropVal);
93
- }
94
- else if (StringNumberDecorator.IsStringNumber(destinationModel, srcPropKey)) {
95
- destinationModel[srcPropKey] = StringNumberDecorator.StringAsNumber(srcPropVal);
96
- }
97
- // non-decorated prop
98
- else {
99
- if (isNill(srcPropVal)) {
100
- destinationModel[srcPropKey] = undefined;
101
- }
102
- else if (Array.isArray(srcPropVal)) {
103
- destinationModel[srcPropKey] = ArrayUtils.CloneArray(srcPropVal);
104
- }
105
- else if (typeof srcPropVal === "object") {
106
- if (srcPropVal instanceof Map) { //just copy the value in case of maps
107
- destinationModel[srcPropKey] = srcPropVal;
108
- }
109
- else {
110
- destinationModel[srcPropKey] = Object.assign({}, srcPropVal);
111
- }
112
- }
113
- else {
114
- destinationModel[srcPropKey] = srcPropVal;
115
- }
116
- }
117
- }
118
- }
119
- }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvZmFjdG9yeS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV4RCxrRkFBa0Y7QUFDbEYsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QjtJQUNBLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksc0JBQXNCLENBQUMsVUFBZSxFQUFFLE9BQWU7UUFDMUQsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNiLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxPQUFPLFVBQVUsS0FBSyxPQUFPLGNBQWMsRUFBRTtZQUM3QyxPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELE1BQU0sS0FBSyxHQUFtQixJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELHdFQUF3RTtJQUNq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QUFDLEdBQUcsdUJBQXVCLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25GO2lCQUFNLElBQUkscUJBQXFCLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxFQUFFO2dCQUMzRSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDbkY7WUFDRCxxQkFBcUI7aUJBQ2hCO2dCQUNELElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUNwQixnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxTQUFTLENBQUM7aUJBQzVDO3FCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDbEMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDcEU7cUJBQU0sSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUU7b0JBQ3ZDLElBQUksVUFBVSxZQUFZLEdBQUcsRUFBRSxFQUFFLHFDQUFxQzt3QkFDbEUsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDO3FCQUM3Qzt5QkFBTTt3QkFDSCxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztxQkFDaEU7aUJBQ0o7cUJBQU07b0JBQ0gsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUM3QzthQUNKO1NBQ0o7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBsZXhGaWVsZERlY29yYXRvcn0gZnJvbSBcIi4vZGVjb3JhdG9ycy9jb21wbGV4LWZpZWxkLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge0NvbXBsZXhBcnJheURlY29yYXRvcn0gZnJvbSBcIi4vZGVjb3JhdG9ycy9jb21wbGV4LWFycmF5LmRlY29yYXRvclwiO1xyXG5pbXBvcnQge0Jvb2xlYW5UZXh0RGVjb3JhdG9yfSBmcm9tIFwiLi9kZWNvcmF0b3JzL2Jvb2xlYW4uZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7RGF0ZUZpZWxkRmllbGREZWNvcmF0b3J9IGZyb20gXCIuL2RlY29yYXRvcnMvZGF0ZS1maWVsZC5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtTdHJpbmdOdW1iZXJEZWNvcmF0b3J9IGZyb20gXCIuL2RlY29yYXRvcnMvc3RyaW5nLW51bWJlci5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtpc05pbGx9IGZyb20gXCIuLi91dGlscy9pcy1uaWxsLmZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7QXJyYXlVdGlsc30gZnJvbSBcIi4uL3V0aWxzL2FycmF5LXV0aWxzXCI7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3R9IGZyb20gXCIuLi9tb2RlbC9idXNpbmVzcy1vYmplY3RcIjtcclxuXHJcbi8vIEZhY3Rvcnkgc2VydmljZSBjcmVhdGVzIGJ1c2luZXNzb2JqZWN0cywgdXNpbmcgdGhlaXIgZGVjb3JhdG9ycyBpbiB0aGUgcHJvY2Vzcy5cclxuZXhwb3J0IGNsYXNzIEJ1c2luZXNzT2JqZWN0RmFjdG9yeSB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgYW5kIHJldHVybnMgYSBuZXcgYnVzaW5lc3MgZGF0YSBvYmplY3QgaW5zdGFuY2Ugb2YgZ2l2ZW4gY2xhc3MsIHdpdGggYWxsIGdpdmVuIGRhdGEgcHJvcGVydGllcyBhcHBsaWVkIHRvIGl0IGluIGFcclxuICAgICAqIGNvbXBsZXgtYXdhcmUgc3R5bGUuIFRoYXQgaXMsIGFsbCBwcm9wZXJ0aWVzIG9uIGdpdmVuIGNsYXNzIHRoYXQgYXJlIGRlY29yYXRlZCB3aXRoIEBDb21wbGV4RmllbGQoLi4pIG9yIEBDb21wbGV4QXJyYXkoLi4pIGRlY29yYXRvcnNcclxuICAgICAqIGJlY29tZSBzdHJvbmdseSB0eXBlZCBidXNpbmVzcyBvYmplY3RzLCB3aXRoIG1ldGhvZHMgdGhhdCBhcmUgdXNhYmxlIGFuZCBzdWNoLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBtb2RlbENsYXNzXHJcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcmF3RGF0YSBUaGUgb2JqZWN0IHdpdGggYWxsIChwb3NzaWJseSByYXcvZmxhdC9ub3QgYWxpdmUpIGRhdGEgdG8gYmUgYXBwbGllZCB0byB0aGUgY3JlYXRlZCBtb2RlbCBvYmplY3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIG1ha2VXaXRoUmF3QmFja2VuZERhdGEobW9kZWxDbGFzczogYW55LCByYXdEYXRhOiBPYmplY3QpOiBCdXNpbmVzc09iamVjdCB7XHJcbiAgICAgICAgaWYgKCFtb2RlbENsYXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgbW9kZWxDbGFzcyAhPT0gdHlwZW9mIEJ1c2luZXNzT2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBtb2RlbDogQnVzaW5lc3NPYmplY3QgPSBuZXcgbW9kZWxDbGFzcygpO1xyXG4gICAgICAgIHRoaXMuX2NvcHlBbGxQcm9wZXJ0aWVzRGVjb3JhdG9yUHJvY2Vzc2VkRnJvbShyYXdEYXRhLCBtb2RlbCk7XHJcbiAgICAgICAgcmV0dXJuIG1vZGVsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHNlZSBtYWtlV2l0aFJhd0JhY2tlbmREYXRhLCB0aGlzIGlzIGEgbG9vcC13cmFwcGVyIGFyb3VuZCB0aGF0IG1ldGhvZFxyXG4gICAgcHVibGljIG1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkobW9kZWxDbGFzczogYW55LCBhcnJheU9mUmF3RGF0YXM6IE9iamVjdFtdKTogQnVzaW5lc3NPYmplY3RbXSB7XHJcbiAgICAgICAgaWYgKCFtb2RlbENsYXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB0cnVlQ2xpZW50Qm9zOiBCdXNpbmVzc09iamVjdFtdID0gW107XHJcbiAgICAgICAgaWYgKGFycmF5T2ZSYXdEYXRhcykge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IGFycmF5T2ZSYXdEYXRhcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgdHJ1ZUNsaWVudEJvcy5wdXNoKHRoaXMubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShtb2RlbENsYXNzLCBhcnJheU9mUmF3RGF0YXNbaV0pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZUNsaWVudEJvcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaW5zdGFudGlhdGVOZXdCbyhtb2RlbENsYXNzOiBhbnkpOiBCdXNpbmVzc09iamVjdCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShtb2RlbENsYXNzLCB7fSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBcHBsaWVzIGFsbCBwcm9wZXJ0aWVzIG9mIGdpdmVuICdzb3VyY2UnIG9iamVjdCB0byB0aGUgZ2l2ZW4gJ2Rlc3RpbmF0aW9uJyBidXNpbmVzc29iamVjdCwgaWYgZGVzdGluYXRpb24gaGFzIHRoYXQgcHJvcGVydHkuXHJcbiAgICAgKiBXb3JrcyB3aXRoIHRoZSBAQ29tcGxleEZpZWxkKCksIEBDb21wbGV4QXJyYXksIEBCb29sZWFuVGV4dCwgQENvSW5qZWN0IGFuZCBARGF0ZUZpZWxkIGFubm90YXRpb25zIG9mIGdpdmVuIGRlc3RpbmF0aW9uIG1vZGVsLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBzb3VyY2VEYXRhIFJhdyBkYXRhIHRvIGNvcHkgdG8gZGVzdGluYXRpb24gbW9kZWxcclxuICAgICAqIEBwYXJhbSB7QnVzaW5lc3NPYmplY3R9IGRlc3RpbmF0aW9uTW9kZWwgSW5PdXQ6IFRoZSBhbm5vdGF0ZWQgYnVzaW5lc3NvYmplY3QgdG8gYXBwbHkgc291cmNlIHByb3BlcnRpZXMgdG9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfY29weUFsbFByb3BlcnRpZXNEZWNvcmF0b3JQcm9jZXNzZWRGcm9tKHNvdXJjZURhdGE6IGFueSwgZGVzdGluYXRpb25Nb2RlbDogQnVzaW5lc3NPYmplY3QpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXNvdXJjZURhdGEgfHwgIWRlc3RpbmF0aW9uTW9kZWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gcHJvY2VzcyBhbGwgc291cmNlIGRhdGEgaW50byBkZXN0aW5hdGlvbk1vZGVsXHJcbiAgICAgICAgZm9yIChjb25zdCBzcmNQcm9wS2V5IGluIHNvdXJjZURhdGEpIHtcclxuICAgICAgICAgICAgaWYgKCFzb3VyY2VEYXRhLmhhc093blByb3BlcnR5KHNyY1Byb3BLZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3Qgc3JjUHJvcFZhbDogYW55ID0gc291cmNlRGF0YVtzcmNQcm9wS2V5XTtcclxuXHJcbiAgICAgICAgICAgIGlmIChDb21wbGV4RmllbGREZWNvcmF0b3IuSXNDb21wbGV4RmllbGQoZGVzdGluYXRpb25Nb2RlbCwgc3JjUHJvcEtleSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzT2ZGaWVsZDogYW55ID0gQ29tcGxleEZpZWxkRGVjb3JhdG9yLkdldENvbXBsZXhGaWVsZFR5cGUoZGVzdGluYXRpb25Nb2RlbCwgc3JjUHJvcEtleSk7XHJcbiAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gdGhpcy5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKGNsYXNzT2ZGaWVsZCwgc3JjUHJvcFZhbCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoQ29tcGxleEFycmF5RGVjb3JhdG9yLklzQ29tcGxleEFycmF5KGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2VBcnJheTogYW55W10gPSBzcmNQcm9wVmFsO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFzb3VyY2VBcnJheSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgY2xhc3NPZkFycmF5SXRlbXM6IGFueSA9IENvbXBsZXhBcnJheURlY29yYXRvci5HZXRDb21wbGV4QXJyYXlUeXBlKGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGVtcEFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSBzb3VyY2VBcnJheS5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRlbXBBcnJheS5wdXNoKHRoaXMubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShjbGFzc09mQXJyYXlJdGVtcywgc291cmNlQXJyYXlbaV0pKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSB0ZW1wQXJyYXk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoQm9vbGVhblRleHREZWNvcmF0b3IuSXNCb29sZWFuVGV4dEZpZWxkKGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBsb2dpY2FsICd0cnVlJyBhbmQgJ2ZhbHNlJyBhbHNvIGFsbG93ZWQgYXMgaW5jb21pbmcgdmFsdWVzIGZvciBAQm9vbGVhblRleHQoKSBwcm9wZXJ0aWVzOiB0aGVuIGp1c3QgY29weSB0aGVpciB2YWx1ZVxyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBzcmNQcm9wVmFsID09PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBzcmNQcm9wVmFsO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGhlcmUsIGl0IHNob3VsZCBiZSBhICdKJyBvciAnTicgKG9yICdUJyBvciAnRicpOiBhc3NpZ24gdGhlIGFzc29jaWF0ZWQgYm9vbGVhbiB2YWx1ZVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gQm9vbGVhblRleHREZWNvcmF0b3IuR2V0TG9naWNhbEJvb2xlYW5WYWx1ZShzcmNQcm9wVmFsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChEYXRlRmllbGRGaWVsZERlY29yYXRvci5Jc0RhdGVGaWVsZChkZXN0aW5hdGlvbk1vZGVsLCBzcmNQcm9wS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IERhdGVGaWVsZEZpZWxkRGVjb3JhdG9yLlN0cmluZ0FzRGF0ZShzcmNQcm9wVmFsKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChTdHJpbmdOdW1iZXJEZWNvcmF0b3IuSXNTdHJpbmdOdW1iZXIoZGVzdGluYXRpb25Nb2RlbCwgc3JjUHJvcEtleSkpIHtcclxuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBTdHJpbmdOdW1iZXJEZWNvcmF0b3IuU3RyaW5nQXNOdW1iZXIoc3JjUHJvcFZhbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gbm9uLWRlY29yYXRlZCBwcm9wXHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzTmlsbChzcmNQcm9wVmFsKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoc3JjUHJvcFZhbCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gQXJyYXlVdGlscy5DbG9uZUFycmF5KHNyY1Byb3BWYWwpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc3JjUHJvcFZhbCA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzcmNQcm9wVmFsIGluc3RhbmNlb2YgTWFwKSB7IC8vanVzdCBjb3B5IHRoZSB2YWx1ZSBpbiBjYXNlIG9mIG1hcHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IHNyY1Byb3BWYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IE9iamVjdC5hc3NpZ24oe30sIHNyY1Byb3BWYWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IHNyY1Byb3BWYWw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,102 +0,0 @@
1
- import { GetYesNoDbBooleanValue } from "@colijnit/articleapi/build/enum/yes-no-db-type.enum";
2
- import { GetTrueFalseDbBooleanValue } from "@colijnit/articleapi/build/enum/true-false-db-type.enum";
3
- import { GetOneZeroDbBooleanValue } from "@colijnit/articleapi/build/enum/one-zero-bool-db-type.enum";
4
- import { GetLogicalBooleanValue } from "@colijnit/articleapi/build/enum/db-boolean-value-type.enum";
5
- const PROP_META_KEY_JN = "booleanTextJN";
6
- const PROP_META_KEY_TF = "booleanTextTF";
7
- const PROP_META_KEY_10 = "booleanText10";
8
- /**
9
- * There are 'J', 'T', 'N', 'F', 0 and 1 'boolean values' in the database. These should be translated to true and false boolean values in
10
- * our client application.
11
- *
12
- * The values 'J' and 'N' seem to be most commonly used. This is the default setting when using this decorator.
13
- * You can pass 'T' or 1 for the other variants as follows:
14
- *
15
- * Usage:
16
- *
17
- * @BooleanText() or @BooleanText("J") (the default, uses YesNoDbType char values)
18
- * public foo: boolean // 'J' and 'N' become true and false after BusinessObjectFactoryService and -SerializerService processing
19
- *
20
- * @BooleanText('T') (uses TrueFalseDbType char values)
21
- * public bar: boolean // 'T' and 'F' become true and false after BusinessObjectFactoryService and -SerializerService processing
22
- *
23
- * @BooleanText(1)
24
- * public baz: boolean // 1 and 0 become true and false after BusinessObjectFactoryService and -SerializerService processing
25
- */
26
- export function BooleanText(type) {
27
- return function (target, propertyKey) {
28
- if (!target || !propertyKey) {
29
- return;
30
- }
31
- // by default, it's a J N boolean text
32
- if (!type || type === "J") {
33
- Reflect.defineMetadata(PROP_META_KEY_JN, true, target, propertyKey);
34
- }
35
- else if (type === "T") {
36
- Reflect.defineMetadata(PROP_META_KEY_TF, true, target, propertyKey);
37
- }
38
- else if (type === 1) {
39
- Reflect.defineMetadata(PROP_META_KEY_10, true, target, propertyKey);
40
- }
41
- };
42
- }
43
- // Utility function holder of the BooleanTextDecorator decorator.
44
- export class BooleanTextDecorator {
45
- /**
46
- * Returns whether given property (as a string) on given object is a boolean text field. That is, it's a field that is decorated
47
- * with the @BooleanText decorator.
48
- */
49
- static IsBooleanTextField(target, propertyKey) {
50
- if (!target || !propertyKey || typeof target !== "object") {
51
- return false;
52
- }
53
- return (Reflect.getMetadata(PROP_META_KEY_JN, target, propertyKey) === true
54
- ||
55
- Reflect.getMetadata(PROP_META_KEY_TF, target, propertyKey) === true
56
- ||
57
- Reflect.getMetadata(PROP_META_KEY_10, target, propertyKey) === true);
58
- }
59
- /**
60
- * Returns the logical true or false value of given character ('J', 'N', 'T' or 'F') or number (0 or 1).
61
- * Returns UNDEFINED if given boolChar was not recognised as a boolean text.
62
- */
63
- static GetLogicalBooleanValue(dbBoolChar) {
64
- return GetLogicalBooleanValue(dbBoolChar);
65
- }
66
- /**
67
- * Returns the boolean character / number of given logical bool property on target object. Uses its @BooleanText() annotation to decide
68
- * what character / number to return.
69
- * Used in BusinessObjectSerializerServiceService to convert logical bools to their original boolean character.
70
- * @returns {string|number} The original, reverse-engineered boolean character (or number) of given object property, or undefined.
71
- */
72
- static GetDbBooleanValue(target, propertyKey) {
73
- if (!target || !propertyKey || typeof target !== "object") {
74
- return undefined;
75
- }
76
- let dbBoolVal = undefined;
77
- const curBoolVal = target[propertyKey];
78
- if (BooleanTextDecorator._IsJaNeeProp(target, propertyKey)) {
79
- dbBoolVal = GetYesNoDbBooleanValue(curBoolVal);
80
- }
81
- else if (BooleanTextDecorator._IsTrueFalseProp(target, propertyKey)) {
82
- dbBoolVal = GetTrueFalseDbBooleanValue(curBoolVal);
83
- }
84
- else if (BooleanTextDecorator._IsZeroOneProp(target, propertyKey)) {
85
- dbBoolVal = GetOneZeroDbBooleanValue(curBoolVal);
86
- }
87
- return dbBoolVal;
88
- }
89
- static _IsJaNeeProp(target, propertyKey) {
90
- return BooleanTextDecorator._IsProp(PROP_META_KEY_JN, target, propertyKey);
91
- }
92
- static _IsTrueFalseProp(target, propertyKey) {
93
- return BooleanTextDecorator._IsProp(PROP_META_KEY_TF, target, propertyKey);
94
- }
95
- static _IsZeroOneProp(target, propertyKey) {
96
- return BooleanTextDecorator._IsProp(PROP_META_KEY_10, target, propertyKey);
97
- }
98
- static _IsProp(prop, target, propertyKey) {
99
- return !!target && !!propertyKey && typeof target === "object" && Reflect.hasMetadata(prop, target, propertyKey);
100
- }
101
- }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvZmFjdG9yeS9kZWNvcmF0b3JzL2Jvb2xlYW4uZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzNGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3BHLE9BQU8sRUFBcUIsc0JBQXNCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUV0SCxNQUFNLGdCQUFnQixHQUFXLGVBQWUsQ0FBQztBQUNqRCxNQUFNLGdCQUFnQixHQUFXLGVBQWUsQ0FBQztBQUNqRCxNQUFNLGdCQUFnQixHQUFXLGVBQWUsQ0FBQztBQUVqRDs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQW9CO0lBQzVDLE9BQU8sVUFBVSxNQUFXLEVBQUUsV0FBbUI7UUFDN0MsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QixPQUFPO1NBQ1Y7UUFDRCxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztTQUN2RTthQUFNLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtZQUNyQixPQUFPLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDdkU7YUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDbkIsT0FB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blZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvZW51bS95ZXMtbm8tZGItdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7R2V0VHJ1ZUZhbHNlRGJCb29sZWFuVmFsdWV9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9lbnVtL3RydWUtZmFsc2UtZGItdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7R2V0T25lWmVyb0RiQm9vbGVhblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvZW51bS9vbmUtemVyby1ib29sLWRiLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0RiQm9vbGVhblZhbHVlVHlwZSwgR2V0TG9naWNhbEJvb2xlYW5WYWx1ZX0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2VudW0vZGItYm9vbGVhbi12YWx1ZS10eXBlLmVudW1cIjtcclxuXHJcbmNvbnN0IFBST1BfTUVUQV9LRVlfSk46IHN0cmluZyA9IFwiYm9vbGVhblRleHRKTlwiO1xyXG5jb25zdCBQUk9QX01FVEFfS0VZX1RGOiBzdHJpbmcgPSBcImJvb2xlYW5UZXh0VEZcIjtcclxuY29uc3QgUFJPUF9NRVRBX0tFWV8xMDogc3RyaW5nID0gXCJib29sZWFuVGV4dDEwXCI7XHJcblxyXG4vKipcclxuICogVGhlcmUgYXJlICdKJywgJ1QnLCAnTicsICdGJywgMCBhbmQgMSAnYm9vbGVhbiB2YWx1ZXMnIGluIHRoZSBkYXRhYmFzZS4gVGhlc2Ugc2hvdWxkIGJlIHRyYW5zbGF0ZWQgdG8gdHJ1ZSBhbmQgZmFsc2UgYm9vbGVhbiB2YWx1ZXMgaW5cclxuICogb3VyIGNsaWVudCBhcHBsaWNhdGlvbi5cclxuICpcclxuICogVGhlIHZhbHVlcyAnSicgYW5kICdOJyBzZWVtIHRvIGJlIG1vc3QgY29tbW9ubHkgdXNlZC4gVGhpcyBpcyB0aGUgZGVmYXVsdCBzZXR0aW5nIHdoZW4gdXNpbmcgdGhpcyBkZWNvcmF0b3IuXHJcbiAqIFlvdSBjYW4gcGFzcyAnVCcgb3IgMSBmb3IgdGhlIG90aGVyIHZhcmlhbnRzIGFzIGZvbGxvd3M6XHJcbiAqXHJcbiAqIFVzYWdlOlxyXG4gKlxyXG4gKiBAQm9vbGVhblRleHQoKSBvciBAQm9vbGVhblRleHQoXCJKXCIpICh0aGUgZGVmYXVsdCwgdXNlcyBZZXNOb0RiVHlwZSBjaGFyIHZhbHVlcylcclxuICogcHVibGljIGZvbzogYm9vbGVhbiAvLyAnSicgYW5kICdOJyBiZWNvbWUgdHJ1ZSBhbmQgZmFsc2UgYWZ0ZXIgQnVzaW5lc3NPYmplY3RGYWN0b3J5U2VydmljZSBhbmQgLVNlcmlhbGl6ZXJTZXJ2aWNlIHByb2Nlc3NpbmdcclxuICpcclxuICogQEJvb2xlYW5UZXh0KCdUJykgKHVzZXMgVHJ1ZUZhbHNlRGJUeXBlIGNoYXIgdmFsdWVzKVxyXG4gKiBwdWJsaWMgYmFyOiBib29sZWFuIC8vICdUJyBhbmQgJ0YnIGJlY29tZSB0cnVlIGFuZCBmYWxzZSBhZnRlciBCdXNpbmVzc09iamVjdEZhY3RvcnlTZXJ2aWNlIGFuZCAtU2VyaWFsaXplclNlcnZpY2UgcHJvY2Vzc2luZ1xyXG4gKlxyXG4gKiBAQm9vbGVhblRleHQoMSlcclxuICogcHVibGljIGJhejogYm9vbGVhbiAvLyAxIGFuZCAwIGJlY29tZSB0cnVlIGFuZCBmYWxzZSBhZnRlciBCdXNpbmVzc09iamVjdEZhY3RvcnlTZXJ2aWNlIGFuZCAtU2VyaWFsaXplclNlcnZpY2UgcHJvY2Vzc2luZ1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEJvb2xlYW5UZXh0KHR5cGU/OiBcIkpcIiB8IFwiVFwiIHwgMSk6IFByb3BlcnR5RGVjb3JhdG9yIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBieSBkZWZhdWx0LCBpdCdzIGEgSiBOIGJvb2xlYW4gdGV4dFxyXG4gICAgICAgIGlmICghdHlwZSB8fCB0eXBlID09PSBcIkpcIikge1xyXG4gICAgICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBST1BfTUVUQV9LRVlfSk4sIHRydWUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJUXCIpIHtcclxuICAgICAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShQUk9QX01FVEFfS0VZX1RGLCB0cnVlLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IDEpIHtcclxuICAgICAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShQUk9QX01FVEFfS0VZXzEwLCB0cnVlLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59XHJcblxyXG4vLyBVdGlsaXR5IGZ1bmN0aW9uIGhvbGRlciBvZiB0aGUgQm9vbGVhblRleHREZWNvcmF0b3IgZGVjb3JhdG9yLlxyXG5leHBvcnQgY2xhc3MgQm9vbGVhblRleHREZWNvcmF0b3Ige1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB3aGV0aGVyIGdpdmVuIHByb3BlcnR5IChhcyBhIHN0cmluZykgb24gZ2l2ZW4gb2JqZWN0IGlzIGEgYm9vbGVhbiB0ZXh0IGZpZWxkLiBUaGF0IGlzLCBpdCdzIGEgZmllbGQgdGhhdCBpcyBkZWNvcmF0ZWRcclxuICAgICAqIHdpdGggdGhlIEBCb29sZWFuVGV4dCBkZWNvcmF0b3IuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgSXNCb29sZWFuVGV4dEZpZWxkKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKFBST1BfTUVUQV9LRVlfSk4sIHRhcmdldCwgcHJvcGVydHlLZXkpID09PSB0cnVlXHJcbiAgICAgICAgICAgIHx8XHJcbiAgICAgICAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUF9NRVRBX0tFWV9URiwgdGFyZ2V0LCBwcm9wZXJ0eUtleSkgPT09IHRydWVcclxuICAgICAgICAgICAgfHxcclxuICAgICAgICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShQUk9QX01FVEFfS0VZXzEwLCB0YXJnZXQsIHByb3BlcnR5S2V5KSA9PT0gdHJ1ZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBsb2dpY2FsIHRydWUgb3IgZmFsc2UgdmFsdWUgb2YgZ2l2ZW4gY2hhcmFjdGVyICgnSicsICdOJywgJ1QnIG9yICdGJykgb3IgbnVtYmVyICgwIG9yIDEpLlxyXG4gICAgICogUmV0dXJucyBVTkRFRklORUQgaWYgZ2l2ZW4gYm9vbENoYXIgd2FzIG5vdCByZWNvZ25pc2VkIGFzIGEgYm9vbGVhbiB0ZXh0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldExvZ2ljYWxCb29sZWFuVmFsdWUoZGJCb29sQ2hhcjogRGJCb29sZWFuVmFsdWVUeXBlIHwgc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEdldExvZ2ljYWxCb29sZWFuVmFsdWUoZGJCb29sQ2hhcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBib29sZWFuIGNoYXJhY3RlciAvIG51bWJlciBvZiBnaXZlbiBsb2dpY2FsIGJvb2wgcHJvcGVydHkgb24gdGFyZ2V0IG9iamVjdC4gVXNlcyBpdHMgQEJvb2xlYW5UZXh0KCkgYW5ub3RhdGlvbiB0byBkZWNpZGVcclxuICAgICAqIHdoYXQgY2hhcmFjdGVyIC8gbnVtYmVyIHRvIHJldHVybi5cclxuICAgICAqIFVzZWQgaW4gQnVzaW5lc3NPYmplY3RTZXJpYWxpemVyU2VydmljZVNlcnZpY2UgdG8gY29udmVydCBsb2dpY2FsIGJvb2xzIHRvIHRoZWlyIG9yaWdpbmFsIGJvb2xlYW4gY2hhcmFjdGVyLlxyXG4gICAgICogQHJldHVybnMge3N0cmluZ3xudW1iZXJ9IFRoZSBvcmlnaW5hbCwgcmV2ZXJzZS1lbmdpbmVlcmVkIGJvb2xlYW4gY2hhcmFjdGVyIChvciBudW1iZXIpIG9mIGdpdmVuIG9iamVjdCBwcm9wZXJ0eSwgb3IgdW5kZWZpbmVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldERiQm9vbGVhblZhbHVlKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogRGJCb29sZWFuVmFsdWVUeXBlIHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkgfHwgdHlwZW9mIHRhcmdldCAhPT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGRiQm9vbFZhbDogYW55ID0gdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICBjb25zdCBjdXJCb29sVmFsOiBib29sZWFuID0gdGFyZ2V0W3Byb3BlcnR5S2V5XTtcclxuXHJcbiAgICAgICAgaWYgKEJvb2xlYW5UZXh0RGVjb3JhdG9yLl9Jc0phTmVlUHJvcCh0YXJnZXQsIHByb3BlcnR5S2V5KSkge1xyXG4gICAgICAgICAgICBkYkJvb2xWYWwgPSBHZXRZZXNOb0RiQm9vbGVhblZhbHVlKGN1ckJvb2xWYWwpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoQm9vbGVhblRleHREZWNvcmF0b3IuX0lzVHJ1ZUZhbHNlUHJvcCh0YXJnZXQsIHByb3BlcnR5S2V5KSkge1xyXG4gICAgICAgICAgICBkYkJvb2xWYWwgPSBHZXRUcnVlRmFsc2VEYkJvb2xlYW5WYWx1ZShjdXJCb29sVmFsKTtcclxuICAgICAgICB9IGVsc2UgaWYgKEJvb2xlYW5UZXh0RGVjb3JhdG9yLl9Jc1plcm9PbmVQcm9wKHRhcmdldCwgcHJvcGVydHlLZXkpKSB7XHJcbiAgICAgICAgICAgIGRiQm9vbFZhbCA9IEdldE9uZVplcm9EYkJvb2xlYW5WYWx1ZShjdXJCb29sVmFsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBkYkJvb2xWYWwgYXMgYW55IGFzIERiQm9vbGVhblZhbHVlVHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfSXNKYU5lZVByb3AodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQm9vbGVhblRleHREZWNvcmF0b3IuX0lzUHJvcChQUk9QX01FVEFfS0VZX0pOLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfSXNUcnVlRmFsc2VQcm9wKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEJvb2xlYW5UZXh0RGVjb3JhdG9yLl9Jc1Byb3AoUFJPUF9NRVRBX0tFWV9URiwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX0lzWmVyb09uZVByb3AodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQm9vbGVhblRleHREZWNvcmF0b3IuX0lzUHJvcChQUk9QX01FVEFfS0VZXzEwLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfSXNQcm9wKHByb3A6IHN0cmluZywgdGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gISF0YXJnZXQgJiYgISFwcm9wZXJ0eUtleSAmJiB0eXBlb2YgdGFyZ2V0ID09PSBcIm9iamVjdFwiICYmIFJlZmxlY3QuaGFzTWV0YWRhdGEocHJvcCwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,55 +0,0 @@
1
- import { notNill } from "@colijnit/articleapi/build/utils/function/not-nill.function";
2
- import { ObjectUtils } from "@colijnit/articleapi/build/utils/object-utils";
3
- const PROP_META_KEY = "complexArray";
4
- /**
5
- * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
6
- */
7
- /**
8
- * Property decorator for properties of businessobject classes that are an array of other strongly typed businessobjects.
9
- * Ensures that the BusinessObjectFactoryService makes properly typed objects from incoming raw persistence data. Otherwise we couldn't add methods
10
- * to our own businessobjects and use them, since all fields would be flat data without methods after BusinessObjectFactoryService creation.
11
- *
12
- * Usage:
13
- *
14
- * @ComplexArray(TransactionLine)
15
- * public transactionLines: TransactionLine[]
16
- */
17
- export function ComplexArray(type) {
18
- return function (target, propertyKey) {
19
- if (!target || !propertyKey || typeof target !== "object") {
20
- return;
21
- }
22
- // warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem
23
- // to be immediately processed when a class is first imported
24
- if (!type) {
25
- console.warn(`@ComplexArray(type): type was UNDEFINED. Called on prop (${ObjectUtils.GetClassName(target)}, ${propertyKey}). ` +
26
- `Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS ` +
27
- `where both classes and their dependencies are used, e.g. factory, repository or models..`);
28
- return;
29
- }
30
- Reflect.defineMetadata(PROP_META_KEY, type, target, propertyKey);
31
- };
32
- }
33
- // Utility function holder of the ComplexArrayDecorator decorator.
34
- export class ComplexArrayDecorator {
35
- /**
36
- * Returns whether given property (as a string) on given object is a complex array. A complex array is an array field that is decorated
37
- * with the @ComplexArray decorator.
38
- */
39
- static IsComplexArray(target, propertyKey) {
40
- if (!target || !propertyKey || typeof target !== "object") {
41
- return false;
42
- }
43
- return (notNill(Reflect.getMetadata(PROP_META_KEY, target, propertyKey)));
44
- }
45
- /**
46
- * Returns the VALUE of the @ComplexArray(VALUE) property decorator on the given propertyKey on the given modelobject.
47
- */
48
- static GetComplexArrayType(target, propertyKey) {
49
- if (!target || !propertyKey || typeof target !== "object") {
50
- return undefined;
51
- }
52
- return Reflect.getMetadata(PROP_META_KEY, target, propertyKey);
53
- }
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxleC1hcnJheS5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvZmFjdG9yeS9kZWNvcmF0b3JzL2NvbXBsZXgtYXJyYXkuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUNwRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFFMUUsTUFBTSxhQUFhLEdBQVcsY0FBYyxDQUFDO0FBRTdDOztHQUVHO0FBRUg7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFTO0lBQ2xDLE9BQU8sVUFBVSxNQUFXLEVBQUUsV0FBbUI7UUFDN0MsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDdkQsT0FBTztTQUNWO1FBQ0Qsa0lBQWtJO1FBQ2xJLDZEQUE2RDtRQUM3RCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyw0REFBNEQsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxXQUFXLEtBQUs7Z0JBQzFILHNIQUFzSDtnQkFDdEgsMEZBQTBGLENBQUMsQ0FBQztZQUNoRyxPQUFPO1NBQ1Y7UUFDRCxPQUFPLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JFLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLHFCQUFxQjtJQUM5Qjs7O09BR0c7SUFDSSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQWMsRUFBRSxXQUFtQjtRQUM1RCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUN2RCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBYyxFQUFFLFdBQW1CO1FBQ2pFLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ3ZELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBRUQsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtub3ROaWxsfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvdXRpbHMvZnVuY3Rpb24vbm90LW5pbGwuZnVuY3Rpb25cIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL3V0aWxzL29iamVjdC11dGlsc1wiO1xyXG5cclxuY29uc3QgUFJPUF9NRVRBX0tFWTogc3RyaW5nID0gXCJjb21wbGV4QXJyYXlcIjtcclxuXHJcbi8qKlxyXG4gKiAhISBqdXN0IGEgVEFHIERFQ09SQVRPUiBmb3Igbm93LCB0aGVyZSBpcyBubyBjb2RlIHRoYXQgdXNlcyB0aGlzIG1ldGEgZGF0YSB3aXRoaW4gdGhlIGlvbmUgY29ubmVjdG9yIGxpYiBpdHNlbGYuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIFByb3BlcnR5IGRlY29yYXRvciBmb3IgcHJvcGVydGllcyBvZiBidXNpbmVzc29iamVjdCBjbGFzc2VzIHRoYXQgYXJlIGFuIGFycmF5IG9mIG90aGVyIHN0cm9uZ2x5IHR5cGVkIGJ1c2luZXNzb2JqZWN0cy5cclxuICogRW5zdXJlcyB0aGF0IHRoZSBCdXNpbmVzc09iamVjdEZhY3RvcnlTZXJ2aWNlIG1ha2VzIHByb3Blcmx5IHR5cGVkIG9iamVjdHMgZnJvbSBpbmNvbWluZyByYXcgcGVyc2lzdGVuY2UgZGF0YS4gT3RoZXJ3aXNlIHdlIGNvdWxkbid0IGFkZCBtZXRob2RzXHJcbiAqIHRvIG91ciBvd24gYnVzaW5lc3NvYmplY3RzIGFuZCB1c2UgdGhlbSwgc2luY2UgYWxsIGZpZWxkcyB3b3VsZCBiZSBmbGF0IGRhdGEgd2l0aG91dCBtZXRob2RzIGFmdGVyIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVNlcnZpY2UgY3JlYXRpb24uXHJcbiAqXHJcbiAqIFVzYWdlOlxyXG4gKlxyXG4gKiBAQ29tcGxleEFycmF5KFRyYW5zYWN0aW9uTGluZSlcclxuICogcHVibGljIHRyYW5zYWN0aW9uTGluZXM6IFRyYW5zYWN0aW9uTGluZVtdXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gQ29tcGxleEFycmF5KHR5cGU6IGFueSk6IFByb3BlcnR5RGVjb3JhdG9yIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkgfHwgdHlwZW9mIHRhcmdldCAhPT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHdhcm4gdGhlIHByb2dyYW1tZXIgaWYgZ2l2ZW4gdHlwZSB3YXMgdW5kZWZpbmVkOyBpdCdzIHByb2JhYmx5IGFuIGltcG9ydCBvcmRlciBnbGl0Y2ggdGhhdCBjYXVzZWQgdGhpcywgYmVjYXVzZSBkZWNvcmF0b3JzIHNlZW1cclxuICAgICAgICAvLyB0byBiZSBpbW1lZGlhdGVseSBwcm9jZXNzZWQgd2hlbiBhIGNsYXNzIGlzIGZpcnN0IGltcG9ydGVkXHJcbiAgICAgICAgaWYgKCF0eXBlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgQENvbXBsZXhBcnJheSh0eXBlKTogdHlwZSB3YXMgVU5ERUZJTkVELiBDYWxsZWQgb24gcHJvcCAoJHtPYmplY3RVdGlscy5HZXRDbGFzc05hbWUodGFyZ2V0KX0sICR7cHJvcGVydHlLZXl9KS4gYCArXHJcbiAgICAgICAgICAgICAgICBgQ2xhc3Mgd2lsbCBub3QgcHJvcGVybHkgc2VyaWFsaXplIGFuZCBkZXNlcmlhbGl6ZSBub3cuIFdlJ3ZlIGFsd2F5cyBiZWVuIGFibGUgdG8gZml4IHRoaXMgYnkgQ0hBTkdJTkcgSU1QT1JUIE9SREVSUyBgICtcclxuICAgICAgICAgICAgICAgIGB3aGVyZSBib3RoIGNsYXNzZXMgYW5kIHRoZWlyIGRlcGVuZGVuY2llcyBhcmUgdXNlZCwgZS5nLiBmYWN0b3J5LCByZXBvc2l0b3J5IG9yIG1vZGVscy4uYCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB0eXBlLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH07XHJcbn1cclxuXHJcbi8vIFV0aWxpdHkgZnVuY3Rpb24gaG9sZGVyIG9mIHRoZSBDb21wbGV4QXJyYXlEZWNvcmF0b3IgZGVjb3JhdG9yLlxyXG5leHBvcnQgY2xhc3MgQ29tcGxleEFycmF5RGVjb3JhdG9yIHtcclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB3aGV0aGVyIGdpdmVuIHByb3BlcnR5IChhcyBhIHN0cmluZykgb24gZ2l2ZW4gb2JqZWN0IGlzIGEgY29tcGxleCBhcnJheS4gQSBjb21wbGV4IGFycmF5IGlzIGFuIGFycmF5IGZpZWxkIHRoYXQgaXMgZGVjb3JhdGVkXHJcbiAgICAgKiB3aXRoIHRoZSBAQ29tcGxleEFycmF5IGRlY29yYXRvci5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBJc0NvbXBsZXhBcnJheSh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSB8fCB0eXBlb2YgdGFyZ2V0ICE9PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiAobm90TmlsbChSZWZsZWN0LmdldE1ldGFkYXRhKFBST1BfTUVUQV9LRVksIHRhcmdldCwgcHJvcGVydHlLZXkpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBWQUxVRSBvZiB0aGUgQENvbXBsZXhBcnJheShWQUxVRSkgcHJvcGVydHkgZGVjb3JhdG9yIG9uIHRoZSBnaXZlbiBwcm9wZXJ0eUtleSBvbiB0aGUgZ2l2ZW4gbW9kZWxvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0Q29tcGxleEFycmF5VHlwZSh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKFBST1BfTUVUQV9LRVksIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,57 +0,0 @@
1
- import { notNill } from "@colijnit/articleapi/build/utils/function/not-nill.function";
2
- import { ObjectUtils } from "@colijnit/articleapi/build/utils/object-utils";
3
- const PROP_META_KEY = "complexField";
4
- /**
5
- * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
6
- */
7
- /**
8
- * Property decorator for properties of businessobject classes that are other strongly typed businessobjects.
9
- * Ensures that the BusinessObjectFactoryService makes properly typed objects from incoming raw persistence data. Otherwise we couldn't add methods
10
- * to our own businessobjects and use them, since all fields would be flat data without methods after BusinessObjectFactoryService creation.
11
- *
12
- * Usage:
13
- *
14
- * @ComplexField(Transaction)
15
- * public transaction: Transaction
16
- *
17
- * Also keeps track of a "complexFieldProps" metadata on the class-level, as a reflect-metadata workaround to be able to
18
- * retrieve all properties that have the @ComplexField(..) decorator (impossible with current Reflect API).
19
- */
20
- export function ComplexField(type) {
21
- return function (target, propertyKey) {
22
- if (!target || !propertyKey) {
23
- return;
24
- }
25
- // warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem
26
- // to be immediately processed when a class is first imported
27
- if (!type) {
28
- // eslint-disable-next-line no-console
29
- console.warn(`@ComplexField(type): type was UNDEFINED. Called on prop (${ObjectUtils.GetClassName(target)}, ${propertyKey}). ` +
30
- `Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS ` +
31
- `where both classes and their dependencies are used, e.g. factory, repository or models..`);
32
- return;
33
- }
34
- Reflect.defineMetadata(PROP_META_KEY, type, target, propertyKey);
35
- };
36
- }
37
- // Utility function holder of the ComplexFieldDecorator decorator.
38
- export class ComplexFieldDecorator {
39
- /**
40
- * Returns whether given property (as a string) on given object is a complex field. A complex field is a field that is decorated
41
- * with the @ComplexField decorator.
42
- */
43
- static IsComplexField(target, propertyKey) {
44
- if (!target || !propertyKey || typeof target !== "object") {
45
- return false;
46
- }
47
- return (notNill(Reflect.getMetadata(PROP_META_KEY, target, propertyKey)));
48
- }
49
- // Returns the VALUE of the @ComplexField(VALUE) property decorator on the given propertyKey on the given modelObject.
50
- static GetComplexFieldType(target, propertyKey) {
51
- if (!target || !propertyKey || typeof target !== "object") {
52
- return undefined;
53
- }
54
- return Reflect.getMetadata(PROP_META_KEY, target, propertyKey);
55
- }
56
- }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxleC1maWVsZC5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvZmFjdG9yeS9kZWNvcmF0b3JzL2NvbXBsZXgtZmllbGQuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUNwRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFFMUUsTUFBTSxhQUFhLEdBQVcsY0FBYyxDQUFDO0FBRTdDOztHQUVHO0FBRUg7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFTO0lBQ2xDLE9BQU8sVUFBVSxNQUFXLEVBQUUsV0FBbUI7UUFDN0MsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QixPQUFPO1NBQ1Y7UUFFRCxrSUFBa0k7UUFDbEksNkRBQTZEO1FBQzdELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxzQ0FBc0M7WUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQyw0REFBNEQsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxXQUFXLEtBQUs7Z0JBQzFILHNIQUFzSDtnQkFDdEgsMEZBQTBGLENBQUMsQ0FBQztZQUNoRyxPQUFPO1NBQ1Y7UUFDRCxPQUFPLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JFLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLHFCQUFxQjtJQUU5Qjs7O09BR0c7SUFDSSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQWMsRUFBRSxXQUFtQjtRQUM1RCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUN2RCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsc0hBQXNIO0lBQy9HLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsV0FBbUI7UUFDakUsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDdkQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge25vdE5pbGx9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC91dGlscy9mdW5jdGlvbi9ub3QtbmlsbC5mdW5jdGlvblwiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvdXRpbHMvb2JqZWN0LXV0aWxzXCI7XHJcblxyXG5jb25zdCBQUk9QX01FVEFfS0VZOiBzdHJpbmcgPSBcImNvbXBsZXhGaWVsZFwiO1xyXG5cclxuLyoqXHJcbiAqICEhIGp1c3QgYSBUQUcgREVDT1JBVE9SIGZvciBub3csIHRoZXJlIGlzIG5vIGNvZGUgdGhhdCB1c2VzIHRoaXMgbWV0YSBkYXRhIHdpdGhpbiB0aGUgaW9uZSBjb25uZWN0b3IgbGliIGl0c2VsZi5cclxuICovXHJcblxyXG4vKipcclxuICogUHJvcGVydHkgZGVjb3JhdG9yIGZvciBwcm9wZXJ0aWVzIG9mIGJ1c2luZXNzb2JqZWN0IGNsYXNzZXMgdGhhdCBhcmUgb3RoZXIgc3Ryb25nbHkgdHlwZWQgYnVzaW5lc3NvYmplY3RzLlxyXG4gKiBFbnN1cmVzIHRoYXQgdGhlIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVNlcnZpY2UgbWFrZXMgcHJvcGVybHkgdHlwZWQgb2JqZWN0cyBmcm9tIGluY29taW5nIHJhdyBwZXJzaXN0ZW5jZSBkYXRhLiBPdGhlcndpc2Ugd2UgY291bGRuJ3QgYWRkIG1ldGhvZHNcclxuICogdG8gb3VyIG93biBidXNpbmVzc29iamVjdHMgYW5kIHVzZSB0aGVtLCBzaW5jZSBhbGwgZmllbGRzIHdvdWxkIGJlIGZsYXQgZGF0YSB3aXRob3V0IG1ldGhvZHMgYWZ0ZXIgQnVzaW5lc3NPYmplY3RGYWN0b3J5U2VydmljZSBjcmVhdGlvbi5cclxuICpcclxuICogVXNhZ2U6XHJcbiAqXHJcbiAqIEBDb21wbGV4RmllbGQoVHJhbnNhY3Rpb24pXHJcbiAqIHB1YmxpYyB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25cclxuICpcclxuICogQWxzbyBrZWVwcyB0cmFjayBvZiBhIFwiY29tcGxleEZpZWxkUHJvcHNcIiBtZXRhZGF0YSBvbiB0aGUgY2xhc3MtbGV2ZWwsIGFzIGEgcmVmbGVjdC1tZXRhZGF0YSB3b3JrYXJvdW5kIHRvIGJlIGFibGUgdG9cclxuICogcmV0cmlldmUgYWxsIHByb3BlcnRpZXMgdGhhdCBoYXZlIHRoZSBAQ29tcGxleEZpZWxkKC4uKSBkZWNvcmF0b3IgKGltcG9zc2libGUgd2l0aCBjdXJyZW50IFJlZmxlY3QgQVBJKS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBDb21wbGV4RmllbGQodHlwZTogYW55KTogUHJvcGVydHlEZWNvcmF0b3Ige1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyB3YXJuIHRoZSBwcm9ncmFtbWVyIGlmIGdpdmVuIHR5cGUgd2FzIHVuZGVmaW5lZDsgaXQncyBwcm9iYWJseSBhbiBpbXBvcnQgb3JkZXIgZ2xpdGNoIHRoYXQgY2F1c2VkIHRoaXMsIGJlY2F1c2UgZGVjb3JhdG9ycyBzZWVtXHJcbiAgICAgICAgLy8gdG8gYmUgaW1tZWRpYXRlbHkgcHJvY2Vzc2VkIHdoZW4gYSBjbGFzcyBpcyBmaXJzdCBpbXBvcnRlZFxyXG4gICAgICAgIGlmICghdHlwZSkge1xyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKGBAQ29tcGxleEZpZWxkKHR5cGUpOiB0eXBlIHdhcyBVTkRFRklORUQuIENhbGxlZCBvbiBwcm9wICgke09iamVjdFV0aWxzLkdldENsYXNzTmFtZSh0YXJnZXQpfSwgJHtwcm9wZXJ0eUtleX0pLiBgICtcclxuICAgICAgICAgICAgICAgIGBDbGFzcyB3aWxsIG5vdCBwcm9wZXJseSBzZXJpYWxpemUgYW5kIGRlc2VyaWFsaXplIG5vdy4gV2UndmUgYWx3YXlzIGJlZW4gYWJsZSB0byBmaXggdGhpcyBieSBDSEFOR0lORyBJTVBPUlQgT1JERVJTIGAgK1xyXG4gICAgICAgICAgICAgICAgYHdoZXJlIGJvdGggY2xhc3NlcyBhbmQgdGhlaXIgZGVwZW5kZW5jaWVzIGFyZSB1c2VkLCBlLmcuIGZhY3RvcnksIHJlcG9zaXRvcnkgb3IgbW9kZWxzLi5gKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBST1BfTUVUQV9LRVksIHR5cGUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfTtcclxufVxyXG5cclxuLy8gVXRpbGl0eSBmdW5jdGlvbiBob2xkZXIgb2YgdGhlIENvbXBsZXhGaWVsZERlY29yYXRvciBkZWNvcmF0b3IuXHJcbmV4cG9ydCBjbGFzcyBDb21wbGV4RmllbGREZWNvcmF0b3Ige1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB3aGV0aGVyIGdpdmVuIHByb3BlcnR5IChhcyBhIHN0cmluZykgb24gZ2l2ZW4gb2JqZWN0IGlzIGEgY29tcGxleCBmaWVsZC4gQSBjb21wbGV4IGZpZWxkIGlzIGEgZmllbGQgdGhhdCBpcyBkZWNvcmF0ZWRcclxuICAgICAqIHdpdGggdGhlIEBDb21wbGV4RmllbGQgZGVjb3JhdG9yLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIElzQ29tcGxleEZpZWxkKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gKG5vdE5pbGwoUmVmbGVjdC5nZXRNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB0YXJnZXQsIHByb3BlcnR5S2V5KSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgdGhlIFZBTFVFIG9mIHRoZSBAQ29tcGxleEZpZWxkKFZBTFVFKSBwcm9wZXJ0eSBkZWNvcmF0b3Igb24gdGhlIGdpdmVuIHByb3BlcnR5S2V5IG9uIHRoZSBnaXZlbiBtb2RlbE9iamVjdC5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0Q29tcGxleEZpZWxkVHlwZSh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUF9NRVRBX0tFWSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,36 +0,0 @@
1
- import { DateUtils } from "@colijnit/articleapi/build/utils/date-utils";
2
- const PROP_META_KEY = "dateField";
3
- /**
4
- * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
5
- */
6
- /**
7
- * Property decorator for properties of businessobject classes that are of type Date, but are sent to us as strings.
8
- * Ensures that the BusinessObjectFactory makes proper JavaScript Date objects from incoming strings for @DateField() decorated properties.
9
- *
10
- * Usage:
11
- *
12
- * @DateField()
13
- * public expectedDeliveryDate: Date
14
- */
15
- export function DateField() {
16
- return function (target, propertyKey) {
17
- if (!target || !propertyKey) {
18
- return;
19
- }
20
- Reflect.defineMetadata(PROP_META_KEY, undefined, target, propertyKey);
21
- };
22
- }
23
- // Utility function holder of the @DateField() decorator.
24
- export class DateFieldFieldDecorator {
25
- // Returns whether given property (as a string) on given object is decorated with @DateField().
26
- static IsDateField(target, propertyKey) {
27
- if (!target || !propertyKey || typeof target !== "object") {
28
- return false;
29
- }
30
- return Reflect.hasMetadata(PROP_META_KEY, target, propertyKey);
31
- }
32
- static StringAsDate(str) {
33
- return DateUtils.StringAsDate(str);
34
- }
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWVsZC5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvZmFjdG9yeS9kZWNvcmF0b3JzL2RhdGUtZmllbGQuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUV0RSxNQUFNLGFBQWEsR0FBVyxXQUFXLENBQUM7QUFFMUM7O0dBRUc7QUFFSDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxTQUFTO0lBQ3JCLE9BQU8sVUFBVSxNQUFXLEVBQUUsV0FBbUI7UUFDN0MsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QixPQUFPO1NBQ1Y7UUFDRCxPQUFPLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzFFLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCx5REFBeUQ7QUFDekQsTUFBTSxPQUFPLHVCQUF1QjtJQUVoQywrRkFBK0Y7SUFDeEYsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFjLEVBQUUsV0FBbUI7UUFDekQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDdkQsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFXO1FBQ2xDLE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGVVdGlsc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL3V0aWxzL2RhdGUtdXRpbHNcIjtcclxuXHJcbmNvbnN0IFBST1BfTUVUQV9LRVk6IHN0cmluZyA9IFwiZGF0ZUZpZWxkXCI7XHJcblxyXG4vKipcclxuICogISEganVzdCBhIFRBRyBERUNPUkFUT1IgZm9yIG5vdywgdGhlcmUgaXMgbm8gY29kZSB0aGF0IHVzZXMgdGhpcyBtZXRhIGRhdGEgd2l0aGluIHRoZSBpb25lIGNvbm5lY3RvciBsaWIgaXRzZWxmLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBQcm9wZXJ0eSBkZWNvcmF0b3IgZm9yIHByb3BlcnRpZXMgb2YgYnVzaW5lc3NvYmplY3QgY2xhc3NlcyB0aGF0IGFyZSBvZiB0eXBlIERhdGUsIGJ1dCBhcmUgc2VudCB0byB1cyBhcyBzdHJpbmdzLlxyXG4gKiBFbnN1cmVzIHRoYXQgdGhlIEJ1c2luZXNzT2JqZWN0RmFjdG9yeSBtYWtlcyBwcm9wZXIgSmF2YVNjcmlwdCBEYXRlIG9iamVjdHMgZnJvbSBpbmNvbWluZyBzdHJpbmdzIGZvciBARGF0ZUZpZWxkKCkgZGVjb3JhdGVkIHByb3BlcnRpZXMuXHJcbiAqXHJcbiAqIFVzYWdlOlxyXG4gKlxyXG4gKiBARGF0ZUZpZWxkKClcclxuICogcHVibGljIGV4cGVjdGVkRGVsaXZlcnlEYXRlOiBEYXRlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gRGF0ZUZpZWxkKCk6IFByb3BlcnR5RGVjb3JhdG9yIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBST1BfTUVUQV9LRVksIHVuZGVmaW5lZCwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9O1xyXG59XHJcblxyXG4vLyBVdGlsaXR5IGZ1bmN0aW9uIGhvbGRlciBvZiB0aGUgQERhdGVGaWVsZCgpIGRlY29yYXRvci5cclxuZXhwb3J0IGNsYXNzIERhdGVGaWVsZEZpZWxkRGVjb3JhdG9yIHtcclxuXHJcbiAgICAvLyBSZXR1cm5zIHdoZXRoZXIgZ2l2ZW4gcHJvcGVydHkgKGFzIGEgc3RyaW5nKSBvbiBnaXZlbiBvYmplY3QgaXMgZGVjb3JhdGVkIHdpdGggQERhdGVGaWVsZCgpLlxyXG4gICAgcHVibGljIHN0YXRpYyBJc0RhdGVGaWVsZCh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSB8fCB0eXBlb2YgdGFyZ2V0ICE9PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuaGFzTWV0YWRhdGEoUFJPUF9NRVRBX0tFWSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBTdHJpbmdBc0RhdGUoc3RyOiBzdHJpbmcpOiBEYXRlIHtcclxuICAgICAgICByZXR1cm4gRGF0ZVV0aWxzLlN0cmluZ0FzRGF0ZShzdHIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,43 +0,0 @@
1
- import { NumberUtils } from "@colijnit/articleapi/build/utils/number-utils";
2
- const PROP_META_KEY = "stringNumber";
3
- /**
4
- * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
5
- */
6
- /**
7
- * Decorator for properties of businessobjects that are sent to us as strings from the database, but which we want to use as a number in the client.
8
- *
9
- * Can be handy for incongruent backend api cases, where id data types are communicated wrongly via strings instead of numbers
10
- * (e.g. on EmployeeFullObject.district, points to a District which has a number id, but in employee it's a string representation of that number...)
11
- *
12
- * Used by business object factory and -serializer.
13
- *
14
- * Usage:
15
- *
16
- * @StringNumber()
17
- * public rights: UserRightType
18
- */
19
- export function StringNumber() {
20
- return function (target, propertyKey) {
21
- if (!target || !propertyKey) {
22
- return;
23
- }
24
- Reflect.defineMetadata(PROP_META_KEY, undefined, target, propertyKey);
25
- };
26
- }
27
- // Utility function holder of the @StringNumber() decorator.
28
- export class StringNumberDecorator {
29
- // Returns whether given property (as a string) on given object is decorated with @StringNumber().
30
- static IsStringNumber(target, propertyKey) {
31
- if (!target || !propertyKey || typeof target !== "object") {
32
- return false;
33
- }
34
- return Reflect.hasMetadata(PROP_META_KEY, target, propertyKey);
35
- }
36
- static StringAsNumber(str) {
37
- return NumberUtils.ParseFloatKeepPrecision(str);
38
- }
39
- static NumberAsString(nr) {
40
- return "" + nr;
41
- }
42
- }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLW51bWJlci5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvZmFjdG9yeS9kZWNvcmF0b3JzL3N0cmluZy1udW1iZXIuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUUxRSxNQUFNLGFBQWEsR0FBVyxjQUFjLENBQUM7QUFDN0M7O0dBRUc7QUFFSDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLFVBQVUsWUFBWTtJQUN4QixPQUFPLFVBQVUsTUFBVyxFQUFFLFdBQW1CO1FBQzdDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekIsT0FBTztTQUNWO1FBQ0QsT0FBTyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxRSxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsNERBQTREO0FBQzVELE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsa0dBQWtHO0lBQzNGLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBYyxFQUFFLFdBQW1CO1FBQzVELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ3ZELE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBVztRQUNwQyxPQUFPLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFVO1FBQ25DLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge051bWJlclV0aWxzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvdXRpbHMvbnVtYmVyLXV0aWxzXCI7XHJcblxyXG5jb25zdCBQUk9QX01FVEFfS0VZOiBzdHJpbmcgPSBcInN0cmluZ051bWJlclwiO1xyXG4vKipcclxuICogISEganVzdCBhIFRBRyBERUNPUkFUT1IgZm9yIG5vdywgdGhlcmUgaXMgbm8gY29kZSB0aGF0IHVzZXMgdGhpcyBtZXRhIGRhdGEgd2l0aGluIHRoZSBpb25lIGNvbm5lY3RvciBsaWIgaXRzZWxmLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBEZWNvcmF0b3IgZm9yIHByb3BlcnRpZXMgb2YgYnVzaW5lc3NvYmplY3RzIHRoYXQgYXJlIHNlbnQgdG8gdXMgYXMgc3RyaW5ncyBmcm9tIHRoZSBkYXRhYmFzZSwgYnV0IHdoaWNoIHdlIHdhbnQgdG8gdXNlIGFzIGEgbnVtYmVyIGluIHRoZSBjbGllbnQuXHJcbiAqXHJcbiAqIENhbiBiZSBoYW5keSBmb3IgaW5jb25ncnVlbnQgYmFja2VuZCBhcGkgY2FzZXMsIHdoZXJlIGlkIGRhdGEgdHlwZXMgYXJlIGNvbW11bmljYXRlZCB3cm9uZ2x5IHZpYSBzdHJpbmdzIGluc3RlYWQgb2YgbnVtYmVyc1xyXG4gKiAoZS5nLiBvbiBFbXBsb3llZUZ1bGxPYmplY3QuZGlzdHJpY3QsIHBvaW50cyB0byBhIERpc3RyaWN0IHdoaWNoIGhhcyBhIG51bWJlciBpZCwgYnV0IGluIGVtcGxveWVlIGl0J3MgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhhdCBudW1iZXIuLi4pXHJcbiAqXHJcbiAqIFVzZWQgYnkgYnVzaW5lc3Mgb2JqZWN0IGZhY3RvcnkgYW5kIC1zZXJpYWxpemVyLlxyXG4gKlxyXG4gKiBVc2FnZTpcclxuICpcclxuICogQFN0cmluZ051bWJlcigpXHJcbiAqIHB1YmxpYyByaWdodHM6IFVzZXJSaWdodFR5cGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBTdHJpbmdOdW1iZXIoKTogUHJvcGVydHlEZWNvcmF0b3Ige1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoUFJPUF9NRVRBX0tFWSwgdW5kZWZpbmVkLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH07XHJcbn1cclxuXHJcbi8vIFV0aWxpdHkgZnVuY3Rpb24gaG9sZGVyIG9mIHRoZSBAU3RyaW5nTnVtYmVyKCkgZGVjb3JhdG9yLlxyXG5leHBvcnQgY2xhc3MgU3RyaW5nTnVtYmVyRGVjb3JhdG9yIHtcclxuXHJcbiAgICAvLyBSZXR1cm5zIHdoZXRoZXIgZ2l2ZW4gcHJvcGVydHkgKGFzIGEgc3RyaW5nKSBvbiBnaXZlbiBvYmplY3QgaXMgZGVjb3JhdGVkIHdpdGggQFN0cmluZ051bWJlcigpLlxyXG4gICAgcHVibGljIHN0YXRpYyBJc1N0cmluZ051bWJlcih0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSB8fCB0eXBlb2YgdGFyZ2V0ICE9PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuaGFzTWV0YWRhdGEoUFJPUF9NRVRBX0tFWSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBTdHJpbmdBc051bWJlcihzdHI6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIE51bWJlclV0aWxzLlBhcnNlRmxvYXRLZWVwUHJlY2lzaW9uKHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBOdW1iZXJBc1N0cmluZyhucjogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gXCJcIiArIG5yO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,81 +0,0 @@
1
- /**
2
- * This type represents the concept of a business object ID type. ID's of business objects can be a primary number, a simple string or a
3
- * object for a composite key.
4
- *
5
- * Simply to prevent type declarations of 'number | string | Object' for BO ID data all over the application.
6
- */
7
- import { MapPropertyDecorator } from "@colijnit/articleapi/build/factory/decorators/map-property.decorator";
8
- import { BooleanTextDecorator } from "@colijnit/articleapi/build/factory/decorators/boolean.decorator";
9
- import { JsonFieldFieldDecorator } from "@colijnit/articleapi/build/factory/decorators/json.decorator";
10
- import { ComplexArrayDecorator } from "@colijnit/articleapi/build/factory/decorators/complex-array.decorator";
11
- export class BusinessObject {
12
- constructor() {
13
- }
14
- // Overridable. Returns the ID of the model. Concrete model classes often override this method to provide their specific ID getter.
15
- getId() {
16
- return this.id;
17
- }
18
- setOwnMappedPropsFromRawData(rawData = {}) {
19
- if (!rawData) {
20
- return;
21
- }
22
- Object.keys(this).forEach((key) => {
23
- // check if property needs to be mapped
24
- if (MapPropertyDecorator.IsMapProperty(this, key)) {
25
- const mapKeys = MapPropertyDecorator.GetMapProperty(this, key).split(",");
26
- const len = mapKeys.length;
27
- for (let i = 0; i < len; i++) {
28
- // eslint-disable-next-line
29
- const mapKey = mapKeys[i].trim();
30
- const objProp = rawData[mapKey];
31
- let decorated = false;
32
- if (rawData.hasOwnProperty(mapKey)) {
33
- if (BooleanTextDecorator.IsBooleanTextField(this, key)) {
34
- this[key] = BooleanTextDecorator.GetLogicalBooleanValue(objProp);
35
- decorated = true;
36
- }
37
- if (JsonFieldFieldDecorator.IsJsonField(this, key)) {
38
- this[key] = JsonFieldFieldDecorator.StringAsJson(objProp);
39
- decorated = true;
40
- }
41
- if (ComplexArrayDecorator.IsComplexArray(this, key)) {
42
- const arrayClass = ComplexArrayDecorator.GetComplexArrayType(this, key);
43
- // eslint-disable-next-line
44
- const origArray = this[key];
45
- // eslint-disable-next-line
46
- const newArray = [];
47
- // eslint-disable-next-line @typescript-eslint/prefer-for-of
48
- for (let j = 0; j < origArray.length; j++) {
49
- // eslint-disable-next-line
50
- const item = new arrayClass(origArray[j]);
51
- newArray.push(item);
52
- }
53
- this[key] = newArray;
54
- }
55
- else {
56
- if (!decorated) {
57
- this[key] = objProp;
58
- }
59
- }
60
- break;
61
- }
62
- }
63
- }
64
- else {
65
- if (rawData.hasOwnProperty(key)) {
66
- const objProp = rawData[key];
67
- if (BooleanTextDecorator.IsBooleanTextField(this, key)) {
68
- this[key] = BooleanTextDecorator.GetLogicalBooleanValue(objProp);
69
- }
70
- else if (JsonFieldFieldDecorator.IsJsonField(this, key)) {
71
- this[key] = JsonFieldFieldDecorator.StringAsJson(objProp);
72
- }
73
- else {
74
- this[key] = objProp;
75
- }
76
- }
77
- }
78
- });
79
- }
80
- }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3Mtb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL21vZGVsL2J1c2luZXNzLW9iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBSTVHLE1BQU0sT0FBZ0IsY0FBYztJQVNoQztJQUNBLENBQUM7SUFORCxtSUFBbUk7SUFDNUgsS0FBSztRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBS1MsNEJBQTRCLENBQUMsVUFBZSxFQUFFO1FBQ3BELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzlCLHVDQUF1QztZQUN2QyxJQUFJLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQy9DLE1BQU0sT0FBTyxHQUFhLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNwRixNQUFNLEdBQUcsR0FBVyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUNuQyxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNwQywyQkFBMkI7b0JBQ3pCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDakMsTUFBTSxPQUFPLEdBQVEsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNyQyxJQUFJLFNBQVMsR0FBWSxLQUFLLENBQUM7b0JBQy9CLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRTt3QkFDaEMsSUFBSSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7NEJBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQzs0QkFDakUsU0FBUyxHQUFHLElBQUksQ0FBQzt5QkFDcEI7d0JBQ0QsSUFBSSx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFOzRCQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsdUJBQXVCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDOzRCQUMxRCxTQUFTLEdBQUcsSUFBSSxDQUFDO3lCQUNwQjt3QkFDRCxJQUFJLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7NEJBQ2pELE1BQU0sVUFBVSxHQUFRLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQzs0QkFDL0UsMkJBQTJCOzRCQUN6QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQzlCLDJCQUEyQjs0QkFDekIsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDOzRCQUN0Qiw0REFBNEQ7NEJBQzFELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dDQUN6QywyQkFBMkI7Z0NBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dDQUMxQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzZCQUN2Qjs0QkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDO3lCQUN4Qjs2QkFBTTs0QkFDSCxJQUFJLENBQUMsU0FBUyxFQUFFO2dDQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7NkJBQ3ZCO3lCQUNKO3dCQUNELE1BQU07cUJBQ1Q7aUJBQ0o7YUFDSjtpQkFBTTtnQkFDSCxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzdCLE1BQU0sT0FBTyxHQUFRLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbEMsSUFBSSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7d0JBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDcEU7eUJBQU0sSUFBSSx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO3dCQUN2RCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsdUJBQXVCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUM3RDt5QkFBTTt3QkFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO3FCQUN2QjtpQkFDSjthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVGhpcyB0eXBlIHJlcHJlc2VudHMgdGhlIGNvbmNlcHQgb2YgYSBidXNpbmVzcyBvYmplY3QgSUQgdHlwZS4gSUQncyBvZiBidXNpbmVzcyBvYmplY3RzIGNhbiBiZSBhIHByaW1hcnkgbnVtYmVyLCBhIHNpbXBsZSBzdHJpbmcgb3IgYVxyXG4gKiBvYmplY3QgZm9yIGEgY29tcG9zaXRlIGtleS5cclxuICpcclxuICogU2ltcGx5IHRvIHByZXZlbnQgdHlwZSBkZWNsYXJhdGlvbnMgb2YgJ251bWJlciB8IHN0cmluZyB8IE9iamVjdCcgZm9yIEJPIElEIGRhdGEgYWxsIG92ZXIgdGhlIGFwcGxpY2F0aW9uLlxyXG4gKi9cclxuaW1wb3J0IHtNYXBQcm9wZXJ0eURlY29yYXRvcn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2ZhY3RvcnkvZGVjb3JhdG9ycy9tYXAtcHJvcGVydHkuZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7Qm9vbGVhblRleHREZWNvcmF0b3J9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9mYWN0b3J5L2RlY29yYXRvcnMvYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtKc29uRmllbGRGaWVsZERlY29yYXRvcn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2ZhY3RvcnkvZGVjb3JhdG9ycy9qc29uLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge0NvbXBsZXhBcnJheURlY29yYXRvcn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2ZhY3RvcnkvZGVjb3JhdG9ycy9jb21wbGV4LWFycmF5LmRlY29yYXRvclwiO1xyXG5cclxuZXhwb3J0IHR5cGUgQnVzaW5lc3NPYmplY3RJRFR5cGUgPSBudW1iZXIgfCBzdHJpbmcgfCBPYmplY3Q7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQnVzaW5lc3NPYmplY3Qge1xyXG4gICAgLy8gVGhlIElEIG9mIHRoZSBtb2RlbC5cclxuICAgIHB1YmxpYyBpZDogQnVzaW5lc3NPYmplY3RJRFR5cGU7XHJcblxyXG4gICAgLy8gT3ZlcnJpZGFibGUuIFJldHVybnMgdGhlIElEIG9mIHRoZSBtb2RlbC4gQ29uY3JldGUgbW9kZWwgY2xhc3NlcyBvZnRlbiBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byBwcm92aWRlIHRoZWlyIHNwZWNpZmljIElEIGdldHRlci5cclxuICAgIHB1YmxpYyBnZXRJZCgpOiBCdXNpbmVzc09iamVjdElEVHlwZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHNldE93bk1hcHBlZFByb3BzRnJvbVJhd0RhdGEocmF3RGF0YTogYW55ID0ge30pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXJhd0RhdGEpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBPYmplY3Qua2V5cyh0aGlzKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICAgICAgLy8gY2hlY2sgaWYgcHJvcGVydHkgbmVlZHMgdG8gYmUgbWFwcGVkXHJcbiAgICAgICAgICAgIGlmIChNYXBQcm9wZXJ0eURlY29yYXRvci5Jc01hcFByb3BlcnR5KHRoaXMsIGtleSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1hcEtleXM6IHN0cmluZ1tdID0gTWFwUHJvcGVydHlEZWNvcmF0b3IuR2V0TWFwUHJvcGVydHkodGhpcywga2V5KS5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsZW46IG51bWJlciA9IG1hcEtleXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcEtleSA9IG1hcEtleXNbaV0udHJpbSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9ialByb3A6IGFueSA9IHJhd0RhdGFbbWFwS2V5XTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZGVjb3JhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJhd0RhdGEuaGFzT3duUHJvcGVydHkobWFwS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQm9vbGVhblRleHREZWNvcmF0b3IuSXNCb29sZWFuVGV4dEZpZWxkKHRoaXMsIGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IEJvb2xlYW5UZXh0RGVjb3JhdG9yLkdldExvZ2ljYWxCb29sZWFuVmFsdWUob2JqUHJvcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvcmF0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChKc29uRmllbGRGaWVsZERlY29yYXRvci5Jc0pzb25GaWVsZCh0aGlzLCBrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBKc29uRmllbGRGaWVsZERlY29yYXRvci5TdHJpbmdBc0pzb24ob2JqUHJvcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvcmF0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChDb21wbGV4QXJyYXlEZWNvcmF0b3IuSXNDb21wbGV4QXJyYXkodGhpcywga2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJyYXlDbGFzczogYW55ID0gQ29tcGxleEFycmF5RGVjb3JhdG9yLkdldENvbXBsZXhBcnJheVR5cGUodGhpcywga2V5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdBcnJheSA9IHRoaXNba2V5XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0FycmF5ID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItZm9yLW9mXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG9yaWdBcnJheS5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gbmV3IGFycmF5Q2xhc3Mob3JpZ0FycmF5W2pdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdBcnJheS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gbmV3QXJyYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWRlY29yYXRlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IG9ialByb3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJhd0RhdGEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9ialByb3A6IGFueSA9IHJhd0RhdGFba2V5XTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoQm9vbGVhblRleHREZWNvcmF0b3IuSXNCb29sZWFuVGV4dEZpZWxkKHRoaXMsIGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gQm9vbGVhblRleHREZWNvcmF0b3IuR2V0TG9naWNhbEJvb2xlYW5WYWx1ZShvYmpQcm9wKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKEpzb25GaWVsZEZpZWxkRGVjb3JhdG9yLklzSnNvbkZpZWxkKHRoaXMsIGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gSnNvbkZpZWxkRmllbGREZWNvcmF0b3IuU3RyaW5nQXNKc29uKG9ialByb3ApO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IG9ialByb3A7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==