@energycap/components 0.41.1-ECAP-26841-date-input-features.20250108-1012 → 0.42.0

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 (353) hide show
  1. package/{esm2020 → esm2022}/energycap-components.mjs +4 -4
  2. package/esm2022/lib/components.module.mjs +418 -0
  3. package/esm2022/lib/controls/banner/banner.component.mjs +109 -0
  4. package/esm2022/lib/controls/button/button.component.mjs +106 -0
  5. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +67 -0
  6. package/{esm2020 → esm2022}/lib/controls/button/copy-button.directive.mjs +28 -28
  7. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +43 -0
  8. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +59 -0
  9. package/esm2022/lib/controls/calendar/calendar.component.mjs +200 -0
  10. package/esm2022/lib/controls/calendar/calendar.types.mjs +4 -0
  11. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +140 -0
  12. package/{esm2020 → esm2022}/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -38
  13. package/esm2022/lib/controls/combobox/combobox.component.mjs +879 -0
  14. package/esm2022/lib/controls/date-input/date-input.component.mjs +256 -0
  15. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +243 -0
  16. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +261 -0
  17. package/esm2022/lib/controls/form-control/form-control.component.mjs +104 -0
  18. package/esm2022/lib/controls/form-control-base.mjs +151 -0
  19. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +136 -0
  20. package/esm2022/lib/controls/form-group/form-group.component.mjs +261 -0
  21. package/{esm2020 → esm2022}/lib/controls/help-popover/help-popover.component.mjs +31 -31
  22. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +329 -0
  23. package/{esm2020 → esm2022}/lib/controls/link-button/link-button.component.mjs +11 -11
  24. package/esm2022/lib/controls/menu/menu.component.mjs +485 -0
  25. package/{esm2020 → esm2022}/lib/controls/navigation/link-item.mjs +1 -1
  26. package/esm2022/lib/controls/navigation/nav-group.mjs +39 -0
  27. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +92 -0
  28. package/{esm2020 → esm2022}/lib/controls/navigation/nav-item.mjs +1 -1
  29. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +372 -0
  30. package/esm2022/lib/controls/popover/popover.component.mjs +117 -0
  31. package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button-option.mjs +2 -2
  32. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +82 -0
  33. package/esm2022/lib/controls/select/select.component.mjs +88 -0
  34. package/esm2022/lib/controls/tabs/tabs.component.mjs +47 -0
  35. package/esm2022/lib/controls/textbox/textbox.component.mjs +155 -0
  36. package/esm2022/lib/core/cache.service.mjs +105 -0
  37. package/esm2022/lib/core/custom-validators.mjs +29 -0
  38. package/esm2022/lib/core/date-time-helper.mjs +220 -0
  39. package/esm2022/lib/core/error.service.mjs +61 -0
  40. package/esm2022/lib/core/router-helper.service.mjs +111 -0
  41. package/esm2022/lib/core/scroll.service.mjs +89 -0
  42. package/{esm2020 → esm2022}/lib/core/telemetry-tracker.service.mjs +16 -16
  43. package/{esm2020 → esm2022}/lib/core/telemetry.service.mjs +38 -38
  44. package/esm2022/lib/core/validation-message.service.mjs +185 -0
  45. package/{esm2020 → esm2022}/lib/core/validation-patterns.mjs +30 -30
  46. package/esm2022/lib/core/window.service.mjs +186 -0
  47. package/esm2022/lib/display/app-bar/app-bar.component.mjs +46 -0
  48. package/esm2022/lib/display/avatar/avatar.component.mjs +67 -0
  49. package/esm2022/lib/display/avatar/avatar.service.mjs +64 -0
  50. package/esm2022/lib/display/confirm/confirm.component.mjs +168 -0
  51. package/{esm2020 → esm2022}/lib/display/dialog/dialog-content.mjs +1 -1
  52. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -0
  53. package/{esm2020 → esm2022}/lib/display/dialog/dialog-types.mjs +76 -76
  54. package/esm2022/lib/display/dialog/dialog.component.mjs +281 -0
  55. package/{esm2020 → esm2022}/lib/display/dialog/dialog.service.mjs +71 -71
  56. package/{esm2020 → esm2022}/lib/display/help/help-types.mjs +1 -1
  57. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +111 -0
  58. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-mocks.spec.mjs +53 -53
  59. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -0
  60. package/esm2022/lib/display/item-display/item-display.component.mjs +81 -0
  61. package/esm2022/lib/display/json-display/json-display.component.mjs +47 -0
  62. package/esm2022/lib/display/resizable/resizable-base.mjs +120 -0
  63. package/{esm2020 → esm2022}/lib/display/resizable/resizable.component.mjs +52 -52
  64. package/{esm2020 → esm2022}/lib/display/spinner/spinner.component.mjs +12 -12
  65. package/esm2022/lib/display/splash/splash.component.mjs +42 -0
  66. package/{esm2020 → esm2022}/lib/display/splash/splash.service.mjs +35 -35
  67. package/{esm2020 → esm2022}/lib/display/table/resizable-column.component.mjs +20 -20
  68. package/esm2022/lib/display/table/resizable-table.directive.mjs +227 -0
  69. package/esm2022/lib/display/table/searchable-table.component.mjs +342 -0
  70. package/{esm2020 → esm2022}/lib/display/table/table-detail-row.component.mjs +19 -19
  71. package/esm2022/lib/display/table/table-locked-column.component.mjs +58 -0
  72. package/{esm2020 → esm2022}/lib/display/table/table-master-header-row.component.mjs +14 -14
  73. package/esm2022/lib/display/table/table-master-row.component.mjs +163 -0
  74. package/esm2022/lib/display/table/table-pagination.component.mjs +155 -0
  75. package/esm2022/lib/display/table/table-selectable-row.component.mjs +235 -0
  76. package/esm2022/lib/display/table/table.component.mjs +249 -0
  77. package/esm2022/lib/display/tags/tag.mjs +18 -0
  78. package/esm2022/lib/display/tags/tags.component.mjs +77 -0
  79. package/esm2022/lib/display/toast/toast/toast.component.mjs +77 -0
  80. package/{esm2020 → esm2022}/lib/display/toast/toast-types.mjs +7 -7
  81. package/{esm2020 → esm2022}/lib/display/toast/toast.service.mjs +35 -35
  82. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +114 -0
  83. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.component.mjs +28 -28
  84. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.service.mjs +78 -78
  85. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +173 -0
  86. package/{esm2020 → esm2022}/lib/display/tour/tour-types.mjs +33 -33
  87. package/esm2022/lib/display/tour/tour.component.mjs +398 -0
  88. package/esm2022/lib/display/tour/tour.service.mjs +75 -0
  89. package/esm2022/lib/display/tree/tree.component.mjs +135 -0
  90. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +58 -0
  91. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -0
  92. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -0
  93. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +166 -0
  94. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +50 -0
  95. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -0
  96. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +62 -0
  97. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +48 -0
  98. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +41 -0
  99. package/esm2022/lib/shared/display.mjs +6 -0
  100. package/esm2022/lib/shared/form-group.helper.mjs +67 -0
  101. package/esm2022/lib/shared/json-helper.mjs +19 -0
  102. package/esm2022/lib/shared/lodash-helper.mjs +52 -0
  103. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +387 -0
  104. package/{esm2020 → esm2022}/lib/shared/page/page-statuses.mjs +22 -22
  105. package/{esm2020 → esm2022}/lib/shared/page/page-title/page-title.component.mjs +23 -23
  106. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +147 -0
  107. package/{esm2020 → esm2022}/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +16 -16
  108. package/{esm2020 → esm2022}/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +16 -16
  109. package/{esm2020 → esm2022}/lib/shared/testing/page-base-component-test-helper.spec.mjs +37 -37
  110. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
  111. package/{esm2020 → esm2022}/lib/shared/testing/public-mocks.spec.mjs +148 -148
  112. package/{esm2020 → esm2022}/lib/shared/testing/spy-factory.spec.mjs +39 -39
  113. package/{esm2020 → esm2022}/lib/shared/testing/translation-mocks.spec.mjs +56 -56
  114. package/{esm2020 → esm2022}/lib/shared/user-preference.service.mjs +17 -17
  115. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -0
  116. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -68
  117. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -18
  118. package/esm2022/public-api.mjs +115 -0
  119. package/{fesm2020 → fesm2022}/energycap-components.mjs +11819 -12972
  120. package/fesm2022/energycap-components.mjs.map +1 -0
  121. package/index.d.ts +5 -5
  122. package/lib/components.module.d.ts +91 -92
  123. package/lib/controls/banner/banner.component.d.ts +50 -50
  124. package/lib/controls/button/button.component.d.ts +78 -78
  125. package/lib/controls/button/copy-button-base.directive.d.ts +20 -20
  126. package/lib/controls/button/copy-button.directive.d.ts +14 -14
  127. package/lib/controls/button/copy-table-button.directive.d.ts +19 -19
  128. package/lib/controls/calendar/calendar-item.component.d.ts +17 -22
  129. package/lib/controls/calendar/calendar.component.d.ts +54 -52
  130. package/lib/controls/calendar/calendar.types.d.ts +7 -11
  131. package/lib/controls/checkbox/checkbox.component.d.ts +65 -65
  132. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -25
  133. package/lib/controls/combobox/combobox.component.d.ts +418 -418
  134. package/lib/controls/date-input/date-input.component.d.ts +80 -115
  135. package/lib/controls/dropdown/dropdown.component.d.ts +161 -161
  136. package/lib/controls/file-upload/file-upload.component.d.ts +124 -124
  137. package/lib/controls/form-control/form-control.component.d.ts +30 -28
  138. package/lib/controls/form-control-base.d.ts +110 -110
  139. package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -73
  140. package/lib/controls/form-group/form-group.component.d.ts +105 -105
  141. package/lib/controls/help-popover/help-popover.component.d.ts +11 -11
  142. package/lib/controls/item-picker/item-picker.component.d.ts +164 -164
  143. package/lib/controls/link-button/link-button.component.d.ts +5 -5
  144. package/lib/controls/menu/menu.component.d.ts +255 -255
  145. package/lib/controls/navigation/link-item.d.ts +32 -32
  146. package/lib/controls/navigation/nav-group.d.ts +18 -18
  147. package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -42
  148. package/lib/controls/navigation/nav-item.d.ts +31 -31
  149. package/lib/controls/numericbox/numericbox.component.d.ts +148 -148
  150. package/lib/controls/popover/popover.component.d.ts +51 -51
  151. package/lib/controls/radio-button/radio-button-option.d.ts +19 -19
  152. package/lib/controls/radio-button/radio-button.component.d.ts +53 -53
  153. package/lib/controls/select/select.component.d.ts +44 -44
  154. package/lib/controls/tabs/tabs.component.d.ts +30 -30
  155. package/lib/controls/textbox/textbox.component.d.ts +107 -107
  156. package/lib/core/cache.service.d.ts +33 -33
  157. package/lib/core/custom-validators.d.ts +20 -20
  158. package/lib/core/date-time-helper.d.ts +101 -101
  159. package/lib/core/error.service.d.ts +20 -20
  160. package/lib/core/router-helper.service.d.ts +48 -48
  161. package/lib/core/scroll.service.d.ts +36 -36
  162. package/lib/core/telemetry-tracker.service.d.ts +13 -13
  163. package/lib/core/telemetry.service.d.ts +31 -31
  164. package/lib/core/validation-message.service.d.ts +26 -26
  165. package/lib/core/validation-patterns.d.ts +22 -22
  166. package/lib/core/window.service.d.ts +116 -116
  167. package/lib/display/app-bar/app-bar.component.d.ts +20 -20
  168. package/lib/display/avatar/avatar.component.d.ts +35 -35
  169. package/lib/display/avatar/avatar.service.d.ts +24 -24
  170. package/lib/display/confirm/confirm.component.d.ts +123 -123
  171. package/lib/display/dialog/dialog-content.d.ts +19 -19
  172. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -32
  173. package/lib/display/dialog/dialog-types.d.ts +130 -130
  174. package/lib/display/dialog/dialog.component.d.ts +120 -120
  175. package/lib/display/dialog/dialog.service.d.ts +48 -48
  176. package/lib/display/help/help-types.d.ts +33 -33
  177. package/lib/display/hierarchy/hierarchy-base.d.ts +97 -97
  178. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -53
  179. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -34
  180. package/lib/display/item-display/item-display.component.d.ts +43 -43
  181. package/lib/display/json-display/json-display.component.d.ts +16 -16
  182. package/lib/display/resizable/resizable-base.d.ts +67 -67
  183. package/lib/display/resizable/resizable.component.d.ts +31 -31
  184. package/lib/display/spinner/spinner.component.d.ts +5 -5
  185. package/lib/display/splash/splash.component.d.ts +16 -16
  186. package/lib/display/splash/splash.service.d.ts +22 -22
  187. package/lib/display/table/resizable-column.component.d.ts +10 -10
  188. package/lib/display/table/resizable-table.directive.d.ts +93 -93
  189. package/lib/display/table/searchable-table.component.d.ts +206 -206
  190. package/lib/display/table/table-detail-row.component.d.ts +8 -8
  191. package/lib/display/table/table-locked-column.component.d.ts +20 -20
  192. package/lib/display/table/table-master-header-row.component.d.ts +9 -9
  193. package/lib/display/table/table-master-row.component.d.ts +113 -113
  194. package/lib/display/table/table-pagination.component.d.ts +91 -91
  195. package/lib/display/table/table-selectable-row.component.d.ts +102 -102
  196. package/lib/display/table/table.component.d.ts +121 -121
  197. package/lib/display/tags/tag.d.ts +18 -18
  198. package/lib/display/tags/tags.component.d.ts +48 -48
  199. package/lib/display/toast/toast/toast.component.d.ts +23 -23
  200. package/lib/display/toast/toast-types.d.ts +24 -24
  201. package/lib/display/toast/toast.service.d.ts +20 -20
  202. package/lib/display/toast/toaster/toaster.component.d.ts +35 -35
  203. package/lib/display/tooltip/tooltip.component.d.ts +70 -70
  204. package/lib/display/tooltip/tooltip.service.d.ts +16 -16
  205. package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -44
  206. package/lib/display/tour/tour-types.d.ts +70 -70
  207. package/lib/display/tour/tour.component.d.ts +147 -147
  208. package/lib/display/tour/tour.service.d.ts +38 -38
  209. package/lib/display/tree/tree.component.d.ts +75 -75
  210. package/lib/display/view-overlay/view-overlay.component.d.ts +38 -38
  211. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -14
  212. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -60
  213. package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -101
  214. package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -21
  215. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -9
  216. package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -36
  217. package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -23
  218. package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -18
  219. package/lib/shared/display.d.ts +42 -42
  220. package/lib/shared/form-group.helper.d.ts +31 -31
  221. package/lib/shared/json-helper.d.ts +7 -7
  222. package/lib/shared/lodash-helper.d.ts +18 -18
  223. package/lib/shared/page/page-base/page-base.component.d.ts +259 -259
  224. package/lib/shared/page/page-statuses.d.ts +13 -13
  225. package/lib/shared/page/page-title/page-title.component.d.ts +9 -9
  226. package/lib/shared/page/page-view/page-view.component.d.ts +102 -102
  227. package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -4
  228. package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -4
  229. package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -30
  230. package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -28
  231. package/lib/shared/testing/public-mocks.spec.d.ts +90 -90
  232. package/lib/shared/testing/spy-factory.spec.d.ts +27 -27
  233. package/lib/shared/testing/translation-mocks.spec.d.ts +30 -30
  234. package/lib/shared/user-preference.service.d.ts +13 -13
  235. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -134
  236. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -27
  237. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -10
  238. package/package.json +12 -18
  239. package/public-api.d.ts +111 -113
  240. package/schematics/rxjs-7-upgrade/index.d.ts +3 -3
  241. package/schematics/rxjs-7-upgrade/index.js +67 -67
  242. package/schematics/rxjs-7-upgrade/index.js.map +1 -1
  243. package/schematics/rxjs-7-upgrade/schema.d.ts +4 -4
  244. package/schematics/rxjs-7-upgrade/schema.js +2 -2
  245. package/schematics/utilities/typescript.d.ts +7 -7
  246. package/schematics/utilities/typescript.js +41 -41
  247. package/schematics/utilities/workspace.d.ts +8 -8
  248. package/schematics/utilities/workspace.js +71 -71
  249. package/schematics/utilities/workspace.js.map +1 -1
  250. package/src/assets/locales/en_US.json +1 -9
  251. package/esm2020/lib/components.module.mjs +0 -423
  252. package/esm2020/lib/controls/banner/banner.component.mjs +0 -109
  253. package/esm2020/lib/controls/button/button.component.mjs +0 -106
  254. package/esm2020/lib/controls/button/copy-button-base.directive.mjs +0 -67
  255. package/esm2020/lib/controls/button/copy-table-button.directive.mjs +0 -43
  256. package/esm2020/lib/controls/calendar/calendar-item.component.mjs +0 -91
  257. package/esm2020/lib/controls/calendar/calendar.component.mjs +0 -248
  258. package/esm2020/lib/controls/calendar/calendar.types.mjs +0 -2
  259. package/esm2020/lib/controls/checkbox/checkbox.component.mjs +0 -140
  260. package/esm2020/lib/controls/combobox/combobox.component.mjs +0 -879
  261. package/esm2020/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +0 -57
  262. package/esm2020/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +0 -62
  263. package/esm2020/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +0 -100
  264. package/esm2020/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +0 -101
  265. package/esm2020/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +0 -76
  266. package/esm2020/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +0 -79
  267. package/esm2020/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +0 -210
  268. package/esm2020/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +0 -81
  269. package/esm2020/lib/controls/date-input/date-input.component.mjs +0 -463
  270. package/esm2020/lib/controls/date-input/date-input.types.mjs +0 -44
  271. package/esm2020/lib/controls/dropdown/dropdown.component.mjs +0 -243
  272. package/esm2020/lib/controls/file-upload/file-upload.component.mjs +0 -261
  273. package/esm2020/lib/controls/form-control/form-control.component.mjs +0 -98
  274. package/esm2020/lib/controls/form-control-base.mjs +0 -151
  275. package/esm2020/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
  276. package/esm2020/lib/controls/form-group/form-group.component.mjs +0 -261
  277. package/esm2020/lib/controls/item-picker/item-picker.component.mjs +0 -329
  278. package/esm2020/lib/controls/menu/menu.component.mjs +0 -485
  279. package/esm2020/lib/controls/navigation/nav-group.mjs +0 -39
  280. package/esm2020/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
  281. package/esm2020/lib/controls/numericbox/numericbox.component.mjs +0 -372
  282. package/esm2020/lib/controls/popover/popover.component.mjs +0 -117
  283. package/esm2020/lib/controls/radio-button/radio-button.component.mjs +0 -82
  284. package/esm2020/lib/controls/select/select.component.mjs +0 -88
  285. package/esm2020/lib/controls/tabs/tabs.component.mjs +0 -47
  286. package/esm2020/lib/controls/textbox/textbox.component.mjs +0 -155
  287. package/esm2020/lib/core/cache.service.mjs +0 -105
  288. package/esm2020/lib/core/custom-validators.mjs +0 -29
  289. package/esm2020/lib/core/date-time-helper.mjs +0 -228
  290. package/esm2020/lib/core/error.service.mjs +0 -61
  291. package/esm2020/lib/core/router-helper.service.mjs +0 -111
  292. package/esm2020/lib/core/scroll.service.mjs +0 -89
  293. package/esm2020/lib/core/validation-message.service.mjs +0 -185
  294. package/esm2020/lib/core/window.service.mjs +0 -186
  295. package/esm2020/lib/display/app-bar/app-bar.component.mjs +0 -46
  296. package/esm2020/lib/display/avatar/avatar.component.mjs +0 -67
  297. package/esm2020/lib/display/avatar/avatar.service.mjs +0 -64
  298. package/esm2020/lib/display/confirm/confirm.component.mjs +0 -168
  299. package/esm2020/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
  300. package/esm2020/lib/display/dialog/dialog.component.mjs +0 -281
  301. package/esm2020/lib/display/hierarchy/hierarchy-base.mjs +0 -111
  302. package/esm2020/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -61
  303. package/esm2020/lib/display/item-display/item-display.component.mjs +0 -81
  304. package/esm2020/lib/display/json-display/json-display.component.mjs +0 -47
  305. package/esm2020/lib/display/resizable/resizable-base.mjs +0 -120
  306. package/esm2020/lib/display/splash/splash.component.mjs +0 -42
  307. package/esm2020/lib/display/table/resizable-table.directive.mjs +0 -227
  308. package/esm2020/lib/display/table/searchable-table.component.mjs +0 -342
  309. package/esm2020/lib/display/table/table-locked-column.component.mjs +0 -58
  310. package/esm2020/lib/display/table/table-master-row.component.mjs +0 -163
  311. package/esm2020/lib/display/table/table-pagination.component.mjs +0 -155
  312. package/esm2020/lib/display/table/table-selectable-row.component.mjs +0 -235
  313. package/esm2020/lib/display/table/table.component.mjs +0 -249
  314. package/esm2020/lib/display/tags/tag.mjs +0 -18
  315. package/esm2020/lib/display/tags/tags.component.mjs +0 -77
  316. package/esm2020/lib/display/toast/toast/toast.component.mjs +0 -77
  317. package/esm2020/lib/display/toast/toaster/toaster.component.mjs +0 -114
  318. package/esm2020/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
  319. package/esm2020/lib/display/tour/tour.component.mjs +0 -398
  320. package/esm2020/lib/display/tour/tour.service.mjs +0 -75
  321. package/esm2020/lib/display/tree/tree.component.mjs +0 -135
  322. package/esm2020/lib/display/view-overlay/view-overlay.component.mjs +0 -58
  323. package/esm2020/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
  324. package/esm2020/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
  325. package/esm2020/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +0 -100
  326. package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +0 -163
  327. package/esm2020/lib/shared/display/pipes/date-display.pipe.mjs +0 -50
  328. package/esm2020/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
  329. package/esm2020/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
  330. package/esm2020/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
  331. package/esm2020/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
  332. package/esm2020/lib/shared/display.mjs +0 -6
  333. package/esm2020/lib/shared/form-group.helper.mjs +0 -67
  334. package/esm2020/lib/shared/json-helper.mjs +0 -19
  335. package/esm2020/lib/shared/lodash-helper.mjs +0 -51
  336. package/esm2020/lib/shared/page/page-base/page-base.component.mjs +0 -387
  337. package/esm2020/lib/shared/page/page-view/page-view.component.mjs +0 -147
  338. package/esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  339. package/esm2020/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
  340. package/esm2020/public-api.mjs +0 -117
  341. package/fesm2015/energycap-components.mjs +0 -13371
  342. package/fesm2015/energycap-components.mjs.map +0 -1
  343. package/fesm2020/energycap-components.mjs.map +0 -1
  344. package/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.d.ts +0 -42
  345. package/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.d.ts +0 -21
  346. package/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.d.ts +0 -21
  347. package/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.d.ts +0 -21
  348. package/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.d.ts +0 -18
  349. package/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.d.ts +0 -18
  350. package/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.d.ts +0 -21
  351. package/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.d.ts +0 -20
  352. package/lib/controls/date-input/date-input.types.d.ts +0 -62
  353. package/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.d.ts +0 -23
@@ -1,148 +1,148 @@
1
- /**
2
- * @fileoverview
3
- * Test mocks that can be used by consumers of this library.
4
- * If you do not want to export a mock, add it to `common-mocks.spec.ts` instead.
5
- */
6
- import { EventEmitter, Input, Output, Pipe, Directive, Injectable } from '@angular/core';
7
- import { Subject } from 'rxjs';
8
- import { Router } from '@angular/router';
9
- import { SpyFactory } from './spy-factory.spec';
10
- import { RouterHelper } from '../../core/router-helper.service';
11
- import * as i0 from "@angular/core";
12
- /**
13
- * Mock dialog based on the content type, used to test open and close functionality
14
- * @deprecated Most components that need a dialog should use `dialogService.openDialog()`, which is much easier to test
15
- * and does not require the use of this class. It is included for legacy test support only.
16
- */
17
- export class MockDialog {
18
- constructor() {
19
- this.opened = new EventEmitter();
20
- this.closed = new EventEmitter();
21
- this.displayAsPanel = false;
22
- }
23
- async open(component, context, options) {
24
- this.lastContext = context;
25
- this.componentRef = {
26
- instance: new MockDialogContent()
27
- };
28
- this.opened.emit();
29
- }
30
- close(result) {
31
- this.closed.emit(result);
32
- }
33
- }
34
- MockDialogfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MockDialog, deps: [], target: i0.ɵɵFactoryTarget.Directive });
35
- MockDialog.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: MockDialog, inputs: { size: "size" }, outputs: { opened: "opened", closed: "closed" }, ngImport: i0 });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MockDialog, decorators: [{
37
- type: Directive
38
- }], propDecorators: { size: [{
39
- type: Input
40
- }], opened: [{
41
- type: Output
42
- }], closed: [{
43
- type: Output
44
- }] } });
45
- ;
46
- /**
47
- * Mocked dialog content to test save and cancel
48
- */
49
- export class MockDialogContent {
50
- constructor() {
51
- this.dialogId = 'MockID';
52
- this.onOpen = (openContext) => { this.openArg = openContext; };
53
- this.onDialogSave = new EventEmitter();
54
- this.onDialogCancel = new EventEmitter();
55
- this.destroyed = new Subject();
56
- }
57
- }
58
- ;
59
- /**
60
- * Mocked DateDisplayPipe
61
- */
62
- export class MockDateDisplayPipe {
63
- transform(value) {
64
- return '01/01/2017';
65
- }
66
- }
67
- MockDateDisplayPipefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MockDateDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
68
- MockDateDisplayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: MockDateDisplayPipe, name: "dateDisplay" });
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MockDateDisplayPipe, decorators: [{
70
- type: Pipe,
71
- args: [{ name: 'dateDisplay' }]
72
- }] });
73
- /** Return a Router spy object that can be used as a mock in tests.*/
74
- export function mockRouterFactory() {
75
- const mockRouter = SpyFactory.createSpy(Router);
76
- mockRouter.isActive.and.returnValue(false);
77
- mockRouter.navigate.and.returnValue(Promise.resolve(true));
78
- Object.defineProperty(mockRouter, 'events', { value: new Subject(), configurable: true });
79
- Object.defineProperty(mockRouter, 'url', { value: '/current/route/url', writable: true });
80
- return mockRouter;
81
- }
82
- /**
83
- * Mock {@link ActivatedRoute} for spying on route and query parameters
84
- *
85
- * @example <caption>Declare!</caption>
86
- * let mockActivatedRoute: MockActivatedRoute = new MockActivatedRoute();
87
- * let paramMapSpy: jasmine.Spy;
88
- * let queryParamMapSpy: jasmine.Spy;
89
- * @example <caption>Provide!</caption>
90
- * providers: [
91
- * ...
92
- * { provide: ActivatedRoute, useValue: mockActivatedRoute },
93
- * ...
94
- * ]
95
- * @example <caption>Spy!</caption>
96
- * paramMapSpy = spyOn(mockActivatedRoute.snapshot.paramMap, 'get');
97
- * queryParamMapSpy = spyOn(mockActivatedRoute.snapshot.queryParamMap, 'get');
98
- * @example <caption>Manipulate!</caption>
99
- * paramMapSpy.and.returnValue("1234");
100
- * queryParamMapSpy.and.returnValue("4321");
101
- */
102
- export class MockActivatedRoute {
103
- constructor() {
104
- this.snapshot = {
105
- paramMap: {
106
- get: function (name) {
107
- return null;
108
- }
109
- },
110
- queryParamMap: {
111
- get: function (name) {
112
- return null;
113
- },
114
- getAll: function (name) {
115
- return [];
116
- },
117
- has: function (name) {
118
- return false;
119
- }
120
- },
121
- routeConfig: {},
122
- };
123
- this.paramMap = new Subject();
124
- this.queryParamMap = new Subject();
125
- this.routeConfig = {};
126
- }
127
- }
128
- MockActivatedRoutefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MockActivatedRoute, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
129
- MockActivatedRoute.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MockActivatedRoute });
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MockActivatedRoute, decorators: [{
131
- type: Injectable
132
- }] });
133
- /** Return a @see RouterHelper spy object that can be used as a mock in tests */
134
- export function mockRouterHelperFactory() {
135
- const mockRouterHelper = SpyFactory.createSpy(RouterHelper);
136
- mockRouterHelper.getFullRouteParamMap.and.callFake((route) => route.paramMap);
137
- mockRouterHelper.getFullRouteParams.and.callFake((route) => route.params);
138
- mockRouterHelper.serializeUrlFromRoot.and.returnValue('serialized/url/from/root');
139
- mockRouterHelper.getLastRouteDescendant.and.callFake((route) => route);
140
- mockRouterHelper.executeWithNavigationWatcher.and.callFake(async (asyncFunc, doFunc, router) => {
141
- const result = await asyncFunc();
142
- await doFunc(result);
143
- return result;
144
- });
145
- mockRouterHelper.getViewUrlSegments.and.returnValue([]);
146
- return mockRouterHelper;
147
- }
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLW1vY2tzLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3Rlc3RpbmcvcHVibGljLW1vY2tzLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUF1QixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUEwQyxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUNoRTs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLFVBQVU7SUFEdkI7UUFHcUIsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BELFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM5RCxtQkFBYyxHQUFZLEtBQUssQ0FBQztLQWdCMUM7SUFaVSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQWlDLEVBQUUsT0FBVyxFQUFFLE9BQXVCO1FBQ3JGLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQXNCO1lBQ25DLFFBQVEsRUFBRSxJQUFJLGlCQUFpQixFQUFLO1NBQ3ZDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBd0I7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7dUdB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Q0FBQyxDQUFDO0lBQ3RHLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUE2QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xGLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RixnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUE2QixFQUFFLE1BQXNDLEVBQUUsTUFBVyxFQUFFLEVBQUU7UUFDdEosTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztJQUNILGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEQsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBmaWxlb3ZlcnZpZXdcclxuICogVGVzdCBtb2NrcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IGNvbnN1bWVycyBvZiB0aGlzIGxpYnJhcnkuXHJcbiAqIElmIHlvdSBkbyBub3Qgd2FudCB0byBleHBvcnQgYSBtb2NrLCBhZGQgaXQgdG8gYGNvbW1vbi1tb2Nrcy5zcGVjLnRzYCBpbnN0ZWFkLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBUeXBlLCBEaXJlY3RpdmUsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZXN1bHQsIERpYWxvZ09wdGlvbnMgfSBmcm9tICcuLi8uLi9kaXNwbGF5L2RpYWxvZy9kaWFsb2ctdHlwZXMnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb250ZW50IH0gZnJvbSAnLi4vLi4vZGlzcGxheS9kaWFsb2cvZGlhbG9nLWNvbnRlbnQnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3B5RmFjdG9yeSB9IGZyb20gJy4vc3B5LWZhY3Rvcnkuc3BlYyc7XHJcbmltcG9ydCB7fSBmcm9tICdqYXNtaW5lJztcclxuaW1wb3J0IHsgUm91dGVySGVscGVyIH0gZnJvbSAnLi4vLi4vY29yZS9yb3V0ZXItaGVscGVyLnNlcnZpY2UnO1xyXG4vKipcclxuICogTW9jayBkaWFsb2cgYmFzZWQgb24gdGhlIGNvbnRlbnQgdHlwZSwgdXNlZCB0byB0ZXN0IG9wZW4gYW5kIGNsb3NlIGZ1bmN0aW9uYWxpdHlcclxuICogQGRlcHJlY2F0ZWQgTW9zdCBjb21wb25lbnRzIHRoYXQgbmVlZCBhIGRpYWxvZyBzaG91bGQgdXNlIGBkaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coKWAsIHdoaWNoIGlzIG11Y2ggZWFzaWVyIHRvIHRlc3RcclxuICogICAgICAgICAgICAgICBhbmQgZG9lcyBub3QgcmVxdWlyZSB0aGUgdXNlIG9mIHRoaXMgY2xhc3MuIEl0IGlzIGluY2x1ZGVkIGZvciBsZWdhY3kgdGVzdCBzdXBwb3J0IG9ubHkuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIE1vY2tEaWFsb2c8VD4ge1xyXG4gICAgQElucHV0KCkgcHVibGljIHNpemU/OiBudW1iZXIgfCAneHNtYWxsJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSc7XHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9wZW5lZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2xvc2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHVibGljIGRpc3BsYXlBc1BhbmVsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIGNvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gICAgcHVibGljIGxhc3RDb250ZXh0PzogVDtcclxuICAgIHB1YmxpYyBhc3luYyBvcGVuKGNvbXBvbmVudDogVHlwZTxEaWFsb2dDb250ZW50PFQ+PiwgY29udGV4dD86IFQsIG9wdGlvbnM/OiBEaWFsb2dPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5sYXN0Q29udGV4dCA9IGNvbnRleHQ7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSA8Q29tcG9uZW50UmVmPGFueT4+e1xyXG4gICAgICAgICAgICBpbnN0YW5jZTogbmV3IE1vY2tEaWFsb2dDb250ZW50PFQ+KClcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLm9wZW5lZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlKHJlc3VsdD86IERpYWxvZ1Jlc3VsdDxUPik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2xvc2VkLmVtaXQocmVzdWx0KTtcclxuICAgIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBNb2NrZWQgZGlhbG9nIGNvbnRlbnQgdG8gdGVzdCBzYXZlIGFuZCBjYW5jZWxcclxuICovXHJcbmV4cG9ydCBjbGFzcyBNb2NrRGlhbG9nQ29udGVudDxUPiBpbXBsZW1lbnRzIERpYWxvZ0NvbnRlbnQ8VD4ge1xyXG4gICAgcHVibGljIGRpYWxvZ0lkOiBzdHJpbmcgPSAnTW9ja0lEJztcclxuICAgIHB1YmxpYyBvcGVuQXJnOiBUIHwgdW5kZWZpbmVkO1xyXG4gICAgcHVibGljIG9uT3BlbjogKG9wZW5Db250ZXh0PzogVCB8IHVuZGVmaW5lZCkgPT4gdm9pZCA9IChvcGVuQ29udGV4dCkgPT4geyB0aGlzLm9wZW5BcmcgPSBvcGVuQ29udGV4dDsgfVxyXG4gICAgcHVibGljIG9uRGlhbG9nU2F2ZTogRXZlbnRFbWl0dGVyPFQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG4gICAgcHVibGljIG9uRGlhbG9nQ2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgcHVibGljIGRlc3Ryb3llZDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE1vY2tlZCBEYXRlRGlzcGxheVBpcGVcclxuICovXHJcbkBQaXBlKHsgbmFtZTogJ2RhdGVEaXNwbGF5JyB9KVxyXG5leHBvcnQgY2xhc3MgTW9ja0RhdGVEaXNwbGF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlPzogRGF0ZSB8IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAnMDEvMDEvMjAxNyc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKiBSZXR1cm4gYSBSb3V0ZXIgc3B5IG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgbW9jayBpbiB0ZXN0cy4qL1xyXG5leHBvcnQgZnVuY3Rpb24gbW9ja1JvdXRlckZhY3RvcnkoKTogamFzbWluZS5TcHlPYmo8Um91dGVyPiB7XHJcbiAgICBjb25zdCBtb2NrUm91dGVyID0gU3B5RmFjdG9yeS5jcmVhdGVTcHkoUm91dGVyKTtcclxuICAgIG1vY2tSb3V0ZXIuaXNBY3RpdmUuYW5kLnJldHVyblZhbHVlKGZhbHNlKTtcclxuICAgIG1vY2tSb3V0ZXIubmF2aWdhdGUuYW5kLnJldHVyblZhbHVlKFByb21pc2UucmVzb2x2ZSh0cnVlKSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobW9ja1JvdXRlciwgJ2V2ZW50cycsIHsgdmFsdWU6IG5ldyBTdWJqZWN0PEV2ZW50PigpLCBjb25maWd1cmFibGU6IHRydWUgfSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobW9ja1JvdXRlciwgJ3VybCcsIHsgdmFsdWU6ICcvY3VycmVudC9yb3V0ZS91cmwnLCB3cml0YWJsZTogdHJ1ZSB9KTtcclxuXHJcbiAgICByZXR1cm4gbW9ja1JvdXRlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIE1vY2sge0BsaW5rIEFjdGl2YXRlZFJvdXRlfSBmb3Igc3B5aW5nIG9uIHJvdXRlIGFuZCBxdWVyeSBwYXJhbWV0ZXJzXHJcbiAqXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPkRlY2xhcmUhPC9jYXB0aW9uPlxyXG4gKiBsZXQgbW9ja0FjdGl2YXRlZFJvdXRlOiBNb2NrQWN0aXZhdGVkUm91dGUgPSBuZXcgTW9ja0FjdGl2YXRlZFJvdXRlKCk7XHJcbiAqIGxldCBwYXJhbU1hcFNweTogamFzbWluZS5TcHk7XHJcbiAqIGxldCBxdWVyeVBhcmFtTWFwU3B5OiBqYXNtaW5lLlNweTtcclxuICogQGV4YW1wbGUgPGNhcHRpb24+UHJvdmlkZSE8L2NhcHRpb24+XHJcbiAqIHByb3ZpZGVyczogW1xyXG4gKiAgICAgIC4uLlxyXG4gKiAgICAgIHsgcHJvdmlkZTogQWN0aXZhdGVkUm91dGUsIHVzZVZhbHVlOiBtb2NrQWN0aXZhdGVkUm91dGUgfSxcclxuICogICAgICAuLi5cclxuICogICAgXVxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5TcHkhPC9jYXB0aW9uPlxyXG4gKiBwYXJhbU1hcFNweSA9IHNweU9uKG1vY2tBY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcCwgJ2dldCcpO1xyXG4gKiBxdWVyeVBhcmFtTWFwU3B5ID0gc3B5T24obW9ja0FjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAsICdnZXQnKTtcclxuICogQGV4YW1wbGUgPGNhcHRpb24+TWFuaXB1bGF0ZSE8L2NhcHRpb24+XHJcbiAqIHBhcmFtTWFwU3B5LmFuZC5yZXR1cm5WYWx1ZShcIjEyMzRcIik7XHJcbiAqIHF1ZXJ5UGFyYW1NYXBTcHkuYW5kLnJldHVyblZhbHVlKFwiNDMyMVwiKTtcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vY2tBY3RpdmF0ZWRSb3V0ZSB7XHJcbiAgICBzbmFwc2hvdCA9IHtcclxuICAgICAgICBwYXJhbU1hcDoge1xyXG4gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBxdWVyeVBhcmFtTWFwOiB7XHJcbiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICBnZXRBbGw6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICBoYXM6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcm91dGVDb25maWc6IHt9LFxyXG4gICAgfTtcclxuICAgIHBhcmFtTWFwID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHF1ZXJ5UGFyYW1NYXAgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgcm91dGVDb25maWcgPSB7fVxyXG59XHJcblxyXG4vKiogUmV0dXJuIGEgQHNlZSBSb3V0ZXJIZWxwZXIgc3B5IG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgbW9jayBpbiB0ZXN0cyAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbW9ja1JvdXRlckhlbHBlckZhY3RvcnkoKTogamFzbWluZS5TcHlPYmo8Um91dGVySGVscGVyPiB7XHJcbiAgICBjb25zdCBtb2NrUm91dGVySGVscGVyID0gU3B5RmFjdG9yeS5jcmVhdGVTcHkoUm91dGVySGVscGVyKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0RnVsbFJvdXRlUGFyYW1NYXAuYW5kLmNhbGxGYWtlKChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4gcm91dGUucGFyYW1NYXApO1xyXG4gICAgbW9ja1JvdXRlckhlbHBlci5nZXRGdWxsUm91dGVQYXJhbXMuYW5kLmNhbGxGYWtlKChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4gcm91dGUucGFyYW1zKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuc2VyaWFsaXplVXJsRnJvbVJvb3QuYW5kLnJldHVyblZhbHVlKCdzZXJpYWxpemVkL3VybC9mcm9tL3Jvb3QnKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0TGFzdFJvdXRlRGVzY2VuZGFudC5hbmQuY2FsbEZha2UoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkgPT4gcm91dGUpO1xyXG4gICAgbW9ja1JvdXRlckhlbHBlci5leGVjdXRlV2l0aE5hdmlnYXRpb25XYXRjaGVyLmFuZC5jYWxsRmFrZShhc3luYyAoYXN5bmNGdW5jOiAoKSA9PiBQcm9taXNlPGFueT4sIGRvRnVuYzogKHJlc3VsdDogYW55KSA9PiBQcm9taXNlPHZvaWQ+LCByb3V0ZXI6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhc3luY0Z1bmMoKTtcclxuICAgICAgYXdhaXQgZG9GdW5jKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9KTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0Vmlld1VybFNlZ21lbnRzLmFuZC5yZXR1cm5WYWx1ZShbXSk7XHJcbiAgICByZXR1cm4gbW9ja1JvdXRlckhlbHBlcjtcclxuICB9XHJcbiJdfQ==
1
+ /**
2
+ * @fileoverview
3
+ * Test mocks that can be used by consumers of this library.
4
+ * If you do not want to export a mock, add it to `common-mocks.spec.ts` instead.
5
+ */
6
+ import { EventEmitter, Input, Output, Pipe, Directive, Injectable } from '@angular/core';
7
+ import { Subject } from 'rxjs';
8
+ import { Router } from '@angular/router';
9
+ import { SpyFactory } from './spy-factory.spec';
10
+ import { RouterHelper } from '../../core/router-helper.service';
11
+ import * as i0 from "@angular/core";
12
+ /**
13
+ * Mock dialog based on the content type, used to test open and close functionality
14
+ * @deprecated Most components that need a dialog should use `dialogService.openDialog()`, which is much easier to test
15
+ * and does not require the use of this class. It is included for legacy test support only.
16
+ */
17
+ export class MockDialog {
18
+ constructor() {
19
+ this.opened = new EventEmitter();
20
+ this.closed = new EventEmitter();
21
+ this.displayAsPanel = false;
22
+ }
23
+ async open(component, context, options) {
24
+ this.lastContext = context;
25
+ this.componentRef = {
26
+ instance: new MockDialogContent()
27
+ };
28
+ this.opened.emit();
29
+ }
30
+ close(result) {
31
+ this.closed.emit(result);
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MockDialog, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { thisdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: MockDialog, inputs: { size: "size" }, outputs: { opened: "opened", closed: "closed" }, ngImport: i0 }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MockDialog, decorators: [{
37
+ type: Directive
38
+ }], propDecorators: { size: [{
39
+ type: Input
40
+ }], opened: [{
41
+ type: Output
42
+ }], closed: [{
43
+ type: Output
44
+ }] } });
45
+ ;
46
+ /**
47
+ * Mocked dialog content to test save and cancel
48
+ */
49
+ export class MockDialogContent {
50
+ constructor() {
51
+ this.dialogId = 'MockID';
52
+ this.onOpen = (openContext) => { this.openArg = openContext; };
53
+ this.onDialogSave = new EventEmitter();
54
+ this.onDialogCancel = new EventEmitter();
55
+ this.destroyed = new Subject();
56
+ }
57
+ }
58
+ ;
59
+ /**
60
+ * Mocked DateDisplayPipe
61
+ */
62
+ export class MockDateDisplayPipe {
63
+ transform(value) {
64
+ return '01/01/2017';
65
+ }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MockDateDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
67
+ static { thispipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: MockDateDisplayPipe, name: "dateDisplay" }); }
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MockDateDisplayPipe, decorators: [{
70
+ type: Pipe,
71
+ args: [{ name: 'dateDisplay' }]
72
+ }] });
73
+ /** Return a Router spy object that can be used as a mock in tests.*/
74
+ export function mockRouterFactory() {
75
+ const mockRouter = SpyFactory.createSpy(Router);
76
+ mockRouter.isActive.and.returnValue(false);
77
+ mockRouter.navigate.and.returnValue(Promise.resolve(true));
78
+ Object.defineProperty(mockRouter, 'events', { value: new Subject(), configurable: true });
79
+ Object.defineProperty(mockRouter, 'url', { value: '/current/route/url', writable: true });
80
+ return mockRouter;
81
+ }
82
+ /**
83
+ * Mock {@link ActivatedRoute} for spying on route and query parameters
84
+ *
85
+ * @example <caption>Declare!</caption>
86
+ * let mockActivatedRoute: MockActivatedRoute = new MockActivatedRoute();
87
+ * let paramMapSpy: jasmine.Spy;
88
+ * let queryParamMapSpy: jasmine.Spy;
89
+ * @example <caption>Provide!</caption>
90
+ * providers: [
91
+ * ...
92
+ * { provide: ActivatedRoute, useValue: mockActivatedRoute },
93
+ * ...
94
+ * ]
95
+ * @example <caption>Spy!</caption>
96
+ * paramMapSpy = spyOn(mockActivatedRoute.snapshot.paramMap, 'get');
97
+ * queryParamMapSpy = spyOn(mockActivatedRoute.snapshot.queryParamMap, 'get');
98
+ * @example <caption>Manipulate!</caption>
99
+ * paramMapSpy.and.returnValue("1234");
100
+ * queryParamMapSpy.and.returnValue("4321");
101
+ */
102
+ export class MockActivatedRoute {
103
+ constructor() {
104
+ this.snapshot = {
105
+ paramMap: {
106
+ get: function (name) {
107
+ return null;
108
+ }
109
+ },
110
+ queryParamMap: {
111
+ get: function (name) {
112
+ return null;
113
+ },
114
+ getAll: function (name) {
115
+ return [];
116
+ },
117
+ has: function (name) {
118
+ return false;
119
+ }
120
+ },
121
+ routeConfig: {},
122
+ };
123
+ this.paramMap = new Subject();
124
+ this.queryParamMap = new Subject();
125
+ this.routeConfig = {};
126
+ }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MockActivatedRoute, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
128
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MockActivatedRoute }); }
129
+ }
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MockActivatedRoute, decorators: [{
131
+ type: Injectable
132
+ }] });
133
+ /** Return a @see RouterHelper spy object that can be used as a mock in tests */
134
+ export function mockRouterHelperFactory() {
135
+ const mockRouterHelper = SpyFactory.createSpy(RouterHelper);
136
+ mockRouterHelper.getFullRouteParamMap.and.callFake((route) => route.paramMap);
137
+ mockRouterHelper.getFullRouteParams.and.callFake((route) => route.params);
138
+ mockRouterHelper.serializeUrlFromRoot.and.returnValue('serialized/url/from/root');
139
+ mockRouterHelper.getLastRouteDescendant.and.callFake((route) => route);
140
+ mockRouterHelper.executeWithNavigationWatcher.and.callFake(async (asyncFunc, doFunc, router) => {
141
+ const result = await asyncFunc();
142
+ await doFunc(result);
143
+ return result;
144
+ });
145
+ mockRouterHelper.getViewUrlSegments.and.returnValue([]);
146
+ return mockRouterHelper;
147
+ }
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLW1vY2tzLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3Rlc3RpbmcvcHVibGljLW1vY2tzLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUF1QixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUEwQyxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUNoRTs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLFVBQVU7SUFEdkI7UUFHcUIsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BELFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM5RCxtQkFBYyxHQUFZLEtBQUssQ0FBQztLQWdCMUM7SUFaVSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQWlDLEVBQUUsT0FBVyxFQUFFLE9BQXVCO1FBQ3JGLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQXNCO1lBQ25DLFFBQVEsRUFBRSxJQUFJLGlCQUFpQixFQUFLO1NBQ3ZDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBd0I7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsQ0FBQzsrR0Fu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Q0FBQyxDQUFDO0lBQ3RHLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUE2QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xGLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RixnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUE2QixFQUFFLE1BQXNDLEVBQUUsTUFBVyxFQUFFLEVBQUU7UUFDdEosTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztJQUNILGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEQsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBmaWxlb3ZlcnZpZXdcclxuICogVGVzdCBtb2NrcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IGNvbnN1bWVycyBvZiB0aGlzIGxpYnJhcnkuXHJcbiAqIElmIHlvdSBkbyBub3Qgd2FudCB0byBleHBvcnQgYSBtb2NrLCBhZGQgaXQgdG8gYGNvbW1vbi1tb2Nrcy5zcGVjLnRzYCBpbnN0ZWFkLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBUeXBlLCBEaXJlY3RpdmUsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZXN1bHQsIERpYWxvZ09wdGlvbnMgfSBmcm9tICcuLi8uLi9kaXNwbGF5L2RpYWxvZy9kaWFsb2ctdHlwZXMnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb250ZW50IH0gZnJvbSAnLi4vLi4vZGlzcGxheS9kaWFsb2cvZGlhbG9nLWNvbnRlbnQnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3B5RmFjdG9yeSB9IGZyb20gJy4vc3B5LWZhY3Rvcnkuc3BlYyc7XHJcbmltcG9ydCB7fSBmcm9tICdqYXNtaW5lJztcclxuaW1wb3J0IHsgUm91dGVySGVscGVyIH0gZnJvbSAnLi4vLi4vY29yZS9yb3V0ZXItaGVscGVyLnNlcnZpY2UnO1xyXG4vKipcclxuICogTW9jayBkaWFsb2cgYmFzZWQgb24gdGhlIGNvbnRlbnQgdHlwZSwgdXNlZCB0byB0ZXN0IG9wZW4gYW5kIGNsb3NlIGZ1bmN0aW9uYWxpdHlcclxuICogQGRlcHJlY2F0ZWQgTW9zdCBjb21wb25lbnRzIHRoYXQgbmVlZCBhIGRpYWxvZyBzaG91bGQgdXNlIGBkaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coKWAsIHdoaWNoIGlzIG11Y2ggZWFzaWVyIHRvIHRlc3RcclxuICogICAgICAgICAgICAgICBhbmQgZG9lcyBub3QgcmVxdWlyZSB0aGUgdXNlIG9mIHRoaXMgY2xhc3MuIEl0IGlzIGluY2x1ZGVkIGZvciBsZWdhY3kgdGVzdCBzdXBwb3J0IG9ubHkuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIE1vY2tEaWFsb2c8VD4ge1xyXG4gICAgQElucHV0KCkgcHVibGljIHNpemU/OiBudW1iZXIgfCAneHNtYWxsJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSc7XHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9wZW5lZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2xvc2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHVibGljIGRpc3BsYXlBc1BhbmVsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIGNvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gICAgcHVibGljIGxhc3RDb250ZXh0PzogVDtcclxuICAgIHB1YmxpYyBhc3luYyBvcGVuKGNvbXBvbmVudDogVHlwZTxEaWFsb2dDb250ZW50PFQ+PiwgY29udGV4dD86IFQsIG9wdGlvbnM/OiBEaWFsb2dPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5sYXN0Q29udGV4dCA9IGNvbnRleHQ7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSA8Q29tcG9uZW50UmVmPGFueT4+e1xyXG4gICAgICAgICAgICBpbnN0YW5jZTogbmV3IE1vY2tEaWFsb2dDb250ZW50PFQ+KClcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLm9wZW5lZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlKHJlc3VsdD86IERpYWxvZ1Jlc3VsdDxUPik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2xvc2VkLmVtaXQocmVzdWx0KTtcclxuICAgIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBNb2NrZWQgZGlhbG9nIGNvbnRlbnQgdG8gdGVzdCBzYXZlIGFuZCBjYW5jZWxcclxuICovXHJcbmV4cG9ydCBjbGFzcyBNb2NrRGlhbG9nQ29udGVudDxUPiBpbXBsZW1lbnRzIERpYWxvZ0NvbnRlbnQ8VD4ge1xyXG4gICAgcHVibGljIGRpYWxvZ0lkOiBzdHJpbmcgPSAnTW9ja0lEJztcclxuICAgIHB1YmxpYyBvcGVuQXJnOiBUIHwgdW5kZWZpbmVkO1xyXG4gICAgcHVibGljIG9uT3BlbjogKG9wZW5Db250ZXh0PzogVCB8IHVuZGVmaW5lZCkgPT4gdm9pZCA9IChvcGVuQ29udGV4dCkgPT4geyB0aGlzLm9wZW5BcmcgPSBvcGVuQ29udGV4dDsgfVxyXG4gICAgcHVibGljIG9uRGlhbG9nU2F2ZTogRXZlbnRFbWl0dGVyPFQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG4gICAgcHVibGljIG9uRGlhbG9nQ2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgcHVibGljIGRlc3Ryb3llZDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE1vY2tlZCBEYXRlRGlzcGxheVBpcGVcclxuICovXHJcbkBQaXBlKHsgbmFtZTogJ2RhdGVEaXNwbGF5JyB9KVxyXG5leHBvcnQgY2xhc3MgTW9ja0RhdGVEaXNwbGF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlPzogRGF0ZSB8IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAnMDEvMDEvMjAxNyc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKiBSZXR1cm4gYSBSb3V0ZXIgc3B5IG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgbW9jayBpbiB0ZXN0cy4qL1xyXG5leHBvcnQgZnVuY3Rpb24gbW9ja1JvdXRlckZhY3RvcnkoKTogamFzbWluZS5TcHlPYmo8Um91dGVyPiB7XHJcbiAgICBjb25zdCBtb2NrUm91dGVyID0gU3B5RmFjdG9yeS5jcmVhdGVTcHkoUm91dGVyKTtcclxuICAgIG1vY2tSb3V0ZXIuaXNBY3RpdmUuYW5kLnJldHVyblZhbHVlKGZhbHNlKTtcclxuICAgIG1vY2tSb3V0ZXIubmF2aWdhdGUuYW5kLnJldHVyblZhbHVlKFByb21pc2UucmVzb2x2ZSh0cnVlKSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobW9ja1JvdXRlciwgJ2V2ZW50cycsIHsgdmFsdWU6IG5ldyBTdWJqZWN0PEV2ZW50PigpLCBjb25maWd1cmFibGU6IHRydWUgfSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobW9ja1JvdXRlciwgJ3VybCcsIHsgdmFsdWU6ICcvY3VycmVudC9yb3V0ZS91cmwnLCB3cml0YWJsZTogdHJ1ZSB9KTtcclxuXHJcbiAgICByZXR1cm4gbW9ja1JvdXRlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIE1vY2sge0BsaW5rIEFjdGl2YXRlZFJvdXRlfSBmb3Igc3B5aW5nIG9uIHJvdXRlIGFuZCBxdWVyeSBwYXJhbWV0ZXJzXHJcbiAqXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPkRlY2xhcmUhPC9jYXB0aW9uPlxyXG4gKiBsZXQgbW9ja0FjdGl2YXRlZFJvdXRlOiBNb2NrQWN0aXZhdGVkUm91dGUgPSBuZXcgTW9ja0FjdGl2YXRlZFJvdXRlKCk7XHJcbiAqIGxldCBwYXJhbU1hcFNweTogamFzbWluZS5TcHk7XHJcbiAqIGxldCBxdWVyeVBhcmFtTWFwU3B5OiBqYXNtaW5lLlNweTtcclxuICogQGV4YW1wbGUgPGNhcHRpb24+UHJvdmlkZSE8L2NhcHRpb24+XHJcbiAqIHByb3ZpZGVyczogW1xyXG4gKiAgICAgIC4uLlxyXG4gKiAgICAgIHsgcHJvdmlkZTogQWN0aXZhdGVkUm91dGUsIHVzZVZhbHVlOiBtb2NrQWN0aXZhdGVkUm91dGUgfSxcclxuICogICAgICAuLi5cclxuICogICAgXVxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5TcHkhPC9jYXB0aW9uPlxyXG4gKiBwYXJhbU1hcFNweSA9IHNweU9uKG1vY2tBY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcCwgJ2dldCcpO1xyXG4gKiBxdWVyeVBhcmFtTWFwU3B5ID0gc3B5T24obW9ja0FjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAsICdnZXQnKTtcclxuICogQGV4YW1wbGUgPGNhcHRpb24+TWFuaXB1bGF0ZSE8L2NhcHRpb24+XHJcbiAqIHBhcmFtTWFwU3B5LmFuZC5yZXR1cm5WYWx1ZShcIjEyMzRcIik7XHJcbiAqIHF1ZXJ5UGFyYW1NYXBTcHkuYW5kLnJldHVyblZhbHVlKFwiNDMyMVwiKTtcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vY2tBY3RpdmF0ZWRSb3V0ZSB7XHJcbiAgICBzbmFwc2hvdCA9IHtcclxuICAgICAgICBwYXJhbU1hcDoge1xyXG4gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBxdWVyeVBhcmFtTWFwOiB7XHJcbiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICBnZXRBbGw6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICBoYXM6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcm91dGVDb25maWc6IHt9LFxyXG4gICAgfTtcclxuICAgIHBhcmFtTWFwID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHF1ZXJ5UGFyYW1NYXAgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgcm91dGVDb25maWcgPSB7fVxyXG59XHJcblxyXG4vKiogUmV0dXJuIGEgQHNlZSBSb3V0ZXJIZWxwZXIgc3B5IG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgbW9jayBpbiB0ZXN0cyAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbW9ja1JvdXRlckhlbHBlckZhY3RvcnkoKTogamFzbWluZS5TcHlPYmo8Um91dGVySGVscGVyPiB7XHJcbiAgICBjb25zdCBtb2NrUm91dGVySGVscGVyID0gU3B5RmFjdG9yeS5jcmVhdGVTcHkoUm91dGVySGVscGVyKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0RnVsbFJvdXRlUGFyYW1NYXAuYW5kLmNhbGxGYWtlKChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4gcm91dGUucGFyYW1NYXApO1xyXG4gICAgbW9ja1JvdXRlckhlbHBlci5nZXRGdWxsUm91dGVQYXJhbXMuYW5kLmNhbGxGYWtlKChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4gcm91dGUucGFyYW1zKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuc2VyaWFsaXplVXJsRnJvbVJvb3QuYW5kLnJldHVyblZhbHVlKCdzZXJpYWxpemVkL3VybC9mcm9tL3Jvb3QnKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0TGFzdFJvdXRlRGVzY2VuZGFudC5hbmQuY2FsbEZha2UoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkgPT4gcm91dGUpO1xyXG4gICAgbW9ja1JvdXRlckhlbHBlci5leGVjdXRlV2l0aE5hdmlnYXRpb25XYXRjaGVyLmFuZC5jYWxsRmFrZShhc3luYyAoYXN5bmNGdW5jOiAoKSA9PiBQcm9taXNlPGFueT4sIGRvRnVuYzogKHJlc3VsdDogYW55KSA9PiBQcm9taXNlPHZvaWQ+LCByb3V0ZXI6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhc3luY0Z1bmMoKTtcclxuICAgICAgYXdhaXQgZG9GdW5jKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9KTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0Vmlld1VybFNlZ21lbnRzLmFuZC5yZXR1cm5WYWx1ZShbXSk7XHJcbiAgICByZXR1cm4gbW9ja1JvdXRlckhlbHBlcjtcclxuICB9XHJcbiJdfQ==
@@ -1,40 +1,40 @@
1
- export class SpyFactory {
2
- /**
3
- * Create a jasmine Spy Object with spies for the methods of the given type.
4
- *
5
- * @param {Type<T>} type Type you want as a mock object, full of spies
6
- * @returns {jasmine.SpyObj<T>} Spy object, full of spies, with type definitions
7
- */
8
- static createSpy(type) {
9
- const methodNames = Object.getOwnPropertyNames(type.prototype);
10
- const spyObj = jasmine.createSpyObj(methodNames);
11
- return spyObj;
12
- }
13
- /**
14
- * Create a jasmine Spy Object with spies for the type's properties and methods.
15
- *
16
- * @param {Type<T>} type Type you want as a mock object
17
- * @returns {jasmine.SpyObj<T>} Spy object with method and property spies
18
- */
19
- static createSpyWithProperties(type) {
20
- const methodNames = Object.getOwnPropertyNames(type.prototype);
21
- // Passing in "new type()" as the second param here creates spies for the properties
22
- // on the provided type that return the default values for each property. To access the spies
23
- // to modify return values for these properties, use getPropertySpy()
24
- const spyObj = jasmine.createSpyObj(methodNames, new type());
25
- return spyObj;
26
- }
27
- /**
28
- * Returns the jasmine spy for the given property on the spy object.
29
- * NOTE: This will only work for properties on spy objects created using createSpyWithProperties() as
30
- * createSpy() only creates spies for the type's methods
31
- *
32
- * @param {jasmine.SpyObj<T>} spyObj
33
- * @param {K extends keyof T} property
34
- * @returns
35
- */
36
- static getPropertySpy(spyObj, property) {
37
- return Object.getOwnPropertyDescriptor(spyObj, property)?.get;
38
- }
39
- }
1
+ export class SpyFactory {
2
+ /**
3
+ * Create a jasmine Spy Object with spies for the methods of the given type.
4
+ *
5
+ * @param {Type<T>} type Type you want as a mock object, full of spies
6
+ * @returns {jasmine.SpyObj<T>} Spy object, full of spies, with type definitions
7
+ */
8
+ static createSpy(type) {
9
+ const methodNames = Object.getOwnPropertyNames(type.prototype);
10
+ const spyObj = jasmine.createSpyObj(methodNames);
11
+ return spyObj;
12
+ }
13
+ /**
14
+ * Create a jasmine Spy Object with spies for the type's properties and methods.
15
+ *
16
+ * @param {Type<T>} type Type you want as a mock object
17
+ * @returns {jasmine.SpyObj<T>} Spy object with method and property spies
18
+ */
19
+ static createSpyWithProperties(type) {
20
+ const methodNames = Object.getOwnPropertyNames(type.prototype);
21
+ // Passing in "new type()" as the second param here creates spies for the properties
22
+ // on the provided type that return the default values for each property. To access the spies
23
+ // to modify return values for these properties, use getPropertySpy()
24
+ const spyObj = jasmine.createSpyObj(methodNames, new type());
25
+ return spyObj;
26
+ }
27
+ /**
28
+ * Returns the jasmine spy for the given property on the spy object.
29
+ * NOTE: This will only work for properties on spy objects created using createSpyWithProperties() as
30
+ * createSpy() only creates spies for the type's methods
31
+ *
32
+ * @param {jasmine.SpyObj<T>} spyObj
33
+ * @param {K extends keyof T} property
34
+ * @returns
35
+ */
36
+ static getPropertySpy(spyObj, property) {
37
+ return Object.getOwnPropertyDescriptor(spyObj, property)?.get;
38
+ }
39
+ }
40
40
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B5LWZhY3Rvcnkuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvdGVzdGluZy9zcHktZmFjdG9yeS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxVQUFVO0lBQ25COzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBSSxJQUFhO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQXNCLENBQUM7UUFDdEUsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLHVCQUF1QixDQUFtQixJQUFhO1FBQ2pFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0Qsb0ZBQW9GO1FBQ3BGLDZGQUE2RjtRQUM3RixxRUFBcUU7UUFDckUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBc0IsQ0FBQztRQUNsRixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsY0FBYyxDQUF1QixNQUF5QixFQUFFLFFBQVc7UUFDckYsT0FBTyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEdBQThCLENBQUM7SUFDN0YsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNweUZhY3Rvcnkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGUgYSBqYXNtaW5lIFNweSBPYmplY3Qgd2l0aCBzcGllcyBmb3IgdGhlIG1ldGhvZHMgb2YgdGhlIGdpdmVuIHR5cGUuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtUeXBlPFQ+fSB0eXBlIFR5cGUgeW91IHdhbnQgYXMgYSBtb2NrIG9iamVjdCwgZnVsbCBvZiBzcGllc1xyXG4gICAgICogQHJldHVybnMge2phc21pbmUuU3B5T2JqPFQ+fSBTcHkgb2JqZWN0LCBmdWxsIG9mIHNwaWVzLCB3aXRoIHR5cGUgZGVmaW5pdGlvbnNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVTcHk8VD4odHlwZTogVHlwZTxUPik6IGphc21pbmUuU3B5T2JqPFQ+IHtcclxuICAgICAgICBjb25zdCBtZXRob2ROYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHR5cGUucHJvdG90eXBlKTtcclxuICAgICAgICBjb25zdCBzcHlPYmogPSBqYXNtaW5lLmNyZWF0ZVNweU9iaihtZXRob2ROYW1lcykgYXMgamFzbWluZS5TcHlPYmo8VD47XHJcbiAgICAgICAgcmV0dXJuIHNweU9iajtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZSBhIGphc21pbmUgU3B5IE9iamVjdCB3aXRoIHNwaWVzIGZvciB0aGUgdHlwZSdzIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VHlwZTxUPn0gdHlwZSBUeXBlIHlvdSB3YW50IGFzIGEgbW9jayBvYmplY3RcclxuICAgICAqIEByZXR1cm5zIHtqYXNtaW5lLlNweU9iajxUPn0gU3B5IG9iamVjdCB3aXRoIG1ldGhvZCBhbmQgcHJvcGVydHkgc3BpZXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVTcHlXaXRoUHJvcGVydGllczxUIGV4dGVuZHMgb2JqZWN0Pih0eXBlOiBUeXBlPFQ+KTogamFzbWluZS5TcHlPYmo8VD4ge1xyXG4gICAgICAgIGNvbnN0IG1ldGhvZE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModHlwZS5wcm90b3R5cGUpO1xyXG4gICAgICAgIC8vIFBhc3NpbmcgaW4gXCJuZXcgdHlwZSgpXCIgYXMgdGhlIHNlY29uZCBwYXJhbSBoZXJlIGNyZWF0ZXMgc3BpZXMgZm9yIHRoZSBwcm9wZXJ0aWVzXHJcbiAgICAgICAgLy8gb24gdGhlIHByb3ZpZGVkIHR5cGUgdGhhdCByZXR1cm4gdGhlIGRlZmF1bHQgdmFsdWVzIGZvciBlYWNoIHByb3BlcnR5LiBUbyBhY2Nlc3MgdGhlIHNwaWVzXHJcbiAgICAgICAgLy8gdG8gbW9kaWZ5IHJldHVybiB2YWx1ZXMgZm9yIHRoZXNlIHByb3BlcnRpZXMsIHVzZSBnZXRQcm9wZXJ0eVNweSgpXHJcbiAgICAgICAgY29uc3Qgc3B5T2JqID0gamFzbWluZS5jcmVhdGVTcHlPYmoobWV0aG9kTmFtZXMsIG5ldyB0eXBlKCkpIGFzIGphc21pbmUuU3B5T2JqPFQ+O1xyXG4gICAgICAgIHJldHVybiBzcHlPYmo7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBqYXNtaW5lIHNweSBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IG9uIHRoZSBzcHkgb2JqZWN0LlxyXG4gICAgICogTk9URTogVGhpcyB3aWxsIG9ubHkgd29yayBmb3IgcHJvcGVydGllcyBvbiBzcHkgb2JqZWN0cyBjcmVhdGVkIHVzaW5nIGNyZWF0ZVNweVdpdGhQcm9wZXJ0aWVzKCkgYXNcclxuICAgICAqIGNyZWF0ZVNweSgpIG9ubHkgY3JlYXRlcyBzcGllcyBmb3IgdGhlIHR5cGUncyBtZXRob2RzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7amFzbWluZS5TcHlPYmo8VD59IHNweU9ialxyXG4gICAgICogQHBhcmFtIHtLIGV4dGVuZHMga2V5b2YgVH0gcHJvcGVydHkgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBnZXRQcm9wZXJ0eVNweTxULCBLIGV4dGVuZHMga2V5b2YgVD4oc3B5T2JqOiBqYXNtaW5lLlNweU9iajxUPiwgcHJvcGVydHk6IEspOiBqYXNtaW5lLlNweTwoKSA9PiBUW0tdPiB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3B5T2JqLCBwcm9wZXJ0eSk/LmdldCBhcyBqYXNtaW5lLlNweTwoKSA9PiBUW0tdPjtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,57 +1,57 @@
1
- import { of } from "rxjs";
2
- export const clickEvent = new MouseEvent('click');
3
- ;
4
- /**
5
- * returns an object that is formatted the same way as an API error would be
6
- * if the provided message was the message coming from the API
7
- * @param message
8
- */
9
- export function getApiError(message) {
10
- return {
11
- error: {
12
- status: {
13
- message: message
14
- }
15
- }
16
- };
17
- }
18
- export class MockTranslateService {
19
- constructor(suffix) {
20
- this.suffix = suffix;
21
- this.currentLang = 'en_US';
22
- }
23
- get(key, interpolateParams) {
24
- return of(key + (this.suffix || ''));
25
- }
26
- stream(key, interpolateParams) {
27
- return of(key + (this.suffix || ''));
28
- }
29
- instant(key, interpolateParams) {
30
- return key + (this.suffix || '');
31
- }
32
- setTranslation(langKey, languagePack, shouldMerge) {
33
- //do nothing
34
- }
35
- setDefaultLang(lang) {
36
- //do nothing
37
- }
38
- use(lang) {
39
- //do nothing
40
- }
41
- }
42
- export class MockTranslationHelperService {
43
- translateObjectArray(items, prop) {
44
- return Promise.resolve(items);
45
- }
46
- translateObjectProperty(item, prop, interpolateParams) {
47
- return of(item);
48
- }
49
- getKendoLocaleId() {
50
- return 'en';
51
- }
52
- translateCorePopValue(key, defaultValue) {
53
- return defaultValue;
54
- }
55
- setLanguage() { }
56
- }
1
+ import { of } from "rxjs";
2
+ export const clickEvent = new MouseEvent('click');
3
+ ;
4
+ /**
5
+ * returns an object that is formatted the same way as an API error would be
6
+ * if the provided message was the message coming from the API
7
+ * @param message
8
+ */
9
+ export function getApiError(message) {
10
+ return {
11
+ error: {
12
+ status: {
13
+ message: message
14
+ }
15
+ }
16
+ };
17
+ }
18
+ export class MockTranslateService {
19
+ constructor(suffix) {
20
+ this.suffix = suffix;
21
+ this.currentLang = 'en_US';
22
+ }
23
+ get(key, interpolateParams) {
24
+ return of(key + (this.suffix || ''));
25
+ }
26
+ stream(key, interpolateParams) {
27
+ return of(key + (this.suffix || ''));
28
+ }
29
+ instant(key, interpolateParams) {
30
+ return key + (this.suffix || '');
31
+ }
32
+ setTranslation(langKey, languagePack, shouldMerge) {
33
+ //do nothing
34
+ }
35
+ setDefaultLang(lang) {
36
+ //do nothing
37
+ }
38
+ use(lang) {
39
+ //do nothing
40
+ }
41
+ }
42
+ export class MockTranslationHelperService {
43
+ translateObjectArray(items, prop) {
44
+ return Promise.resolve(items);
45
+ }
46
+ translateObjectProperty(item, prop, interpolateParams) {
47
+ return of(item);
48
+ }
49
+ getKendoLocaleId() {
50
+ return 'en';
51
+ }
52
+ translateCorePopValue(key, defaultValue) {
53
+ return defaultValue;
54
+ }
55
+ setLanguage() { }
56
+ }
57
57
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tbW9ja3Muc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvdGVzdGluZy90cmFuc2xhdGlvbi1tb2Nrcy5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJdEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFlLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRVIsQ0FBQztBQUN2RDs7OztHQUlHO0FBQ0YsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUFlO0lBQ3hDLE9BQTBCO1FBQ3hCLEtBQUssRUFBRTtZQUNMLE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsT0FBTzthQUNqQjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFSCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQW1CLE1BQWU7UUFBZixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBRDNCLGdCQUFXLEdBQVUsT0FBTyxDQUFDO0lBQ0UsQ0FBQztJQUNoQyxHQUFHLENBQUMsR0FBc0IsRUFBRSxpQkFBc0M7UUFDdkUsT0FBTyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBc0IsRUFBRSxpQkFBc0M7UUFDMUUsT0FBTyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxPQUFPLENBQUMsR0FBcUIsRUFBRSxpQkFBc0M7UUFDMUUsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxjQUFjLENBQUMsT0FBZSxFQUFFLFlBQWlCLEVBQUUsV0FBb0I7UUFDNUUsWUFBWTtJQUNkLENBQUM7SUFFTSxjQUFjLENBQUMsSUFBWTtRQUNoQyxZQUFZO0lBQ2QsQ0FBQztJQUVNLEdBQUcsQ0FBQyxJQUFZO1FBQ3JCLFlBQVk7SUFDZCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sNEJBQTRCO0lBQ2hDLG9CQUFvQixDQUFJLEtBQWUsRUFBRSxJQUFZO1FBQzFELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sdUJBQXVCLENBQUksSUFBTyxFQUFFLElBQVksRUFBRSxpQkFBdUI7UUFDOUUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxHQUFVLEVBQUUsWUFBb0I7UUFDM0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVNLFdBQVcsS0FBVSxDQUFDO0NBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBQaXBlVHJhbnNmb3JtLCBQaXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBjbGlja0V2ZW50OiBNb3VzZUV2ZW50ID0gbmV3IE1vdXNlRXZlbnQoJ2NsaWNrJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFwaUVycm9yIHsgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlIH07XHJcbi8qKlxyXG4gKiByZXR1cm5zIGFuIG9iamVjdCB0aGF0IGlzIGZvcm1hdHRlZCB0aGUgc2FtZSB3YXkgYXMgYW4gQVBJIGVycm9yIHdvdWxkIGJlXHJcbiAqIGlmIHRoZSBwcm92aWRlZCBtZXNzYWdlIHdhcyB0aGUgbWVzc2FnZSBjb21pbmcgZnJvbSB0aGUgQVBJXHJcbiAqIEBwYXJhbSBtZXNzYWdlXHJcbiAqL1xyXG4gZXhwb3J0IGZ1bmN0aW9uIGdldEFwaUVycm9yKG1lc3NhZ2U6IHN0cmluZyk6IEFwaUVycm9yIHtcclxuICAgIHJldHVybiA8SHR0cEVycm9yUmVzcG9uc2U+e1xyXG4gICAgICBlcnJvcjoge1xyXG4gICAgICAgIHN0YXR1czoge1xyXG4gICAgICAgICAgbWVzc2FnZTogbWVzc2FnZVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG5leHBvcnQgY2xhc3MgTW9ja1RyYW5zbGF0ZVNlcnZpY2Uge1xyXG4gIHB1YmxpYyBjdXJyZW50TGFuZzpzdHJpbmcgPSAnZW5fVVMnO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzdWZmaXg/OiBzdHJpbmcpIHsgfVxyXG4gIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcgfCBzdHJpbmdbXSwgaW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QgfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPHN0cmluZyB8IGFueT4ge1xyXG4gICAgcmV0dXJuIG9mKGtleSArICh0aGlzLnN1ZmZpeCB8fCAnJykpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0cmVhbShrZXk6IHN0cmluZyB8IHN0cmluZ1tdLCBpbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8c3RyaW5nIHwgYW55PiB7XHJcbiAgICByZXR1cm4gb2Yoa2V5ICsgKHRoaXMuc3VmZml4IHx8ICcnKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5zdGFudChrZXk6c3RyaW5nIHwgc3RyaW5nW10sIGludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0IHwgdW5kZWZpbmVkKTogYW55IHtcclxuICAgIHJldHVybiBrZXkgKyAodGhpcy5zdWZmaXggfHwgJycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRyYW5zbGF0aW9uKGxhbmdLZXk6IHN0cmluZywgbGFuZ3VhZ2VQYWNrOiBhbnksIHNob3VsZE1lcmdlOiBib29sZWFuKXtcclxuICAgIC8vZG8gbm90aGluZ1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERlZmF1bHRMYW5nKGxhbmc6IHN0cmluZyl7XHJcbiAgICAvL2RvIG5vdGhpbmdcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1c2UobGFuZzogc3RyaW5nKSB7XHJcbiAgICAvL2RvIG5vdGhpbmdcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNb2NrVHJhbnNsYXRpb25IZWxwZXJTZXJ2aWNlIHtcclxuICBwdWJsaWMgdHJhbnNsYXRlT2JqZWN0QXJyYXk8VD4oaXRlbXM6IEFycmF5PFQ+LCBwcm9wOiBzdHJpbmcpOiBQcm9taXNlPEFycmF5PFQ+PiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGl0ZW1zKTtcclxuICB9XHJcbiAgXHJcbiAgcHVibGljIHRyYW5zbGF0ZU9iamVjdFByb3BlcnR5PFQ+KGl0ZW06IFQsIHByb3A6IHN0cmluZywgaW50ZXJwb2xhdGVQYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiBvZihpdGVtKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRLZW5kb0xvY2FsZUlkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ2VuJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVDb3JlUG9wVmFsdWUoa2V5OnN0cmluZywgZGVmYXVsdFZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMYW5ndWFnZSgpOiB2b2lkIHt9XHJcbn0iXX0=
@@ -1,17 +1,17 @@
1
- import { Injectable } from '@angular/core';
2
- import { of } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class UserPreferenceService {
5
- getPreferences() {
6
- return of({ preference: { dateFormat: 'MM/DD/YYYY', timeFormat: 'h:mm:ss a' } });
7
- }
8
- }
9
- UserPreferenceServicefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserPreferenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10
- UserPreferenceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserPreferenceService, providedIn: 'root' });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserPreferenceService, decorators: [{
12
- type: Injectable,
13
- args: [{
14
- providedIn: 'root'
15
- }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3VzZXItcHJlZmVyZW5jZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFVdEMsTUFBTSxPQUFPLHFCQUFxQjtJQUV6QixjQUFjO1FBQ2pCLE9BQU8sRUFBRSxDQUFDLEVBQUMsVUFBVSxFQUFDLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7O2tIQUpVLHFCQUFxQjtzSEFBckIscUJBQXFCLGNBRnRCLE1BQU07MkZBRUwscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNaLFVBQVUsRUFBRSxNQUFNO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGVQcmVmZXJlbmNlQ29udGFpbmVyIHtcclxuICBwcmVmZXJlbmNlOiB7ZGF0ZUZvcm1hdDogc3RyaW5nfG51bGx8dW5kZWZpbmVkLCB0aW1lRm9ybWF0OiBzdHJpbmd8bnVsbHx1bmRlZmluZWR9IHwgbnVsbCB8IHVuZGVmaW5lZFxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbnByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlclByZWZlcmVuY2VTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIGdldFByZWZlcmVuY2VzKCk6IE9ic2VydmFibGU8RGF0ZVByZWZlcmVuY2VDb250YWluZXI+IHsgXHJcbiAgICAgIHJldHVybiBvZih7cHJlZmVyZW5jZTp7ZGF0ZUZvcm1hdDogJ01NL0REL1lZWVknLCB0aW1lRm9ybWF0OiAnaDptbTpzcyBhJ319KTtcclxuICB9XHJcbiAgXHJcbn1cclxuIl19
1
+ import { Injectable } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class UserPreferenceService {
5
+ getPreferences() {
6
+ return of({ preference: { dateFormat: 'MM/DD/YYYY', timeFormat: 'h:mm:ss a' } });
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserPreferenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserPreferenceService, providedIn: 'root' }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserPreferenceService, decorators: [{
12
+ type: Injectable,
13
+ args: [{
14
+ providedIn: 'root'
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3VzZXItcHJlZmVyZW5jZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFVdEMsTUFBTSxPQUFPLHFCQUFxQjtJQUV6QixjQUFjO1FBQ2pCLE9BQU8sRUFBRSxDQUFDLEVBQUMsVUFBVSxFQUFDLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7K0dBSlUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGdEIsTUFBTTs7NEZBRUwscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNaLFVBQVUsRUFBRSxNQUFNO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGVQcmVmZXJlbmNlQ29udGFpbmVyIHtcclxuICBwcmVmZXJlbmNlOiB7ZGF0ZUZvcm1hdDogc3RyaW5nfG51bGx8dW5kZWZpbmVkLCB0aW1lRm9ybWF0OiBzdHJpbmd8bnVsbHx1bmRlZmluZWR9IHwgbnVsbCB8IHVuZGVmaW5lZFxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbnByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlclByZWZlcmVuY2VTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIGdldFByZWZlcmVuY2VzKCk6IE9ic2VydmFibGU8RGF0ZVByZWZlcmVuY2VDb250YWluZXI+IHsgXHJcbiAgICAgIHJldHVybiBvZih7cHJlZmVyZW5jZTp7ZGF0ZUZvcm1hdDogJ01NL0REL1lZWVknLCB0aW1lRm9ybWF0OiAnaDptbTpzcyBhJ319KTtcclxuICB9XHJcbiAgXHJcbn1cclxuIl19