@hmcts/rpx-xui-common-lib 1.8.0-angular-upgrade-9-rc.6 → 2.0.0-angular-upgrade-8

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 (280) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +7435 -3173
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +2 -2
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +28 -22
  6. package/esm2015/lib/components/accessibility/accessibility.component.js +17 -13
  7. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +127 -45
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +23 -16
  9. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +78 -31
  10. package/esm2015/lib/components/due-date/due-date.component.js +110 -24
  11. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +34 -29
  12. package/esm2015/lib/components/find-location/find-location.component.js +140 -69
  13. package/esm2015/lib/components/find-person/find-person.component.js +180 -97
  14. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +55 -11
  15. package/esm2015/lib/components/generic-filter/generic-filter.component.js +293 -54
  16. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +29 -20
  17. package/esm2015/lib/components/index.js +7 -2
  18. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +33 -23
  19. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +35 -34
  20. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +22 -16
  21. package/esm2015/lib/components/pagination/pagination.component.js +38 -28
  22. package/esm2015/lib/components/public_api.js +33 -33
  23. package/esm2015/lib/components/search-judicials/search-judicials.component.js +156 -70
  24. package/esm2015/lib/components/search-location/search-location.component.js +183 -80
  25. package/esm2015/lib/components/search-venue/search-venue.component.js +154 -62
  26. package/esm2015/lib/components/selected-case/selected-case.component.js +191 -54
  27. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +53 -22
  28. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +68 -38
  29. package/esm2015/lib/components/service-message/service-message.component.js +32 -23
  30. package/esm2015/lib/components/service-messages/service-messages.component.js +77 -29
  31. package/esm2015/lib/components/share-case/share-case.component.js +104 -45
  32. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +50 -27
  33. package/esm2015/lib/components/tab/tab.component.js +37 -19
  34. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +29 -20
  35. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +17 -13
  36. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +17 -13
  37. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +23 -16
  38. package/esm2015/lib/components/user-details/user-details.component.js +57 -47
  39. package/esm2015/lib/components/user-list/user-list.component.js +54 -19
  40. package/esm2015/lib/components/user-select/user-select.component.js +64 -23
  41. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +67 -21
  42. package/esm2015/lib/directives/index.js +7 -2
  43. package/esm2015/lib/directives/let/let.directive.js +49 -16
  44. package/esm2015/lib/directives/public-api.js +8 -3
  45. package/esm2015/lib/exui-common-lib.module.js +40 -31
  46. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +34 -23
  47. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +23 -18
  48. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +68 -30
  49. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +25 -19
  50. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +28 -19
  51. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +36 -23
  52. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +28 -23
  53. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +35 -24
  54. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +22 -15
  55. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +35 -23
  56. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +23 -18
  57. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +34 -27
  58. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +47 -32
  59. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +29 -22
  60. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +26 -20
  61. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +56 -26
  62. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +27 -17
  63. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +52 -40
  64. package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +49 -0
  65. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +36 -29
  66. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +40 -18
  67. package/esm2015/lib/gov-ui/components/index.js +7 -2
  68. package/esm2015/lib/gov-ui/components/public_api.js +7 -21
  69. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +30 -12
  70. package/esm2015/lib/gov-ui/gov-ui.service.js +16 -12
  71. package/esm2015/lib/gov-ui/index.js +7 -2
  72. package/esm2015/lib/gov-ui/models/banner-data-model.js +16 -1
  73. package/esm2015/lib/gov-ui/models/checkboxes-model.js +22 -1
  74. package/esm2015/lib/gov-ui/models/error-messages-model.js +16 -1
  75. package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +36 -1
  76. package/esm2015/lib/gov-ui/models/index.js +7 -1
  77. package/esm2015/lib/gov-ui/models/isession-storage.interface.js +24 -1
  78. package/esm2015/lib/gov-ui/models/public_api.js +10 -1
  79. package/esm2015/lib/gov-ui/public_api.js +9 -5
  80. package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +14 -4
  81. package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +48 -12
  82. package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +24 -5
  83. package/esm2015/lib/gov-ui/validators/date.validator.js +20 -3
  84. package/esm2015/lib/gov-ui/validators/index.js +7 -2
  85. package/esm2015/lib/gov-ui/validators/public_api.js +9 -4
  86. package/esm2015/lib/gov-ui/validators/radio-group.validator.js +15 -3
  87. package/esm2015/lib/models/case-share.model.js +26 -1
  88. package/esm2015/lib/models/contact-details.model.js +31 -7
  89. package/esm2015/lib/models/due-date.model.js +14 -7
  90. package/esm2015/lib/models/feature-user.js +16 -1
  91. package/esm2015/lib/models/filter.model.js +116 -1
  92. package/esm2015/lib/models/idle-config.model.js +20 -1
  93. package/esm2015/lib/models/index.js +19 -6
  94. package/esm2015/lib/models/location.model.js +108 -1
  95. package/esm2015/lib/models/pagination.model.js +18 -0
  96. package/esm2015/lib/models/person.model.js +92 -17
  97. package/esm2015/lib/models/public_api.js +11 -4
  98. package/esm2015/lib/models/search-options.model.js +22 -1
  99. package/esm2015/lib/models/tcDocument.model.js +18 -1
  100. package/esm2015/lib/models/timeout-notification.model.js +18 -1
  101. package/esm2015/lib/models/user-details.model.js +22 -1
  102. package/esm2015/lib/models/user.model.js +25 -1
  103. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +92 -19
  104. package/esm2015/lib/services/cookie/cookie.service.js +78 -19
  105. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +51 -16
  106. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +35 -11
  107. package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +101 -21
  108. package/esm2015/lib/services/filter/filter.service.js +63 -11
  109. package/esm2015/lib/services/find-person/find-person.service.js +130 -25
  110. package/esm2015/lib/services/google-analytics/google-analytics.service.js +70 -21
  111. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +71 -23
  112. package/esm2015/lib/services/index.js +7 -2
  113. package/esm2015/lib/services/loading/loading.service.js +48 -11
  114. package/esm2015/lib/services/locations/location.service.js +35 -22
  115. package/esm2015/lib/services/manage-session/manage-session.services.js +70 -21
  116. package/esm2015/lib/services/public-api.js +18 -13
  117. package/esm2015/lib/services/role-guard/role.guard.js +61 -24
  118. package/esm2015/lib/services/role-guard/role.service.js +28 -11
  119. package/esm2015/lib/services/session-storage/session-storage.service.js +24 -12
  120. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +82 -20
  121. package/esm2015/lib/window.js +10 -1
  122. package/esm2015/public-api.js +13 -8
  123. package/esm5/hmcts-rpx-xui-common-lib.js +28 -22
  124. package/esm5/lib/components/accessibility/accessibility.component.js +15 -10
  125. package/esm5/lib/components/checkbox-list/checkbox-list.component.js +232 -57
  126. package/esm5/lib/components/contact-details/contact-details.component.js +22 -14
  127. package/esm5/lib/components/cookie-banner/cookie-banner.component.js +106 -36
  128. package/esm5/lib/components/due-date/due-date.component.js +142 -29
  129. package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +33 -27
  130. package/esm5/lib/components/find-location/find-location.component.js +180 -80
  131. package/esm5/lib/components/find-person/find-person.component.js +203 -102
  132. package/esm5/lib/components/generic-filter/generic-filter-utils.js +57 -13
  133. package/esm5/lib/components/generic-filter/generic-filter.component.js +421 -85
  134. package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +32 -19
  135. package/esm5/lib/components/index.js +7 -2
  136. package/esm5/lib/components/invite-user-form/invite-user-form.component.js +37 -23
  137. package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +34 -32
  138. package/esm5/lib/components/loading-spinner/loading-spinner.component.js +21 -14
  139. package/esm5/lib/components/pagination/pagination.component.js +45 -28
  140. package/esm5/lib/components/public_api.js +33 -33
  141. package/esm5/lib/components/search-judicials/search-judicials.component.js +198 -78
  142. package/esm5/lib/components/search-location/search-location.component.js +217 -89
  143. package/esm5/lib/components/search-venue/search-venue.component.js +199 -71
  144. package/esm5/lib/components/selected-case/selected-case.component.js +279 -72
  145. package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +61 -22
  146. package/esm5/lib/components/selected-case-list/selected-case-list.component.js +82 -39
  147. package/esm5/lib/components/service-message/service-message.component.js +36 -22
  148. package/esm5/lib/components/service-messages/service-messages.component.js +91 -30
  149. package/esm5/lib/components/share-case/share-case.component.js +138 -52
  150. package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +49 -25
  151. package/esm5/lib/components/tab/tab.component.js +41 -18
  152. package/esm5/lib/components/tc-confirm/tc-confirm.component.js +32 -19
  153. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +15 -10
  154. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +15 -10
  155. package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +22 -14
  156. package/esm5/lib/components/user-details/user-details.component.js +71 -48
  157. package/esm5/lib/components/user-list/user-list.component.js +65 -18
  158. package/esm5/lib/components/user-select/user-select.component.js +92 -27
  159. package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +70 -21
  160. package/esm5/lib/directives/index.js +7 -2
  161. package/esm5/lib/directives/let/let.directive.js +51 -15
  162. package/esm5/lib/directives/public-api.js +8 -3
  163. package/esm5/lib/exui-common-lib.module.js +34 -22
  164. package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +37 -22
  165. package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +22 -16
  166. package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +89 -32
  167. package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +24 -17
  168. package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +31 -18
  169. package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +43 -23
  170. package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +27 -21
  171. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +45 -24
  172. package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +21 -13
  173. package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +44 -18
  174. package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +22 -16
  175. package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +37 -26
  176. package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +51 -31
  177. package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +32 -21
  178. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +25 -18
  179. package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +71 -28
  180. package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +27 -16
  181. package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +60 -41
  182. package/esm5/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +51 -0
  183. package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +36 -28
  184. package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +39 -16
  185. package/esm5/lib/gov-ui/components/index.js +7 -2
  186. package/esm5/lib/gov-ui/components/public_api.js +7 -21
  187. package/esm5/lib/gov-ui/directives/remove-host.directive.js +29 -10
  188. package/esm5/lib/gov-ui/gov-ui.service.js +14 -9
  189. package/esm5/lib/gov-ui/index.js +7 -2
  190. package/esm5/lib/gov-ui/models/banner-data-model.js +16 -1
  191. package/esm5/lib/gov-ui/models/checkboxes-model.js +22 -1
  192. package/esm5/lib/gov-ui/models/error-messages-model.js +16 -1
  193. package/esm5/lib/gov-ui/models/gov-ui-config-model.js +36 -1
  194. package/esm5/lib/gov-ui/models/index.js +7 -1
  195. package/esm5/lib/gov-ui/models/isession-storage.interface.js +24 -1
  196. package/esm5/lib/gov-ui/models/public_api.js +10 -1
  197. package/esm5/lib/gov-ui/public_api.js +9 -5
  198. package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +34 -3
  199. package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +48 -12
  200. package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +24 -5
  201. package/esm5/lib/gov-ui/validators/date.validator.js +20 -3
  202. package/esm5/lib/gov-ui/validators/index.js +7 -2
  203. package/esm5/lib/gov-ui/validators/public_api.js +9 -4
  204. package/esm5/lib/gov-ui/validators/radio-group.validator.js +15 -3
  205. package/esm5/lib/models/case-share.model.js +26 -1
  206. package/esm5/lib/models/contact-details.model.js +31 -7
  207. package/esm5/lib/models/due-date.model.js +14 -7
  208. package/esm5/lib/models/feature-user.js +16 -1
  209. package/esm5/lib/models/filter.model.js +116 -1
  210. package/esm5/lib/models/idle-config.model.js +20 -1
  211. package/esm5/lib/models/index.js +19 -6
  212. package/esm5/lib/models/location.model.js +108 -1
  213. package/esm5/lib/models/pagination.model.js +18 -0
  214. package/esm5/lib/models/person.model.js +92 -17
  215. package/esm5/lib/models/public_api.js +11 -4
  216. package/esm5/lib/models/search-options.model.js +22 -1
  217. package/esm5/lib/models/tcDocument.model.js +18 -1
  218. package/esm5/lib/models/timeout-notification.model.js +18 -1
  219. package/esm5/lib/models/user-details.model.js +22 -1
  220. package/esm5/lib/models/user.model.js +25 -1
  221. package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +132 -27
  222. package/esm5/lib/services/cookie/cookie.service.js +104 -21
  223. package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +61 -13
  224. package/esm5/lib/services/feature-toggle/feature-toggle.service.js +70 -12
  225. package/esm5/lib/services/feature-toggle/launch-darkly.service.js +142 -21
  226. package/esm5/lib/services/filter/filter.service.js +101 -15
  227. package/esm5/lib/services/find-person/find-person.service.js +152 -27
  228. package/esm5/lib/services/google-analytics/google-analytics.service.js +78 -21
  229. package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +79 -23
  230. package/esm5/lib/services/index.js +7 -2
  231. package/esm5/lib/services/loading/loading.service.js +69 -14
  232. package/esm5/lib/services/locations/location.service.js +50 -11
  233. package/esm5/lib/services/manage-session/manage-session.services.js +73 -20
  234. package/esm5/lib/services/public-api.js +18 -13
  235. package/esm5/lib/services/role-guard/role.guard.js +60 -22
  236. package/esm5/lib/services/role-guard/role.service.js +28 -10
  237. package/esm5/lib/services/session-storage/session-storage.service.js +61 -12
  238. package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +111 -19
  239. package/esm5/lib/window.js +10 -1
  240. package/esm5/public-api.js +13 -8
  241. package/fesm2015/hmcts-rpx-xui-common-lib.js +6513 -3192
  242. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  243. package/fesm5/hmcts-rpx-xui-common-lib.js +7455 -3160
  244. package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
  245. package/hmcts-rpx-xui-common-lib.d.ts +21 -20
  246. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  247. package/lib/components/checkbox-list/checkbox-list.component.d.ts +5 -6
  248. package/lib/components/due-date/due-date.component.d.ts +4 -4
  249. package/lib/components/find-location/find-location.component.d.ts +2 -4
  250. package/lib/components/generic-filter/generic-filter.component.d.ts +2 -4
  251. package/lib/components/invite-user-form/invite-user-form.component.d.ts +1 -1
  252. package/lib/components/public_api.d.ts +4 -9
  253. package/lib/components/search-judicials/search-judicials.component.d.ts +1 -1
  254. package/lib/components/search-location/search-location.component.d.ts +2 -4
  255. package/lib/components/search-venue/search-venue.component.d.ts +1 -1
  256. package/lib/components/user-list/user-list.component.d.ts +9 -2
  257. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
  258. package/lib/directives/let/let.directive.d.ts +1 -1
  259. package/lib/exui-common-lib.module.d.ts +4 -2
  260. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
  261. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
  262. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +1 -1
  263. package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +10 -0
  264. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
  265. package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +2 -0
  266. package/lib/gov-ui/components/public_api.d.ts +0 -19
  267. package/lib/gov-ui/public_api.d.ts +1 -2
  268. package/lib/models/index.d.ts +1 -0
  269. package/lib/models/pagination.model.d.ts +5 -0
  270. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
  271. package/lib/services/loading/loading.service.d.ts +2 -2
  272. package/lib/services/role-guard/role.service.d.ts +1 -2
  273. package/lib/window.d.ts +1 -1
  274. package/package.json +10 -6
  275. package/esm2015/lib/gov-ui/directives/index.js +0 -2
  276. package/esm2015/lib/gov-ui/directives/public_api.js +0 -2
  277. package/esm5/lib/gov-ui/directives/index.js +0 -2
  278. package/esm5/lib/gov-ui/directives/public_api.js +0 -2
  279. package/lib/gov-ui/directives/index.d.ts +0 -1
  280. package/lib/gov-ui/directives/public_api.d.ts +0 -1
@@ -1,4 +1,9 @@
1
- import { __assign, __decorate, __metadata, __values } from "tslib";
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/services/case-sharing-state/case-sharing-state.service.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import * as tslib_1 from "tslib";
2
7
  import { Injectable } from '@angular/core';
3
8
  import { BehaviorSubject } from 'rxjs';
4
9
  import { distinctUntilChanged } from 'rxjs/operators';
@@ -9,41 +14,78 @@ var CaseSharingStateService = /** @class */ (function () {
9
14
  this.subject = new BehaviorSubject(this.caseState);
10
15
  }
11
16
  Object.defineProperty(CaseSharingStateService.prototype, "state", {
12
- get: function () {
17
+ get: /**
18
+ * @return {?}
19
+ */
20
+ function () {
13
21
  return this.subject.asObservable().pipe(distinctUntilChanged());
14
22
  },
15
23
  enumerable: true,
16
24
  configurable: true
17
25
  });
18
- CaseSharingStateService.prototype.setCases = function (cases) {
26
+ /**
27
+ * @param {?} cases
28
+ * @return {?}
29
+ */
30
+ CaseSharingStateService.prototype.setCases = /**
31
+ * @param {?} cases
32
+ * @return {?}
33
+ */
34
+ function (cases) {
19
35
  var _this = this;
20
36
  this.caseState = [];
21
- cases.forEach(function (aCase) {
37
+ cases.forEach((/**
38
+ * @param {?} aCase
39
+ * @return {?}
40
+ */
41
+ function (aCase) {
22
42
  _this.caseState.push({ caseId: aCase.caseId, caseTitle: aCase.caseTitle, caseTypeId: aCase.caseTypeId, roles: aCase.roles,
23
43
  sharedWith: aCase.sharedWith, pendingShares: aCase.pendingShares, pendingUnshares: aCase.pendingUnshares });
24
- });
44
+ }));
25
45
  this.subject.next(this.caseState);
26
46
  };
27
- CaseSharingStateService.prototype.getCases = function () {
47
+ /**
48
+ * @return {?}
49
+ */
50
+ CaseSharingStateService.prototype.getCases = /**
51
+ * @return {?}
52
+ */
53
+ function () {
28
54
  return this.caseState;
29
55
  };
30
- CaseSharingStateService.prototype.requestShare = function (user) {
56
+ /**
57
+ * @param {?} user
58
+ * @return {?}
59
+ */
60
+ CaseSharingStateService.prototype.requestShare = /**
61
+ * @param {?} user
62
+ * @return {?}
63
+ */
64
+ function (user) {
31
65
  var e_1, _a;
66
+ /** @type {?} */
32
67
  var oldSharedCases = this.caseState.slice();
68
+ /** @type {?} */
33
69
  var newSharedCases = [];
34
70
  try {
35
- for (var oldSharedCases_1 = __values(oldSharedCases), oldSharedCases_1_1 = oldSharedCases_1.next(); !oldSharedCases_1_1.done; oldSharedCases_1_1 = oldSharedCases_1.next()) {
71
+ for (var oldSharedCases_1 = tslib_1.__values(oldSharedCases), oldSharedCases_1_1 = oldSharedCases_1.next(); !oldSharedCases_1_1.done; oldSharedCases_1_1 = oldSharedCases_1.next()) {
36
72
  var sharedCase = oldSharedCases_1_1.value;
37
73
  if (!sharedCase.pendingShares) {
38
74
  sharedCase.pendingShares = [];
39
75
  }
76
+ /** @type {?} */
40
77
  var newPendingShares = sharedCase.pendingShares.slice();
41
78
  if (!sharedCase.pendingUnshares) {
42
79
  sharedCase.pendingUnshares = [];
43
80
  }
81
+ /** @type {?} */
44
82
  var newPendingUnshares = sharedCase.pendingUnshares.slice();
45
83
  if (!this.userHasAccess(sharedCase, user)) {
46
- if (!newPendingShares.some(function (u) { return u.email === user.email; })) {
84
+ if (!newPendingShares.some((/**
85
+ * @param {?} u
86
+ * @return {?}
87
+ */
88
+ function (u) { return u.email === user.email; }))) {
47
89
  newPendingShares.push(user);
48
90
  }
49
91
  }
@@ -55,7 +97,8 @@ var CaseSharingStateService = /** @class */ (function () {
55
97
  }
56
98
  }
57
99
  }
58
- var newSharedCase = __assign(__assign({}, sharedCase), { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
100
+ /** @type {?} */
101
+ var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
59
102
  newSharedCases.push(newSharedCase);
60
103
  }
61
104
  }
@@ -69,26 +112,43 @@ var CaseSharingStateService = /** @class */ (function () {
69
112
  this.subject.next(newSharedCases);
70
113
  return newSharedCases;
71
114
  };
72
- CaseSharingStateService.prototype.requestUnshare = function (caseId, user) {
115
+ /**
116
+ * @param {?} caseId
117
+ * @param {?} user
118
+ * @return {?}
119
+ */
120
+ CaseSharingStateService.prototype.requestUnshare = /**
121
+ * @param {?} caseId
122
+ * @param {?} user
123
+ * @return {?}
124
+ */
125
+ function (caseId, user) {
73
126
  var e_2, _a;
127
+ /** @type {?} */
74
128
  var newSharedCases = [];
75
129
  try {
76
- for (var _b = __values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
130
+ for (var _b = tslib_1.__values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
77
131
  var sharedCase = _c.value;
78
132
  if (sharedCase.caseId === caseId) {
79
133
  if (!sharedCase.pendingUnshares) {
80
134
  sharedCase.pendingUnshares = [];
81
135
  }
136
+ /** @type {?} */
82
137
  var newPendingUnshares = sharedCase.pendingUnshares.slice();
83
138
  if (newPendingUnshares) {
84
- if (!newPendingUnshares.some(function (u) { return u.email === user.email; })) {
139
+ if (!newPendingUnshares.some((/**
140
+ * @param {?} u
141
+ * @return {?}
142
+ */
143
+ function (u) { return u.email === user.email; }))) {
85
144
  newPendingUnshares.push(user);
86
145
  }
87
146
  }
88
147
  else {
89
148
  newPendingUnshares.push(user);
90
149
  }
91
- var newSharedCase = __assign(__assign({}, sharedCase), { pendingUnshares: newPendingUnshares });
150
+ /** @type {?} */
151
+ var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares });
92
152
  newSharedCases.push(newSharedCase);
93
153
  }
94
154
  else {
@@ -106,16 +166,28 @@ var CaseSharingStateService = /** @class */ (function () {
106
166
  this.subject.next(newSharedCases);
107
167
  return;
108
168
  };
109
- CaseSharingStateService.prototype.requestCancel = function (caseId, user) {
169
+ /**
170
+ * @param {?} caseId
171
+ * @param {?} user
172
+ * @return {?}
173
+ */
174
+ CaseSharingStateService.prototype.requestCancel = /**
175
+ * @param {?} caseId
176
+ * @param {?} user
177
+ * @return {?}
178
+ */
179
+ function (caseId, user) {
110
180
  var e_3, _a;
181
+ /** @type {?} */
111
182
  var newSharedCases = [];
112
183
  try {
113
- for (var _b = __values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
184
+ for (var _b = tslib_1.__values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
114
185
  var sharedCase = _c.value;
115
186
  if (sharedCase.caseId === caseId) {
116
187
  if (!sharedCase.pendingUnshares) {
117
188
  sharedCase.pendingUnshares = [];
118
189
  }
190
+ /** @type {?} */
119
191
  var newPendingUnshares = sharedCase.pendingUnshares.slice();
120
192
  for (var iPendingUnshares = 0; iPendingUnshares < newPendingUnshares.length; iPendingUnshares++) {
121
193
  if (newPendingUnshares[iPendingUnshares].email === user.email) {
@@ -126,6 +198,7 @@ var CaseSharingStateService = /** @class */ (function () {
126
198
  if (!sharedCase.pendingShares) {
127
199
  sharedCase.pendingShares = [];
128
200
  }
201
+ /** @type {?} */
129
202
  var newPendingShares = sharedCase.pendingShares.slice();
130
203
  for (var iPendingShares = 0; iPendingShares < newPendingShares.length; iPendingShares++) {
131
204
  if (newPendingShares[iPendingShares].email === user.email) {
@@ -133,7 +206,8 @@ var CaseSharingStateService = /** @class */ (function () {
133
206
  break;
134
207
  }
135
208
  }
136
- var newSharedCase = __assign(__assign({}, sharedCase), { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
209
+ /** @type {?} */
210
+ var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
137
211
  newSharedCases.push(newSharedCase);
138
212
  }
139
213
  else {
@@ -151,7 +225,15 @@ var CaseSharingStateService = /** @class */ (function () {
151
225
  this.subject.next(newSharedCases);
152
226
  return;
153
227
  };
154
- CaseSharingStateService.prototype.removeCase = function (caseId) {
228
+ /**
229
+ * @param {?} caseId
230
+ * @return {?}
231
+ */
232
+ CaseSharingStateService.prototype.removeCase = /**
233
+ * @param {?} caseId
234
+ * @return {?}
235
+ */
236
+ function (caseId) {
155
237
  for (var i = 0, l = this.caseState.length; i < l; i++) {
156
238
  if (this.caseState[i].caseId === caseId) {
157
239
  this.caseState.splice(i, 1);
@@ -160,7 +242,17 @@ var CaseSharingStateService = /** @class */ (function () {
160
242
  }
161
243
  }
162
244
  };
163
- CaseSharingStateService.prototype.userHasAccess = function (c, user) {
245
+ /**
246
+ * @param {?} c
247
+ * @param {?} user
248
+ * @return {?}
249
+ */
250
+ CaseSharingStateService.prototype.userHasAccess = /**
251
+ * @param {?} c
252
+ * @param {?} user
253
+ * @return {?}
254
+ */
255
+ function (c, user) {
164
256
  if (!c.sharedWith) {
165
257
  return false;
166
258
  }
@@ -171,14 +263,27 @@ var CaseSharingStateService = /** @class */ (function () {
171
263
  }
172
264
  return false;
173
265
  };
174
- CaseSharingStateService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CaseSharingStateService_Factory() { return new CaseSharingStateService(); }, token: CaseSharingStateService, providedIn: "root" });
175
- CaseSharingStateService = __decorate([
176
- Injectable({
177
- providedIn: 'root'
178
- }),
179
- __metadata("design:paramtypes", [])
180
- ], CaseSharingStateService);
266
+ CaseSharingStateService.decorators = [
267
+ { type: Injectable, args: [{
268
+ providedIn: 'root'
269
+ },] }
270
+ ];
271
+ /** @nocollapse */
272
+ CaseSharingStateService.ctorParameters = function () { return []; };
273
+ /** @nocollapse */ CaseSharingStateService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function CaseSharingStateService_Factory() { return new CaseSharingStateService(); }, token: CaseSharingStateService, providedIn: "root" });
181
274
  return CaseSharingStateService;
182
275
  }());
183
276
  export { CaseSharingStateService };
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU90RDtJQVdFO1FBVFEsY0FBUyxHQUFpQixFQUFFLENBQUM7UUFDcEIsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQVE3RCxDQUFDO0lBTmpCLHNCQUFXLDBDQUFLO2FBQWhCO1lBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDckMsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztRQUNKLENBQUM7OztPQUFBO0lBSU0sMENBQVEsR0FBZixVQUFnQixLQUFtQjtRQUFuQyxpQkFPQztRQU5DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBQSxLQUFLO1lBQ2pCLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUN0SCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsS0FBSyxD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QUFLLE1BQU0sRUFBRTtnQkFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xDLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQztJQUVNLCtDQUFhLEdBQXBCLFVBQXFCLENBQWEsRUFBRSxJQUFpQjtRQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN4QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O0lBbkpVLHVCQUF1QjtRQUhuQyxVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDOztPQUNXLHVCQUF1QixDQW9KbkM7a0NBN0pEO0NBNkpDLEFBcEpELElBb0pDO1NBcEpZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTaGFyZWRDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1kZXRhaWxzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgY2FzZVN0YXRlOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGFyZWRDYXNlW10+KHRoaXMuY2FzZVN0YXRlKTtcblxuICBwdWJsaWMgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgc2V0Q2FzZXMoY2FzZXM6IFNoYXJlZENhc2VbXSk6IHZvaWQge1xuICAgIHRoaXMuY2FzZVN0YXRlID0gW107XG4gICAgY2FzZXMuZm9yRWFjaChhQ2FzZSA9PiB7XG4gICAgICB0aGlzLmNhc2VTdGF0ZS5wdXNoKHsgY2FzZUlkOiBhQ2FzZS5jYXNlSWQsIGNhc2VUaXRsZTogYUNhc2UuY2FzZVRpdGxlLCBjYXNlVHlwZUlkOiBhQ2FzZS5jYXNlVHlwZUlkLCByb2xlczogYUNhc2Uucm9sZXMsXG4gICAgICAgIHNoYXJlZFdpdGg6IGFDYXNlLnNoYXJlZFdpdGgsIHBlbmRpbmdTaGFyZXM6IGFDYXNlLnBlbmRpbmdTaGFyZXMsIHBlbmRpbmdVbnNoYXJlczogYUNhc2UucGVuZGluZ1Vuc2hhcmVzIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHRoaXMuY2FzZVN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlcygpOiBTaGFyZWRDYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmNhc2VTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0U2hhcmUodXNlcjogVXNlckRldGFpbHMpOiBTaGFyZWRDYXNlW10ge1xuICAgIGNvbnN0IG9sZFNoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSB0aGlzLmNhc2VTdGF0ZS5zbGljZSgpO1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2Ygb2xkU2hhcmVkQ2FzZXMpIHtcbiAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1NoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5zbGljZSgpO1xuICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgIGlmICghdGhpcy51c2VySGFzQWNjZXNzKHNoYXJlZENhc2UsIHVzZXIpKSB7XG4gICAgICAgIGlmICghbmV3UGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnB1c2godXNlcik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IHUgPSAwLCB1bCA9IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IHUgPCB1bDsgdSsrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdVbnNoYXJlc1t1XS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnNwbGljZSh1LCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXMsXG4gICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgIH07XG4gICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuIG5ld1NoYXJlZENhc2VzO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RVbnNoYXJlKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2YgdGhpcy5jYXNlU3RhdGUpIHtcbiAgICAgIGlmIChzaGFyZWRDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBpZiAoIW5ld1BlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5wdXNoKHVzZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdQZW5kaW5nVW5zaGFyZXMucHVzaCh1c2VyKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdTaGFyZWRDYXNlID0ge1xuICAgICAgICAgIC4uLnNoYXJlZENhc2UsXG4gICAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXNcbiAgICAgICAgfTtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2goc2hhcmVkQ2FzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdENhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIHRoaXMuY2FzZVN0YXRlKSB7XG4gICAgICBpZiAoc2hhcmVkQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpUGVuZGluZ1Vuc2hhcmVzID0gMDsgaVBlbmRpbmdVbnNoYXJlcyA8IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IGlQZW5kaW5nVW5zaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXNbaVBlbmRpbmdVbnNoYXJlc10uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5zcGxpY2UoaVBlbmRpbmdVbnNoYXJlcywgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGlQZW5kaW5nU2hhcmVzID0gMDsgaVBlbmRpbmdTaGFyZXMgPCBuZXdQZW5kaW5nU2hhcmVzLmxlbmd0aDsgaVBlbmRpbmdTaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nU2hhcmVzW2lQZW5kaW5nU2hhcmVzXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5zcGxpY2UoaVBlbmRpbmdTaGFyZXMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICAgIH07XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2gobmV3U2hhcmVkQ2FzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKHNoYXJlZENhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNhc2UoY2FzZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuY2FzZVN0YXRlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FzZVN0YXRlW2ldLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIHRoaXMuY2FzZVN0YXRlLnNwbGljZShpLCAxKTtcbiAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQodGhpcy5jYXNlU3RhdGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVzZXJIYXNBY2Nlc3MoYzogU2hhcmVkQ2FzZSwgdXNlcjogVXNlckRldGFpbHMpOiBib29sZWFuIHtcbiAgICBpZiAoIWMuc2hhcmVkV2l0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGMuc2hhcmVkV2l0aC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChjLnNoYXJlZFdpdGhbaV0uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
277
+ if (false) {
278
+ /**
279
+ * @type {?}
280
+ * @private
281
+ */
282
+ CaseSharingStateService.prototype.caseState;
283
+ /**
284
+ * @type {?}
285
+ * @private
286
+ */
287
+ CaseSharingStateService.prototype.subject;
288
+ }
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXREO0lBY0U7UUFUUSxjQUFTLEdBQWlCLEVBQUUsQ0FBQztRQUNwQixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBUTdELENBQUM7SUFOakIsc0JBQVcsMENBQUs7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUNyQyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBQ0osQ0FBQzs7O09BQUE7Ozs7O0lBSU0sMENBQVE7Ozs7SUFBZixVQUFnQixLQUFtQjtRQUFuQyxpQkFPQztRQU5DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxLQUFLO1lBQ2pCLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUN0SCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFB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QUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xDLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQzs7Ozs7O0lBRU0sK0NBQWE7Ozs7O0lBQXBCLFVBQXFCLENBQWEsRUFBRSxJQUFpQjtRQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN4QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dCQXRKRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7OztrQ0FSRDtDQTZKQyxBQXZKRCxJQXVKQztTQXBKWSx1QkFBdUI7Ozs7OztJQUVsQyw0Q0FBcUM7Ozs7O0lBQ3JDLDBDQUE2RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTaGFyZWRDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1kZXRhaWxzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgY2FzZVN0YXRlOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGFyZWRDYXNlW10+KHRoaXMuY2FzZVN0YXRlKTtcblxuICBwdWJsaWMgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgc2V0Q2FzZXMoY2FzZXM6IFNoYXJlZENhc2VbXSk6IHZvaWQge1xuICAgIHRoaXMuY2FzZVN0YXRlID0gW107XG4gICAgY2FzZXMuZm9yRWFjaChhQ2FzZSA9PiB7XG4gICAgICB0aGlzLmNhc2VTdGF0ZS5wdXNoKHsgY2FzZUlkOiBhQ2FzZS5jYXNlSWQsIGNhc2VUaXRsZTogYUNhc2UuY2FzZVRpdGxlLCBjYXNlVHlwZUlkOiBhQ2FzZS5jYXNlVHlwZUlkLCByb2xlczogYUNhc2Uucm9sZXMsXG4gICAgICAgIHNoYXJlZFdpdGg6IGFDYXNlLnNoYXJlZFdpdGgsIHBlbmRpbmdTaGFyZXM6IGFDYXNlLnBlbmRpbmdTaGFyZXMsIHBlbmRpbmdVbnNoYXJlczogYUNhc2UucGVuZGluZ1Vuc2hhcmVzIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHRoaXMuY2FzZVN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlcygpOiBTaGFyZWRDYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmNhc2VTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0U2hhcmUodXNlcjogVXNlckRldGFpbHMpOiBTaGFyZWRDYXNlW10ge1xuICAgIGNvbnN0IG9sZFNoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSB0aGlzLmNhc2VTdGF0ZS5zbGljZSgpO1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2Ygb2xkU2hhcmVkQ2FzZXMpIHtcbiAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1NoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5zbGljZSgpO1xuICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgIGlmICghdGhpcy51c2VySGFzQWNjZXNzKHNoYXJlZENhc2UsIHVzZXIpKSB7XG4gICAgICAgIGlmICghbmV3UGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnB1c2godXNlcik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IHUgPSAwLCB1bCA9IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IHUgPCB1bDsgdSsrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdVbnNoYXJlc1t1XS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnNwbGljZSh1LCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXMsXG4gICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgIH07XG4gICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuIG5ld1NoYXJlZENhc2VzO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RVbnNoYXJlKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2YgdGhpcy5jYXNlU3RhdGUpIHtcbiAgICAgIGlmIChzaGFyZWRDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBpZiAoIW5ld1BlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5wdXNoKHVzZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdQZW5kaW5nVW5zaGFyZXMucHVzaCh1c2VyKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdTaGFyZWRDYXNlID0ge1xuICAgICAgICAgIC4uLnNoYXJlZENhc2UsXG4gICAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXNcbiAgICAgICAgfTtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2goc2hhcmVkQ2FzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdENhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIHRoaXMuY2FzZVN0YXRlKSB7XG4gICAgICBpZiAoc2hhcmVkQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpUGVuZGluZ1Vuc2hhcmVzID0gMDsgaVBlbmRpbmdVbnNoYXJlcyA8IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IGlQZW5kaW5nVW5zaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXNbaVBlbmRpbmdVbnNoYXJlc10uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5zcGxpY2UoaVBlbmRpbmdVbnNoYXJlcywgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGlQZW5kaW5nU2hhcmVzID0gMDsgaVBlbmRpbmdTaGFyZXMgPCBuZXdQZW5kaW5nU2hhcmVzLmxlbmd0aDsgaVBlbmRpbmdTaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nU2hhcmVzW2lQZW5kaW5nU2hhcmVzXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5zcGxpY2UoaVBlbmRpbmdTaGFyZXMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICAgIH07XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2gobmV3U2hhcmVkQ2FzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKHNoYXJlZENhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNhc2UoY2FzZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuY2FzZVN0YXRlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FzZVN0YXRlW2ldLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIHRoaXMuY2FzZVN0YXRlLnNwbGljZShpLCAxKTtcbiAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQodGhpcy5jYXNlU3RhdGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVzZXJIYXNBY2Nlc3MoYzogU2hhcmVkQ2FzZSwgdXNlcjogVXNlckRldGFpbHMpOiBib29sZWFuIHtcbiAgICBpZiAoIWMuc2hhcmVkV2l0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGMuc2hhcmVkV2l0aC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChjLnNoYXJlZFdpdGhbaV0uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1,53 +1,136 @@
1
- import { __decorate, __metadata, __param } from "tslib";
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/services/cookie/cookie.service.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
2
6
  import { DOCUMENT } from '@angular/common';
3
7
  import { Inject, Injectable } from '@angular/core';
4
8
  import * as i0 from "@angular/core";
5
9
  import * as i1 from "@angular/common";
6
10
  var CookieService = /** @class */ (function () {
7
11
  function CookieService(doc) {
8
- this.document = doc;
12
+ this.document = (/** @type {?} */ (doc));
9
13
  }
10
- CookieService.prototype.setCookie = function (key, value, expiryDate) {
14
+ /**
15
+ * @param {?} key
16
+ * @param {?} value
17
+ * @param {?=} expiryDate
18
+ * @return {?}
19
+ */
20
+ CookieService.prototype.setCookie = /**
21
+ * @param {?} key
22
+ * @param {?} value
23
+ * @param {?=} expiryDate
24
+ * @return {?}
25
+ */
26
+ function (key, value, expiryDate) {
27
+ /** @type {?} */
11
28
  var expiry = expiryDate ? " expires=" + expiryDate : '';
29
+ /** @type {?} */
12
30
  var cookie = key + "=" + value + ";" + expiry;
13
31
  this.document.cookie = cookie;
14
32
  };
15
- CookieService.prototype.getCookie = function (key) {
33
+ /**
34
+ * @param {?} key
35
+ * @return {?}
36
+ */
37
+ CookieService.prototype.getCookie = /**
38
+ * @param {?} key
39
+ * @return {?}
40
+ */
41
+ function (key) {
42
+ /** @type {?} */
16
43
  var cookieValue = this.document.cookie
17
44
  .split('; ')
18
- .find(function (row) { return row.startsWith(key + "="); })
45
+ .find((/**
46
+ * @param {?} row
47
+ * @return {?}
48
+ */
49
+ function (row) { return row.startsWith(key + "="); }))
19
50
  .split('=')[1];
20
51
  return cookieValue;
21
52
  };
22
- CookieService.prototype.deleteCookie = function (key, path, domain) {
53
+ /**
54
+ * @param {?} key
55
+ * @param {?=} path
56
+ * @param {?=} domain
57
+ * @return {?}
58
+ */
59
+ CookieService.prototype.deleteCookie = /**
60
+ * @param {?} key
61
+ * @param {?=} path
62
+ * @param {?=} domain
63
+ * @return {?}
64
+ */
65
+ function (key, path, domain) {
66
+ /** @type {?} */
23
67
  var pathValue = path ? "; path=" + path : '';
68
+ /** @type {?} */
24
69
  var domainValue = domain ? "; domain=" + domain : '';
25
70
  this.document.cookie = key + "=" + pathValue + domainValue + "; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0";
26
71
  };
27
- CookieService.prototype.deleteCookieByPartialMatch = function (key, path, domain) {
72
+ /**
73
+ * @param {?} key
74
+ * @param {?=} path
75
+ * @param {?=} domain
76
+ * @return {?}
77
+ */
78
+ CookieService.prototype.deleteCookieByPartialMatch = /**
79
+ * @param {?} key
80
+ * @param {?=} path
81
+ * @param {?=} domain
82
+ * @return {?}
83
+ */
84
+ function (key, path, domain) {
28
85
  var _this = this;
29
86
  this.document.cookie
30
87
  .split('; ')
31
- .filter(function (row) { return row.startsWith("" + key); })
32
- .forEach(function (element) {
88
+ .filter((/**
89
+ * @param {?} row
90
+ * @return {?}
91
+ */
92
+ function (row) { return row.startsWith("" + key); }))
93
+ .forEach((/**
94
+ * @param {?} element
95
+ * @return {?}
96
+ */
97
+ function (element) {
33
98
  _this.deleteCookie(element.split('=')[0], path, domain);
34
- });
99
+ }));
35
100
  };
36
- CookieService.prototype.checkCookie = function (key) {
37
- return this.document.cookie.split('; ').some(function (item) { return item.trim().startsWith(key + "="); });
101
+ /**
102
+ * @param {?} key
103
+ * @return {?}
104
+ */
105
+ CookieService.prototype.checkCookie = /**
106
+ * @param {?} key
107
+ * @return {?}
108
+ */
109
+ function (key) {
110
+ return this.document.cookie.split('; ').some((/**
111
+ * @param {?} item
112
+ * @return {?}
113
+ */
114
+ function (item) { return item.trim().startsWith(key + "="); }));
38
115
  };
116
+ CookieService.decorators = [
117
+ { type: Injectable, args: [{
118
+ providedIn: 'root'
119
+ },] }
120
+ ];
121
+ /** @nocollapse */
39
122
  CookieService.ctorParameters = function () { return [
40
123
  { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
41
124
  ]; };
42
- CookieService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CookieService_Factory() { return new CookieService(i0.ɵɵinject(i1.DOCUMENT)); }, token: CookieService, providedIn: "root" });
43
- CookieService = __decorate([
44
- Injectable({
45
- providedIn: 'root'
46
- }),
47
- __param(0, Inject(DOCUMENT)),
48
- __metadata("design:paramtypes", [Object])
49
- ], CookieService);
125
+ /** @nocollapse */ CookieService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function CookieService_Factory() { return new CookieService(i0.ɵɵinject(i1.DOCUMENT)); }, token: CookieService, providedIn: "root" });
50
126
  return CookieService;
51
127
  }());
52
128
  export { CookieService };
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nvb2tpZS9jb29raWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLbkQ7SUFHRSx1QkFBOEIsR0FBUztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQWUsQ0FBQztJQUNsQyxDQUFDO0lBRU0saUNBQVMsR0FBaEIsVUFBaUIsR0FBVyxFQUFFLEtBQWEsRUFBRSxVQUFtQjtRQUM5RCxJQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQVksVUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUQsSUFBTSxNQUFNLEdBQU0sR0FBRyxTQUFJLEtBQUssU0FBSSxNQUFRLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxpQ0FBUyxHQUFoQixVQUFpQixHQUFXO1FBQzFCLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTthQUNyQyxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ1gsSUFBSSxDQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLFVBQVUsQ0FBSSxHQUFHLE1BQUcsQ0FBQyxFQUF6QixDQUF5QixDQUFDO2FBQ3RDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sb0NBQVksR0FBbkIsVUFBb0IsR0FBVyxFQUFFLElBQWEsRUFBRSxNQUFlO1FBQzdELElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBVSxJQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvQyxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQVksTUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQU0sR0FBRyxTQUFJLFNBQVMsR0FBRyxXQUFXLHVEQUFvRCxDQUFDO0lBQy9HLENBQUM7SUFFTSxrREFBMEIsR0FBakMsVUFBa0MsR0FBVyxFQUFFLElBQWEsRUFBRSxNQUFlO1FBQTdFLGlCQU9DO1FBTkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2FBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxNQUFNLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUcsR0FBSyxDQUFDLEVBQXhCLENBQXdCLENBQUM7YUFDdkMsT0FBTyxDQUFDLFVBQUEsT0FBTztZQUNkLEtBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sbUNBQVcsR0FBbEIsVUFBbUIsR0FBVztRQUM1QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFJLEdBQUcsTUFBRyxDQUFDLEVBQWpDLENBQWlDLENBQUMsQ0FBQztJQUMxRixDQUFDOztnREFuQ1ksTUFBTSxTQUFDLFFBQVE7OztJQUhqQixhQUFhO1FBSHpCLFVBQVUsQ0FBQztZQUNWLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7UUFJYSxXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTs7T0FIbEIsYUFBYSxDQXVDekI7d0JBN0NEO0NBNkNDLEFBdkNELElBdUNDO1NBdkNZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ/OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2M/OiBhbnkpIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jIGFzIERvY3VtZW50O1xuICB9XG5cbiAgcHVibGljIHNldENvb2tpZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZXhwaXJ5RGF0ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGV4cGlyeSA9IGV4cGlyeURhdGUgPyBgIGV4cGlyZXM9JHtleHBpcnlEYXRlfWAgOiAnJztcbiAgICBjb25zdCBjb29raWUgPSBgJHtrZXl9PSR7dmFsdWV9OyR7ZXhwaXJ5fWA7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29va2llKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb29raWVWYWx1ZSA9IHRoaXMuZG9jdW1lbnQuY29va2llXG4gICAgICAuc3BsaXQoJzsgJylcbiAgICAgIC5maW5kKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9PWApKVxuICAgICAgLnNwbGl0KCc9JylbMV07XG4gICAgcmV0dXJuIGNvb2tpZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZShrZXk6IHN0cmluZywgcGF0aD86IHN0cmluZywgZG9tYWluPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcGF0aFZhbHVlID0gcGF0aCA/IGA7IHBhdGg9JHtwYXRofWAgOiAnJztcbiAgICBjb25zdCBkb21haW5WYWx1ZSA9IGRvbWFpbiA/IGA7IGRvbWFpbj0ke2RvbWFpbn1gIDogJyc7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBgJHtrZXl9PSR7cGF0aFZhbHVlfSR7ZG9tYWluVmFsdWV9OyBleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UOyBtYXgtYWdlPTBgO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZUJ5UGFydGlhbE1hdGNoKGtleTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZVxuICAgICAgLnNwbGl0KCc7ICcpXG4gICAgICAuZmlsdGVyKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9YCkpXG4gICAgICAuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgdGhpcy5kZWxldGVDb29raWUoZWxlbWVudC5zcGxpdCgnPScpWzBdLCBwYXRoLCBkb21haW4pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tDb29raWUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5jb29raWUuc3BsaXQoJzsgJykuc29tZShpdGVtID0+IGl0ZW0udHJpbSgpLnN0YXJ0c1dpdGgoYCR7a2V5fT1gKSk7XG4gIH1cbn1cbiJdfQ==
129
+ if (false) {
130
+ /**
131
+ * @type {?}
132
+ * @private
133
+ */
134
+ CookieService.prototype.document;
135
+ }
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nvb2tpZS9jb29raWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRW5EO0lBTUUsdUJBQThCLEdBQVM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBQSxHQUFHLEVBQVksQ0FBQztJQUNsQyxDQUFDOzs7Ozs7O0lBRU0saUNBQVM7Ozs7OztJQUFoQixVQUFpQixHQUFXLEVBQUUsS0FBYSxFQUFFLFVBQW1COztZQUN4RCxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFZLFVBQVksQ0FBQyxDQUFDLENBQUMsRUFBRTs7WUFDbkQsTUFBTSxHQUFNLEdBQUcsU0FBSSxLQUFLLFNBQUksTUFBUTtRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDaEMsQ0FBQzs7Ozs7SUFFTSxpQ0FBUzs7OztJQUFoQixVQUFpQixHQUFXOztZQUNwQixXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxJQUFJOzs7O1FBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsVUFBVSxDQUFJLEdBQUcsTUFBRyxDQUFDLEVBQXpCLENBQXlCLEVBQUM7YUFDdEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzs7Ozs7O0lBRU0sb0NBQVk7Ozs7OztJQUFuQixVQUFvQixHQUFXLEVBQUUsSUFBYSxFQUFFLE1BQWU7O1lBQ3ZELFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVUsSUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFOztZQUN4QyxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFZLE1BQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBTSxHQUFHLFNBQUksU0FBUyxHQUFHLFdBQVcsdURBQW9ELENBQUM7SUFDL0csQ0FBQzs7Ozs7OztJQUVNLGtEQUEwQjs7Ozs7O0lBQWpDLFVBQWtDLEdBQVcsRUFBRSxJQUFhLEVBQUUsTUFBZTtRQUE3RSxpQkFPQztRQU5DLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTthQUNqQixLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ1gsTUFBTTs7OztRQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFHLEdBQUssQ0FBQyxFQUF4QixDQUF3QixFQUFDO2FBQ3ZDLE9BQU87Ozs7UUFBQyxVQUFBLE9BQU87WUFDZCxLQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Ozs7SUFFTSxtQ0FBVzs7OztJQUFsQixVQUFtQixHQUFXO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUksR0FBRyxNQUFHLENBQUMsRUFBakMsQ0FBaUMsRUFBQyxDQUFDO0lBQzFGLENBQUM7O2dCQXpDRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dEQUljLE1BQU0sU0FBQyxRQUFROzs7d0JBVDlCO0NBNkNDLEFBMUNELElBMENDO1NBdkNZLGFBQWE7Ozs7OztJQUN4QixpQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ/OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2M/OiBhbnkpIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jIGFzIERvY3VtZW50O1xuICB9XG5cbiAgcHVibGljIHNldENvb2tpZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZXhwaXJ5RGF0ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGV4cGlyeSA9IGV4cGlyeURhdGUgPyBgIGV4cGlyZXM9JHtleHBpcnlEYXRlfWAgOiAnJztcbiAgICBjb25zdCBjb29raWUgPSBgJHtrZXl9PSR7dmFsdWV9OyR7ZXhwaXJ5fWA7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29va2llKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb29raWVWYWx1ZSA9IHRoaXMuZG9jdW1lbnQuY29va2llXG4gICAgICAuc3BsaXQoJzsgJylcbiAgICAgIC5maW5kKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9PWApKVxuICAgICAgLnNwbGl0KCc9JylbMV07XG4gICAgcmV0dXJuIGNvb2tpZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZShrZXk6IHN0cmluZywgcGF0aD86IHN0cmluZywgZG9tYWluPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcGF0aFZhbHVlID0gcGF0aCA/IGA7IHBhdGg9JHtwYXRofWAgOiAnJztcbiAgICBjb25zdCBkb21haW5WYWx1ZSA9IGRvbWFpbiA/IGA7IGRvbWFpbj0ke2RvbWFpbn1gIDogJyc7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBgJHtrZXl9PSR7cGF0aFZhbHVlfSR7ZG9tYWluVmFsdWV9OyBleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UOyBtYXgtYWdlPTBgO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZUJ5UGFydGlhbE1hdGNoKGtleTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZVxuICAgICAgLnNwbGl0KCc7ICcpXG4gICAgICAuZmlsdGVyKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9YCkpXG4gICAgICAuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgdGhpcy5kZWxldGVDb29raWUoZWxlbWVudC5zcGxpdCgnPScpWzBdLCBwYXRoLCBkb21haW4pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tDb29raWUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5jb29raWUuc3BsaXQoJzsgJykuc29tZShpdGVtID0+IGl0ZW0udHJpbSgpLnN0YXJ0c1dpdGgoYCR7a2V5fT1gKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,11 @@
1
- import { __decorate, __metadata, __read, __spread } from "tslib";
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/services/feature-toggle/feature-toggle.guard.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import * as tslib_1 from "tslib";
2
7
  import { Injectable } from '@angular/core';
3
- import { ActivatedRouteSnapshot, CanActivate, Router, UrlTree } from '@angular/router';
8
+ import { Router } from '@angular/router';
4
9
  import { combineLatest } from 'rxjs';
5
10
  import { map } from 'rxjs/operators';
6
11
  import { FeatureToggleService } from './feature-toggle.service';
@@ -19,23 +24,66 @@ var FeatureToggleGuard = /** @class */ (function () {
19
24
  * - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
20
25
  * @param route Automatically provided by Angular
21
26
  */
22
- FeatureToggleGuard.prototype.canActivate = function (route) {
27
+ /**
28
+ * Usage: Add the FeatureToggleGuard as the Guard for a route, and provide the following
29
+ * in the data array for the route:
30
+ * - needsFeaturesEnabled: An array of feature keys that need to be enabled for this route
31
+ * - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
32
+ * @param {?} route Automatically provided by Angular
33
+ * @return {?}
34
+ */
35
+ FeatureToggleGuard.prototype.canActivate = /**
36
+ * Usage: Add the FeatureToggleGuard as the Guard for a route, and provide the following
37
+ * in the data array for the route:
38
+ * - needsFeaturesEnabled: An array of feature keys that need to be enabled for this route
39
+ * - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
40
+ * @param {?} route Automatically provided by Angular
41
+ * @return {?}
42
+ */
43
+ function (route) {
23
44
  var _this = this;
24
- return combineLatest.apply(void 0, __spread(route.data.needsFeaturesEnabled.map(function (feature) { return _this.featureToggleService.getValueOnce(feature, false); }))).pipe(map(function (featureStatuses) { return featureStatuses.every(function (status) { return status; }); }), map(function (status) { return status || _this.router.parseUrl(route.data.featureDisabledRedirect); }));
45
+ return combineLatest.apply(void 0, tslib_1.__spread(((/** @type {?} */ (route.data.needsFeaturesEnabled))).map((/**
46
+ * @param {?} feature
47
+ * @return {?}
48
+ */
49
+ function (feature) { return _this.featureToggleService.getValueOnce(feature, false); })))).pipe(map((/**
50
+ * @param {?} featureStatuses
51
+ * @return {?}
52
+ */
53
+ function (featureStatuses) { return featureStatuses.every((/**
54
+ * @param {?} status
55
+ * @return {?}
56
+ */
57
+ function (status) { return status; })); })), map((/**
58
+ * @param {?} status
59
+ * @return {?}
60
+ */
61
+ function (status) { return status || _this.router.parseUrl((/** @type {?} */ (route.data.featureDisabledRedirect))); })));
25
62
  };
63
+ FeatureToggleGuard.decorators = [
64
+ { type: Injectable, args: [{
65
+ providedIn: 'root'
66
+ },] }
67
+ ];
68
+ /** @nocollapse */
26
69
  FeatureToggleGuard.ctorParameters = function () { return [
27
70
  { type: FeatureToggleService },
28
71
  { type: Router }
29
72
  ]; };
30
- FeatureToggleGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function FeatureToggleGuard_Factory() { return new FeatureToggleGuard(i0.ɵɵinject(i1.FeatureToggleService), i0.ɵɵinject(i2.Router)); }, token: FeatureToggleGuard, providedIn: "root" });
31
- FeatureToggleGuard = __decorate([
32
- Injectable({
33
- providedIn: 'root'
34
- }),
35
- __metadata("design:paramtypes", [FeatureToggleService,
36
- Router])
37
- ], FeatureToggleGuard);
73
+ /** @nocollapse */ FeatureToggleGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function FeatureToggleGuard_Factory() { return new FeatureToggleGuard(i0.ɵɵinject(i1.FeatureToggleService), i0.ɵɵinject(i2.Router)); }, token: FeatureToggleGuard, providedIn: "root" });
38
74
  return FeatureToggleGuard;
39
75
  }());
40
76
  export { FeatureToggleGuard };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS10b2dnbGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2ZlYXR1cmUtdG9nZ2xlL2ZlYXR1cmUtdG9nZ2xlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBS2hFO0lBRUksNEJBQ3FCLG9CQUEwQyxFQUMxQyxNQUFjO1FBRGQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ2hDLENBQUM7SUFFSjs7Ozs7O09BTUc7SUFDSSx3Q0FBVyxHQUFsQixVQUFtQixLQUE2QjtRQUFoRCxpQkFPQztRQU5HLE9BQU8sYUFBYSx3QkFBSyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFpQyxDQUFDLEdBQUcsQ0FDakUsVUFBQSxPQUFPLElBQUksT0FBQSxLQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFVLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBL0QsQ0FBK0QsQ0FDakYsR0FBRSxJQUFJLENBQ0gsR0FBRyxDQUFDLFVBQUEsZUFBZSxJQUFJLE9BQUEsZUFBZSxDQUFDLEtBQUssQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLE1BQU0sRUFBTixDQUFNLENBQUMsRUFBdkMsQ0FBdUMsQ0FBQyxFQUMvRCxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxNQUFNLElBQUksS0FBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyx1QkFBaUMsQ0FBQyxFQUE1RSxDQUE0RSxDQUFDLENBQzlGLENBQUM7SUFDTixDQUFDOztnQkFsQjBDLG9CQUFvQjtnQkFDbEMsTUFBTTs7O0lBSjFCLGtCQUFrQjtRQUg5QixVQUFVLENBQUM7WUFDUixVQUFVLEVBQUUsTUFBTTtTQUNyQixDQUFDO3lDQUk2QyxvQkFBb0I7WUFDbEMsTUFBTTtPQUoxQixrQkFBa0IsQ0FzQjlCOzZCQS9CRDtDQStCQyxBQXRCRCxJQXNCQztTQXRCWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZlYXR1cmVUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlVG9nZ2xlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmVhdHVyZVRvZ2dsZVNlcnZpY2U6IEZlYXR1cmVUb2dnbGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogVXNhZ2U6IEFkZCB0aGUgRmVhdHVyZVRvZ2dsZUd1YXJkIGFzIHRoZSBHdWFyZCBmb3IgYSByb3V0ZSwgYW5kIHByb3ZpZGUgdGhlIGZvbGxvd2luZ1xuICAgICAqIGluIHRoZSBkYXRhIGFycmF5IGZvciB0aGUgcm91dGU6XG4gICAgICogLSBuZWVkc0ZlYXR1cmVzRW5hYmxlZDogQW4gYXJyYXkgb2YgZmVhdHVyZSBrZXlzIHRoYXQgbmVlZCB0byBiZSBlbmFibGVkIGZvciB0aGlzIHJvdXRlXG4gICAgICogLSBmZWF0dXJlRGlzYWJsZWRSZWRpcmVjdDogdGhlIFVSTCB0byByZWRpcmVjdCB0byB3aGVuIHRoZSB0aGlzIHJvdXRlIGlzIG5vdCBhY2Nlc3NpYmxlIGR1ZSB0byBkaXNhYmxlZCBmZWF0dXJlc1xuICAgICAqIEBwYXJhbSByb3V0ZSBBdXRvbWF0aWNhbGx5IHByb3ZpZGVkIGJ5IEFuZ3VsYXJcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KC4uLihyb3V0ZS5kYXRhLm5lZWRzRmVhdHVyZXNFbmFibGVkIGFzIHN0cmluZ1tdKS5tYXAoXG4gICAgICAgICAgICAgICAgZmVhdHVyZSA9PiB0aGlzLmZlYXR1cmVUb2dnbGVTZXJ2aWNlLmdldFZhbHVlT25jZTxib29sZWFuPihmZWF0dXJlLCBmYWxzZSlcbiAgICAgICAgKSkucGlwZShcbiAgICAgICAgICAgIG1hcChmZWF0dXJlU3RhdHVzZXMgPT4gZmVhdHVyZVN0YXR1c2VzLmV2ZXJ5KHN0YXR1cyA9PiBzdGF0dXMpKSxcbiAgICAgICAgICAgIG1hcChzdGF0dXMgPT4gc3RhdHVzIHx8IHRoaXMucm91dGVyLnBhcnNlVXJsKHJvdXRlLmRhdGEuZmVhdHVyZURpc2FibGVkUmVkaXJlY3QgYXMgc3RyaW5nKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
77
+ if (false) {
78
+ /**
79
+ * @type {?}
80
+ * @private
81
+ */
82
+ FeatureToggleGuard.prototype.featureToggleService;
83
+ /**
84
+ * @type {?}
85
+ * @private
86
+ */
87
+ FeatureToggleGuard.prototype.router;
88
+ }
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS10b2dnbGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2ZlYXR1cmUtdG9nZ2xlL2ZlYXR1cmUtdG9nZ2xlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1QyxNQUFNLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUVoRTtJQUtJLDRCQUNxQixvQkFBMEMsRUFDMUMsTUFBYztRQURkLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNoQyxDQUFDO0lBRUo7Ozs7OztPQU1HOzs7Ozs7Ozs7SUFDSSx3Q0FBVzs7Ozs7Ozs7SUFBbEIsVUFBbUIsS0FBNkI7UUFBaEQsaUJBT0M7UUFORyxPQUFPLGFBQWEsZ0NBQUksQ0FBQyxtQkFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFZLENBQUMsQ0FBQyxHQUFHOzs7O1FBQ2pFLFVBQUEsT0FBTyxJQUFJLE9BQUEsS0FBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBVSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQS9ELENBQStELEVBQ2pGLEdBQUUsSUFBSSxDQUNILEdBQUc7Ozs7UUFBQyxVQUFBLGVBQWUsSUFBSSxPQUFBLGVBQWUsQ0FBQyxLQUFLOzs7O1FBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxNQUFNLEVBQU4sQ0FBTSxFQUFDLEVBQXZDLENBQXVDLEVBQUMsRUFDL0QsR0FBRzs7OztRQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsTUFBTSxJQUFJLEtBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLG1CQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQVUsQ0FBQyxFQUE1RSxDQUE0RSxFQUFDLENBQzlGLENBQUM7SUFDTixDQUFDOztnQkF4QkosVUFBVSxTQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7OztnQkFKUSxvQkFBb0I7Z0JBSGlCLE1BQU07Ozs2QkFEcEQ7Q0ErQkMsQUF6QkQsSUF5QkM7U0F0Qlksa0JBQWtCOzs7Ozs7SUFHdkIsa0RBQTJEOzs7OztJQUMzRCxvQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZlYXR1cmVUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlVG9nZ2xlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmVhdHVyZVRvZ2dsZVNlcnZpY2U6IEZlYXR1cmVUb2dnbGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogVXNhZ2U6IEFkZCB0aGUgRmVhdHVyZVRvZ2dsZUd1YXJkIGFzIHRoZSBHdWFyZCBmb3IgYSByb3V0ZSwgYW5kIHByb3ZpZGUgdGhlIGZvbGxvd2luZ1xuICAgICAqIGluIHRoZSBkYXRhIGFycmF5IGZvciB0aGUgcm91dGU6XG4gICAgICogLSBuZWVkc0ZlYXR1cmVzRW5hYmxlZDogQW4gYXJyYXkgb2YgZmVhdHVyZSBrZXlzIHRoYXQgbmVlZCB0byBiZSBlbmFibGVkIGZvciB0aGlzIHJvdXRlXG4gICAgICogLSBmZWF0dXJlRGlzYWJsZWRSZWRpcmVjdDogdGhlIFVSTCB0byByZWRpcmVjdCB0byB3aGVuIHRoZSB0aGlzIHJvdXRlIGlzIG5vdCBhY2Nlc3NpYmxlIGR1ZSB0byBkaXNhYmxlZCBmZWF0dXJlc1xuICAgICAqIEBwYXJhbSByb3V0ZSBBdXRvbWF0aWNhbGx5IHByb3ZpZGVkIGJ5IEFuZ3VsYXJcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KC4uLihyb3V0ZS5kYXRhLm5lZWRzRmVhdHVyZXNFbmFibGVkIGFzIHN0cmluZ1tdKS5tYXAoXG4gICAgICAgICAgICAgICAgZmVhdHVyZSA9PiB0aGlzLmZlYXR1cmVUb2dnbGVTZXJ2aWNlLmdldFZhbHVlT25jZTxib29sZWFuPihmZWF0dXJlLCBmYWxzZSlcbiAgICAgICAgKSkucGlwZShcbiAgICAgICAgICAgIG1hcChmZWF0dXJlU3RhdHVzZXMgPT4gZmVhdHVyZVN0YXR1c2VzLmV2ZXJ5KHN0YXR1cyA9PiBzdGF0dXMpKSxcbiAgICAgICAgICAgIG1hcChzdGF0dXMgPT4gc3RhdHVzIHx8IHRoaXMucm91dGVyLnBhcnNlVXJsKHJvdXRlLmRhdGEuZmVhdHVyZURpc2FibGVkUmVkaXJlY3QgYXMgc3RyaW5nKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=