@igo2/core 1.15.4 → 16.0.0-rc.1

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 (245) hide show
  1. package/_index.scss +8 -0
  2. package/assets/icons/mdi.svg +1 -1
  3. package/core-theme.scss +5 -0
  4. package/{esm2020 → esm2022}/igo2-core.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/activity/activity.interceptor.mjs +32 -30
  6. package/{esm2020 → esm2022}/lib/activity/activity.module.mjs +30 -30
  7. package/esm2022/lib/activity/activity.service.mjs +32 -0
  8. package/{esm2020 → esm2022}/lib/activity/index.mjs +3 -3
  9. package/{esm2020 → esm2022}/lib/analytics/index.mjs +2 -2
  10. package/{esm2020 → esm2022}/lib/analytics/shared/analytics.interface.mjs +2 -2
  11. package/esm2022/lib/analytics/shared/analytics.service.mjs +84 -0
  12. package/{esm2020 → esm2022}/lib/analytics/shared/index.mjs +3 -3
  13. package/{esm2020 → esm2022}/lib/compression/compressedData.interface.mjs +2 -2
  14. package/esm2022/lib/compression/compression.service.mjs +142 -0
  15. package/{esm2020 → esm2022}/lib/compression/index.mjs +3 -3
  16. package/esm2022/lib/config/config-deprecated.mjs +19 -0
  17. package/{esm2020 → esm2022}/lib/config/config.interface.mjs +2 -2
  18. package/{esm2020 → esm2022}/lib/config/config.module.mjs +23 -23
  19. package/{esm2020 → esm2022}/lib/config/config.provider.mjs +21 -21
  20. package/esm2022/lib/config/config.service.mjs +81 -0
  21. package/{esm2020 → esm2022}/lib/config/index.mjs +4 -4
  22. package/esm2022/lib/config/version.mjs +5 -0
  23. package/esm2022/lib/core.module.mjs +104 -0
  24. package/{esm2020 → esm2022}/lib/gesture/gesture.module.mjs +30 -30
  25. package/{esm2020 → esm2022}/lib/gesture/gesture.provider.mjs +16 -16
  26. package/{esm2020 → esm2022}/lib/language/index.mjs +2 -2
  27. package/esm2022/lib/language/language.module.mjs +39 -0
  28. package/{esm2020 → esm2022}/lib/language/shared/index.mjs +5 -5
  29. package/{esm2020 → esm2022}/lib/language/shared/language.interface.mjs +2 -2
  30. package/esm2022/lib/language/shared/language.loader.mjs +31 -0
  31. package/esm2022/lib/language/shared/language.provider.mjs +22 -0
  32. package/esm2022/lib/language/shared/language.service.mjs +38 -0
  33. package/{esm2020 → esm2022}/lib/language/shared/missing-translation.guard.mjs +16 -16
  34. package/{esm2020 → esm2022}/lib/media/index.mjs +3 -3
  35. package/{esm2020 → esm2022}/lib/media/media.enum.mjs +12 -12
  36. package/esm2022/lib/media/media.service.mjs +82 -0
  37. package/{esm2020 → esm2022}/lib/message/index.mjs +2 -2
  38. package/esm2022/lib/message/message.module.mjs +60 -0
  39. package/{esm2020 → esm2022}/lib/message/shared/index.mjs +4 -4
  40. package/{esm2020 → esm2022}/lib/message/shared/message.enum.mjs +10 -10
  41. package/esm2022/lib/message/shared/message.interface.mjs +2 -0
  42. package/esm2022/lib/message/shared/message.service.mjs +218 -0
  43. package/{esm2020 → esm2022}/lib/network/index.mjs +3 -3
  44. package/{esm2020 → esm2022}/lib/network/network.interfaces.mjs +2 -2
  45. package/esm2022/lib/network/network.service.mjs +66 -0
  46. package/{esm2020 → esm2022}/lib/regex/index.mjs +3 -3
  47. package/{esm2020 → esm2022}/lib/regex/regex.interface.mjs +2 -2
  48. package/esm2022/lib/regex/regex.service.mjs +30 -0
  49. package/esm2022/lib/request/error.interceptor.mjs +67 -0
  50. package/esm2022/lib/request/error.module.mjs +39 -0
  51. package/{esm2020 → esm2022}/lib/request/index.mjs +3 -3
  52. package/esm2022/lib/request/logging.interceptor.mjs +29 -0
  53. package/{esm2020 → esm2022}/lib/request/logging.module.mjs +30 -30
  54. package/esm2022/lib/route/route.interface.mjs +2 -0
  55. package/esm2022/lib/route/route.service.mjs +75 -0
  56. package/esm2022/lib/storage/index.mjs +4 -0
  57. package/{esm2020 → esm2022}/lib/storage/storage.interface.mjs +13 -13
  58. package/esm2022/lib/storage/storage.mjs +76 -0
  59. package/esm2022/lib/storage/storage.service.mjs +21 -0
  60. package/{esm2020 → esm2022}/public_api.mjs +28 -28
  61. package/{fesm2020 → fesm2022}/igo2-core.mjs +1411 -1289
  62. package/fesm2022/igo2-core.mjs.map +1 -0
  63. package/index.d.ts +5 -5
  64. package/lib/activity/activity.interceptor.d.ts +11 -11
  65. package/lib/activity/activity.module.d.ts +8 -8
  66. package/lib/activity/activity.service.d.ts +11 -11
  67. package/lib/activity/index.d.ts +2 -2
  68. package/lib/analytics/index.d.ts +1 -1
  69. package/lib/analytics/shared/analytics.interface.d.ts +6 -6
  70. package/lib/analytics/shared/analytics.service.d.ts +23 -23
  71. package/lib/analytics/shared/index.d.ts +2 -2
  72. package/lib/compression/compressedData.interface.d.ts +5 -5
  73. package/lib/compression/compression.service.d.ts +15 -15
  74. package/lib/compression/index.d.ts +2 -2
  75. package/lib/config/config-deprecated.d.ts +5 -0
  76. package/lib/config/config.interface.d.ts +13 -6
  77. package/lib/config/config.module.d.ts +8 -8
  78. package/lib/config/config.provider.d.ts +15 -15
  79. package/lib/config/config.service.d.ts +21 -18
  80. package/lib/config/index.d.ts +3 -3
  81. package/lib/config/version.d.ts +5 -5
  82. package/lib/core.module.d.ts +19 -19
  83. package/lib/gesture/gesture.module.d.ts +9 -9
  84. package/lib/gesture/gesture.provider.d.ts +7 -7
  85. package/lib/language/index.d.ts +1 -1
  86. package/lib/language/language.module.d.ts +9 -9
  87. package/lib/language/shared/index.d.ts +4 -4
  88. package/lib/language/shared/language.interface.d.ts +3 -3
  89. package/lib/language/shared/language.loader.d.ts +11 -11
  90. package/lib/language/shared/language.provider.d.ts +15 -15
  91. package/lib/language/shared/language.service.d.ts +13 -13
  92. package/lib/language/shared/missing-translation.guard.d.ts +4 -4
  93. package/lib/media/index.d.ts +2 -2
  94. package/lib/media/media.enum.d.ts +9 -9
  95. package/lib/media/media.service.d.ts +16 -16
  96. package/lib/message/index.d.ts +1 -1
  97. package/lib/message/message.module.d.ts +10 -10
  98. package/lib/message/message.theming.scss +26 -0
  99. package/lib/message/shared/index.d.ts +4 -4
  100. package/lib/message/shared/message.enum.d.ts +8 -8
  101. package/lib/message/shared/message.interface.d.ts +21 -21
  102. package/lib/message/shared/message.service.d.ts +31 -31
  103. package/lib/network/index.d.ts +2 -2
  104. package/lib/network/network.interfaces.d.ts +3 -3
  105. package/lib/network/network.service.d.ts +21 -21
  106. package/lib/regex/index.d.ts +2 -2
  107. package/lib/regex/regex.interface.d.ts +3 -3
  108. package/lib/regex/regex.service.d.ts +12 -12
  109. package/lib/request/error.interceptor.d.ts +14 -14
  110. package/lib/request/error.module.d.ts +9 -9
  111. package/lib/request/index.d.ts +2 -2
  112. package/lib/request/logging.interceptor.d.ts +8 -8
  113. package/lib/request/logging.module.d.ts +8 -8
  114. package/lib/route/route.interface.d.ts +23 -23
  115. package/lib/route/route.service.d.ts +19 -19
  116. package/lib/storage/index.d.ts +3 -2
  117. package/lib/storage/storage.d.ts +15 -0
  118. package/lib/storage/storage.interface.d.ts +20 -20
  119. package/lib/storage/storage.service.d.ts +10 -19
  120. package/locale/en.core.json +28 -29
  121. package/locale/en.json +1 -1205
  122. package/locale/fr.core.json +28 -29
  123. package/locale/fr.json +1 -1210
  124. package/package.json +40 -30
  125. package/packages.import.scss +4 -0
  126. package/public_api.d.ts +24 -24
  127. package/style/all-style.css +793 -0
  128. package/style/all-style.scss +3 -0
  129. package/style/layout.scss +163 -0
  130. package/style/partial/core-utils.scss +5 -0
  131. package/style/partial/core.variables.scss +5 -5
  132. package/style/partial/media.scss +80 -80
  133. package/style/style.css +237 -0
  134. package/style/style.scss +19 -0
  135. package/theming/all-theme.scss +14 -0
  136. package/theming/material-theme-override.scss +39 -0
  137. package/theming/prebuilt-themes/blue-theme.css +2982 -0
  138. package/theming/prebuilt-themes/blue-theme.scss +34 -0
  139. package/theming/prebuilt-themes/bluedark-theme.css +2982 -0
  140. package/theming/prebuilt-themes/bluedark-theme.scss +67 -0
  141. package/theming/prebuilt-themes/bluedq-theme.css +2982 -0
  142. package/theming/prebuilt-themes/bluedq-theme.scss +66 -0
  143. package/theming/prebuilt-themes/bluegrey-theme.css +2982 -0
  144. package/theming/prebuilt-themes/bluegrey-theme.scss +25 -0
  145. package/theming/prebuilt-themes/dark-theme.css +2989 -0
  146. package/theming/prebuilt-themes/dark-theme.scss +25 -0
  147. package/theming/prebuilt-themes/deeppurple-theme.css +2982 -0
  148. package/theming/prebuilt-themes/deeppurple-theme.scss +25 -0
  149. package/theming/prebuilt-themes/indigo-theme.css +2982 -0
  150. package/theming/prebuilt-themes/indigo-theme.scss +25 -0
  151. package/theming/prebuilt-themes/orange-theme.css +2982 -0
  152. package/theming/prebuilt-themes/orange-theme.scss +25 -0
  153. package/theming/prebuilt-themes/qcca/_index.scss +2 -0
  154. package/theming/prebuilt-themes/qcca/base/_index.scss +4 -0
  155. package/theming/prebuilt-themes/qcca/base/breakpoints.scss +57 -0
  156. package/theming/prebuilt-themes/qcca/base/colors.scss +40 -0
  157. package/theming/prebuilt-themes/qcca/base/palette.scss +50 -0
  158. package/theming/prebuilt-themes/qcca/base/typography/_index.scss +2 -0
  159. package/theming/prebuilt-themes/qcca/base/typography/typography.scss +138 -0
  160. package/theming/prebuilt-themes/qcca/base/typography/typography.utils.scss +18 -0
  161. package/theming/prebuilt-themes/qcca/components/_index.scss +10 -0
  162. package/theming/prebuilt-themes/qcca/components/_index.theme.scss +5 -0
  163. package/theming/prebuilt-themes/qcca/components/button.scss +24 -0
  164. package/theming/prebuilt-themes/qcca/components/dialog.scss +36 -0
  165. package/theming/prebuilt-themes/qcca/components/form-field.scss +5 -0
  166. package/theming/prebuilt-themes/qcca/components/input.scss +6 -0
  167. package/theming/prebuilt-themes/qcca/components/list.scss +24 -0
  168. package/theming/prebuilt-themes/qcca/components/panel.scss +8 -0
  169. package/theming/prebuilt-themes/qcca/components/scrollbar.scss +15 -0
  170. package/theming/prebuilt-themes/qcca/components/search-bar.scss +41 -0
  171. package/theming/prebuilt-themes/qcca/components/search-bar.theme.scss +29 -0
  172. package/theming/prebuilt-themes/qcca-theme.css +3383 -0
  173. package/theming/prebuilt-themes/qcca-theme.scss +47 -0
  174. package/theming/prebuilt-themes/teal-theme.css +2982 -0
  175. package/theming/prebuilt-themes/teal-theme.scss +25 -0
  176. package/theming/typography.scss +28 -0
  177. package/theming/utils/_foreground.scss +22 -0
  178. package/__ivy_ngcc__/locale/en.auth.json +0 -29
  179. package/__ivy_ngcc__/locale/en.common.json +0 -43
  180. package/__ivy_ngcc__/locale/en.context.json +0 -199
  181. package/__ivy_ngcc__/locale/en.core.json +0 -29
  182. package/__ivy_ngcc__/locale/en.geo.json +0 -805
  183. package/__ivy_ngcc__/locale/en.integration.json +0 -124
  184. package/__ivy_ngcc__/locale/en.json +0 -1205
  185. package/__ivy_ngcc__/locale/fr.auth.json +0 -32
  186. package/__ivy_ngcc__/locale/fr.common.json +0 -43
  187. package/__ivy_ngcc__/locale/fr.context.json +0 -199
  188. package/__ivy_ngcc__/locale/fr.core.json +0 -29
  189. package/__ivy_ngcc__/locale/fr.geo.json +0 -805
  190. package/__ivy_ngcc__/locale/fr.integration.json +0 -125
  191. package/__ivy_ngcc__/locale/fr.json +0 -1210
  192. package/esm2020/lib/activity/activity.service.mjs +0 -33
  193. package/esm2020/lib/analytics/shared/analytics.service.mjs +0 -81
  194. package/esm2020/lib/compression/compression.service.mjs +0 -140
  195. package/esm2020/lib/config/config.service.mjs +0 -52
  196. package/esm2020/lib/config/version.mjs +0 -5
  197. package/esm2020/lib/core.module.mjs +0 -92
  198. package/esm2020/lib/language/language.module.mjs +0 -39
  199. package/esm2020/lib/language/shared/language.loader.mjs +0 -26
  200. package/esm2020/lib/language/shared/language.provider.mjs +0 -22
  201. package/esm2020/lib/language/shared/language.service.mjs +0 -32
  202. package/esm2020/lib/media/media.service.mjs +0 -76
  203. package/esm2020/lib/message/message.module.mjs +0 -56
  204. package/esm2020/lib/message/shared/message.interface.mjs +0 -2
  205. package/esm2020/lib/message/shared/message.service.mjs +0 -201
  206. package/esm2020/lib/network/network.service.mjs +0 -60
  207. package/esm2020/lib/regex/regex.service.mjs +0 -27
  208. package/esm2020/lib/request/error.interceptor.mjs +0 -66
  209. package/esm2020/lib/request/error.module.mjs +0 -39
  210. package/esm2020/lib/request/logging.interceptor.mjs +0 -29
  211. package/esm2020/lib/route/route.interface.mjs +0 -2
  212. package/esm2020/lib/route/route.service.mjs +0 -71
  213. package/esm2020/lib/storage/index.mjs +0 -3
  214. package/esm2020/lib/storage/storage.service.mjs +0 -79
  215. package/fesm2015/igo2-core.mjs +0 -1418
  216. package/fesm2015/igo2-core.mjs.map +0 -1
  217. package/fesm2020/igo2-core.mjs.map +0 -1
  218. package/locale/en.auth.json +0 -29
  219. package/locale/en.common.json +0 -43
  220. package/locale/en.context.json +0 -199
  221. package/locale/en.geo.json +0 -805
  222. package/locale/en.integration.json +0 -124
  223. package/locale/fr.auth.json +0 -32
  224. package/locale/fr.common.json +0 -43
  225. package/locale/fr.context.json +0 -199
  226. package/locale/fr.geo.json +0 -805
  227. package/locale/fr.integration.json +0 -125
  228. package/style/all.theming.scss +0 -5
  229. package/style/core.theming.scss +0 -9
  230. package/style/foreground.scss +0 -20
  231. package/style/index.theming.scss +0 -1465
  232. package/style/material.font.scss +0 -10
  233. package/style/setup.scss +0 -2
  234. package/style/themes/blue.theme.scss +0 -19
  235. package/style/themes/bluedark.theme.scss +0 -52
  236. package/style/themes/bluedq.theme.scss +0 -52
  237. package/style/themes/bluegrey.theme.scss +0 -16
  238. package/style/themes/dark.theme.scss +0 -16
  239. package/style/themes/deeppurple.theme.scss +0 -16
  240. package/style/themes/indigo.theme.scss +0 -16
  241. package/style/themes/orange.theme.scss +0 -16
  242. package/style/themes/qcca.theme.scss +0 -98
  243. package/style/themes/teal.theme.scss +0 -16
  244. package/style/theming.scss +0 -5
  245. package/style/typography.scss +0 -17
@@ -1,12 +1,12 @@
1
- export var Media;
2
- (function (Media) {
3
- Media["Mobile"] = "mobile";
4
- Media["Tablet"] = "tablet";
5
- Media["Desktop"] = "desktop";
6
- })(Media || (Media = {}));
7
- export var MediaOrientation;
8
- (function (MediaOrientation) {
9
- MediaOrientation["Portrait"] = "portrait";
10
- MediaOrientation["Landscape"] = "landscape";
11
- })(MediaOrientation || (MediaOrientation = {}));
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9tZWRpYS9tZWRpYS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLEtBSVg7QUFKRCxXQUFZLEtBQUs7SUFDZiwwQkFBaUIsQ0FBQTtJQUNqQiwwQkFBaUIsQ0FBQTtJQUNqQiw0QkFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsS0FBSyxLQUFMLEtBQUssUUFJaEI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLHlDQUFxQixDQUFBO0lBQ3JCLDJDQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTWVkaWEge1xyXG4gIE1vYmlsZSA9ICdtb2JpbGUnLFxyXG4gIFRhYmxldCA9ICd0YWJsZXQnLFxyXG4gIERlc2t0b3AgPSAnZGVza3RvcCdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTWVkaWFPcmllbnRhdGlvbiB7XHJcbiAgUG9ydHJhaXQgPSAncG9ydHJhaXQnLFxyXG4gIExhbmRzY2FwZSA9ICdsYW5kc2NhcGUnXHJcbn1cclxuIl19
1
+ export var Media;
2
+ (function (Media) {
3
+ Media["Mobile"] = "mobile";
4
+ Media["Tablet"] = "tablet";
5
+ Media["Desktop"] = "desktop";
6
+ })(Media || (Media = {}));
7
+ export var MediaOrientation;
8
+ (function (MediaOrientation) {
9
+ MediaOrientation["Portrait"] = "portrait";
10
+ MediaOrientation["Landscape"] = "landscape";
11
+ })(MediaOrientation || (MediaOrientation = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9tZWRpYS9tZWRpYS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLEtBSVg7QUFKRCxXQUFZLEtBQUs7SUFDZiwwQkFBaUIsQ0FBQTtJQUNqQiwwQkFBaUIsQ0FBQTtJQUNqQiw0QkFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsS0FBSyxLQUFMLEtBQUssUUFJaEI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLHlDQUFxQixDQUFBO0lBQ3JCLDJDQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTWVkaWEge1xuICBNb2JpbGUgPSAnbW9iaWxlJyxcbiAgVGFibGV0ID0gJ3RhYmxldCcsXG4gIERlc2t0b3AgPSAnZGVza3RvcCdcbn1cblxuZXhwb3J0IGVudW0gTWVkaWFPcmllbnRhdGlvbiB7XG4gIFBvcnRyYWl0ID0gJ3BvcnRyYWl0JyxcbiAgTGFuZHNjYXBlID0gJ2xhbmRzY2FwZSdcbn1cbiJdfQ==
@@ -0,0 +1,82 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Breakpoints, BreakpointObserver } from '@angular/cdk/layout';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { Media, MediaOrientation } from './media.enum';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/layout";
7
+ export class MediaService {
8
+ media$ = new BehaviorSubject(undefined);
9
+ orientation$ = new BehaviorSubject(undefined);
10
+ constructor(breakpointObserver) {
11
+ breakpointObserver
12
+ .observe([Breakpoints.HandsetLandscape])
13
+ .subscribe((res) => {
14
+ if (res.matches) {
15
+ this.media$.next(Media.Mobile);
16
+ this.orientation$.next(MediaOrientation.Landscape);
17
+ }
18
+ });
19
+ breakpointObserver
20
+ .observe([Breakpoints.HandsetPortrait])
21
+ .subscribe((res) => {
22
+ if (res.matches) {
23
+ this.media$.next(Media.Mobile);
24
+ this.orientation$.next(MediaOrientation.Portrait);
25
+ }
26
+ });
27
+ breakpointObserver
28
+ .observe([Breakpoints.TabletLandscape])
29
+ .subscribe((res) => {
30
+ if (res.matches) {
31
+ this.media$.next(Media.Tablet);
32
+ this.orientation$.next(MediaOrientation.Landscape);
33
+ }
34
+ });
35
+ breakpointObserver
36
+ .observe([Breakpoints.TabletPortrait])
37
+ .subscribe((res) => {
38
+ if (res.matches) {
39
+ this.media$.next(Media.Tablet);
40
+ this.orientation$.next(MediaOrientation.Portrait);
41
+ }
42
+ });
43
+ breakpointObserver.observe([Breakpoints.WebLandscape]).subscribe((res) => {
44
+ if (res.matches) {
45
+ this.media$.next(Media.Desktop);
46
+ this.orientation$.next(MediaOrientation.Landscape);
47
+ }
48
+ });
49
+ breakpointObserver.observe([Breakpoints.WebPortrait]).subscribe((res) => {
50
+ if (res.matches) {
51
+ this.media$.next(Media.Desktop);
52
+ this.orientation$.next(MediaOrientation.Portrait);
53
+ }
54
+ });
55
+ }
56
+ getMedia() {
57
+ return this.media$.value;
58
+ }
59
+ getOrientation() {
60
+ return this.orientation$.value;
61
+ }
62
+ isTouchScreen() {
63
+ return 'ontouchstart' in document.documentElement ? true : false;
64
+ }
65
+ isMobile() {
66
+ const media = this.getMedia();
67
+ return media === 'mobile';
68
+ }
69
+ isDesktop() {
70
+ const media = this.getMedia();
71
+ return media === 'desktop';
72
+ }
73
+ static ɵfac = function MediaService_Factory(t) { return new (t || MediaService)(i0.ɵɵinject(i1.BreakpointObserver)); };
74
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MediaService, factory: MediaService.ɵfac, providedIn: 'root' });
75
+ }
76
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MediaService, [{
77
+ type: Injectable,
78
+ args: [{
79
+ providedIn: 'root'
80
+ }]
81
+ }], function () { return [{ type: i1.BreakpointObserver }]; }, null); })();
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9tZWRpYS9tZWRpYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUSxTQUFTLENBQUMsQ0FBQztJQUMvQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQW1CLFNBQVMsQ0FBQyxDQUFDO0lBRXZFLFlBQVksa0JBQXNDO1FBQ2hELGtCQUFrQjthQUNmLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3ZDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRTtnQkFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3BEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxrQkFBa0I7YUFDZixPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDdEMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLElBQUksQ0FBQyxNQUFNLENB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QGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcmVha3BvaW50cywgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNZWRpYSwgTWVkaWFPcmllbnRhdGlvbiB9IGZyb20gJy4vbWVkaWEuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1lZGlhU2VydmljZSB7XG4gIHB1YmxpYyBtZWRpYSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1lZGlhPih1bmRlZmluZWQpO1xuICBwdWJsaWMgb3JpZW50YXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZWRpYU9yaWVudGF0aW9uPih1bmRlZmluZWQpO1xuXG4gIGNvbnN0cnVjdG9yKGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7XG4gICAgYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldExhbmRzY2FwZV0pXG4gICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgaWYgKHJlcy5tYXRjaGVzKSB7XG4gICAgICAgICAgdGhpcy5tZWRpYSQubmV4dChNZWRpYS5Nb2JpbGUpO1xuICAgICAgICAgIHRoaXMub3JpZW50YXRpb24kLm5leHQoTWVkaWFPcmllbnRhdGlvbi5MYW5kc2NhcGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGJyZWFrcG9pbnRPYnNlcnZlclxuICAgICAgLm9ic2VydmUoW0JyZWFrcG9pbnRzLkhhbmRzZXRQb3J0cmFpdF0pXG4gICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgaWYgKHJlcy5tYXRjaGVzKSB7XG4gICAgICAgICAgdGhpcy5tZWRpYSQubmV4dChNZWRpYS5Nb2JpbGUpO1xuICAgICAgICAgIHRoaXMub3JpZW50YXRpb24kLm5leHQoTWVkaWFPcmllbnRhdGlvbi5Qb3J0cmFpdCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuVGFibGV0TGFuZHNjYXBlXSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLm1hdGNoZXMpIHtcbiAgICAgICAgICB0aGlzLm1lZGlhJC5uZXh0KE1lZGlhLlRhYmxldCk7XG4gICAgICAgICAgdGhpcy5vcmllbnRhdGlvbiQubmV4dChNZWRpYU9yaWVudGF0aW9uLkxhbmRzY2FwZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuVGFibGV0UG9ydHJhaXRdKVxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXMubWF0Y2hlcykge1xuICAgICAgICAgIHRoaXMubWVkaWEkLm5leHQoTWVkaWEuVGFibGV0KTtcbiAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uJC5uZXh0KE1lZGlhT3JpZW50YXRpb24uUG9ydHJhaXQpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFtCcmVha3BvaW50cy5XZWJMYW5kc2NhcGVdKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgaWYgKHJlcy5tYXRjaGVzKSB7XG4gICAgICAgIHRoaXMubWVkaWEkLm5leHQoTWVkaWEuRGVza3RvcCk7XG4gICAgICAgIHRoaXMub3JpZW50YXRpb24kLm5leHQoTWVkaWFPcmllbnRhdGlvbi5MYW5kc2NhcGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoW0JyZWFrcG9pbnRzLldlYlBvcnRyYWl0XSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIGlmIChyZXMubWF0Y2hlcykge1xuICAgICAgICB0aGlzLm1lZGlhJC5uZXh0KE1lZGlhLkRlc2t0b3ApO1xuICAgICAgICB0aGlzLm9yaWVudGF0aW9uJC5uZXh0KE1lZGlhT3JpZW50YXRpb24uUG9ydHJhaXQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0TWVkaWEoKTogTWVkaWEge1xuICAgIHJldHVybiB0aGlzLm1lZGlhJC52YWx1ZTtcbiAgfVxuXG4gIGdldE9yaWVudGF0aW9uKCk6IE1lZGlhT3JpZW50YXRpb24ge1xuICAgIHJldHVybiB0aGlzLm9yaWVudGF0aW9uJC52YWx1ZTtcbiAgfVxuXG4gIGlzVG91Y2hTY3JlZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA/IHRydWUgOiBmYWxzZTtcbiAgfVxuXG4gIGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1lZGlhID0gdGhpcy5nZXRNZWRpYSgpO1xuICAgIHJldHVybiBtZWRpYSA9PT0gJ21vYmlsZSc7XG4gIH1cblxuICBpc0Rlc2t0b3AoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbWVkaWEgPSB0aGlzLmdldE1lZGlhKCk7XG4gICAgcmV0dXJuIG1lZGlhID09PSAnZGVza3RvcCc7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export * from './shared';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcclxuIl19
1
+ export * from './shared';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ToastrModule } from 'ngx-toastr';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "ngx-toastr";
6
+ export class IgoMessageModule {
7
+ static forRoot() {
8
+ return {
9
+ ngModule: IgoMessageModule,
10
+ providers: []
11
+ };
12
+ }
13
+ static ɵfac = function IgoMessageModule_Factory(t) { return new (t || IgoMessageModule)(); };
14
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoMessageModule });
15
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
16
+ ToastrModule.forRoot({
17
+ positionClass: 'toast-bottom-right',
18
+ timeOut: 10000,
19
+ extendedTimeOut: 10000,
20
+ titleClass: 'mat-subtitle-2',
21
+ messageClass: 'toast-message',
22
+ closeButton: true,
23
+ progressBar: true,
24
+ enableHtml: true,
25
+ tapToDismiss: true,
26
+ maxOpened: 4,
27
+ preventDuplicates: true,
28
+ resetTimeoutOnDuplicate: true,
29
+ countDuplicates: false,
30
+ includeTitleDuplicates: true
31
+ })] });
32
+ }
33
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoMessageModule, [{
34
+ type: NgModule,
35
+ args: [{
36
+ imports: [
37
+ CommonModule,
38
+ ToastrModule.forRoot({
39
+ positionClass: 'toast-bottom-right',
40
+ timeOut: 10000,
41
+ extendedTimeOut: 10000,
42
+ titleClass: 'mat-subtitle-2',
43
+ messageClass: 'toast-message',
44
+ closeButton: true,
45
+ progressBar: true,
46
+ enableHtml: true,
47
+ tapToDismiss: true,
48
+ maxOpened: 4,
49
+ preventDuplicates: true,
50
+ resetTimeoutOnDuplicate: true,
51
+ countDuplicates: false,
52
+ includeTitleDuplicates: true
53
+ })
54
+ ],
55
+ declarations: [],
56
+ exports: []
57
+ }]
58
+ }], null, null); })();
59
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoMessageModule, { imports: [CommonModule, i1.ToastrModule] }); })();
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9tZXNzYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQXlCeEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7MEVBTlUsZ0JBQWdCOzREQUFoQixnQkFBZ0I7Z0VBckJ6QixZQUFZO1lBQ1osWUFBWSxDQUFDLE9BQU8sQ0FBQztnQkFDbkIsYUFBYSxFQUFFLG9CQUFvQjtnQkFDbkMsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsZUFBZSxFQUFFLEtBQUs7Z0JBQ3RCLFVBQVUsRUFBRSxnQkFBZ0I7Z0JBQzVCLFlBQVksRUFBRSxlQUFlO2dCQUM3QixXQUFXLEVBQUUsSUFBSTtnQkFDakIsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixZQUFZLEVBQUUsSUFBSTtnQkFDbEIsU0FBUyxFQUFFLENBQUM7Z0JBQ1osaUJBQWlCLEVBQUUsSUFBSTtnQkFDdkIsdUJBQXVCLEVBQUUsSUFBSTtnQkFDN0IsZUFBZSxFQUFFLEtBQUs7Z0JBQ3RCLHNCQUFzQixFQUFFLElBQUk7YUFDYixDQUFDOzt1RkFLVCxnQkFBZ0I7Y0F2QjVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZLENBQUMsT0FBTyxDQUFDO3dCQUNuQixhQUFhLEVBQUUsb0JBQW9CO3dCQUNuQyxPQUFPLEVBQUUsS0FBSzt3QkFDZCxlQUFlLEVBQUUsS0FBSzt3QkFDdEIsVUFBVSxFQUFFLGdCQUFnQjt3QkFDNUIsWUFBWSxFQUFFLGVBQWU7d0JBQzdCLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixXQUFXLEVBQUUsSUFBSTt3QkFDakIsVUFBVSxFQUFFLElBQUk7d0JBQ2hCLFlBQVksRUFBRSxJQUFJO3dCQUNsQixTQUFTLEVBQUUsQ0FBQzt3QkFDWixpQkFBaUIsRUFBRSxJQUFJO3dCQUN2Qix1QkFBdUIsRUFBRSxJQUFJO3dCQUM3QixlQUFlLEVBQUUsS0FBSzt3QkFDdEIsc0JBQXNCLEVBQUUsSUFBSTtxQkFDYixDQUFDO2lCQUNuQjtnQkFDRCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWjs7d0ZBQ1ksZ0JBQWdCLGNBckJ6QixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEdsb2JhbENvbmZpZywgVG9hc3RyTW9kdWxlIH0gZnJvbSAnbmd4LXRvYXN0cic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVG9hc3RyTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgcG9zaXRpb25DbGFzczogJ3RvYXN0LWJvdHRvbS1yaWdodCcsXG4gICAgICB0aW1lT3V0OiAxMDAwMCxcbiAgICAgIGV4dGVuZGVkVGltZU91dDogMTAwMDAsXG4gICAgICB0aXRsZUNsYXNzOiAnbWF0LXN1YnRpdGxlLTInLFxuICAgICAgbWVzc2FnZUNsYXNzOiAndG9hc3QtbWVzc2FnZScsXG4gICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgIHByb2dyZXNzQmFyOiB0cnVlLFxuICAgICAgZW5hYmxlSHRtbDogdHJ1ZSxcbiAgICAgIHRhcFRvRGlzbWlzczogdHJ1ZSxcbiAgICAgIG1heE9wZW5lZDogNCxcbiAgICAgIHByZXZlbnREdXBsaWNhdGVzOiB0cnVlLFxuICAgICAgcmVzZXRUaW1lb3V0T25EdXBsaWNhdGU6IHRydWUsXG4gICAgICBjb3VudER1cGxpY2F0ZXM6IGZhbHNlLFxuICAgICAgaW5jbHVkZVRpdGxlRHVwbGljYXRlczogdHJ1ZVxuICAgIH0gYXMgR2xvYmFsQ29uZmlnKVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29NZXNzYWdlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29NZXNzYWdlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29NZXNzYWdlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- export * from './message.enum';
2
- export * from './message.interface';
3
- export * from './message.service';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21lc3NhZ2UuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2Uuc2VydmljZSc7XHJcbmV4cG9ydCB7IEFjdGl2ZVRvYXN0IH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbiJdfQ==
1
+ export * from './message.enum';
2
+ export * from './message.interface';
3
+ export * from './message.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21lc3NhZ2UuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2UuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCB7IEFjdGl2ZVRvYXN0IH0gZnJvbSAnbmd4LXRvYXN0cic7XG4iXX0=
@@ -1,10 +1,10 @@
1
- export var MessageType;
2
- (function (MessageType) {
3
- MessageType["ERROR"] = "error";
4
- MessageType["ALERT"] = "warning";
5
- MessageType["WARNING"] = "warning";
6
- MessageType["INFO"] = "info";
7
- MessageType["SUCCESS"] = "success";
8
- MessageType["SHOW"] = "show";
9
- })(MessageType || (MessageType = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL21lc3NhZ2Uvc2hhcmVkL21lc3NhZ2UuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQU9YO0FBUEQsV0FBWSxXQUFXO0lBQ3JCLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBbUIsQ0FBQTtJQUNuQiw0QkFBYSxDQUFBO0lBQ2Isa0NBQW1CLENBQUE7SUFDbkIsNEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFQVyxXQUFXLEtBQVgsV0FBVyxRQU90QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1lc3NhZ2VUeXBlIHtcclxuICBFUlJPUiA9ICdlcnJvcicsXHJcbiAgQUxFUlQgPSAnd2FybmluZycsIC8vIHRvZG8gZGVsZXRlICh0cmFuc2l0aW9uIHRvIG5neC10b2FzdHIpXHJcbiAgV0FSTklORyA9ICd3YXJuaW5nJyxcclxuICBJTkZPID0gJ2luZm8nLFxyXG4gIFNVQ0NFU1MgPSAnc3VjY2VzcycsXHJcbiAgU0hPVyA9ICdzaG93J1xyXG59XHJcbiJdfQ==
1
+ export var MessageType;
2
+ (function (MessageType) {
3
+ MessageType["ERROR"] = "error";
4
+ MessageType["ALERT"] = "warning";
5
+ MessageType["WARNING"] = "warning";
6
+ MessageType["INFO"] = "info";
7
+ MessageType["SUCCESS"] = "success";
8
+ MessageType["SHOW"] = "show";
9
+ })(MessageType || (MessageType = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL21lc3NhZ2Uvc2hhcmVkL21lc3NhZ2UuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQU9YO0FBUEQsV0FBWSxXQUFXO0lBQ3JCLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBbUIsQ0FBQTtJQUNuQiw0QkFBYSxDQUFBO0lBQ2Isa0NBQW1CLENBQUE7SUFDbkIsNEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFQVyxXQUFXLEtBQVgsV0FBVyxRQU90QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1lc3NhZ2VUeXBlIHtcbiAgRVJST1IgPSAnZXJyb3InLFxuICBBTEVSVCA9ICd3YXJuaW5nJywgLy8gdG9kbyBkZWxldGUgKHRyYW5zaXRpb24gdG8gbmd4LXRvYXN0cilcbiAgV0FSTklORyA9ICd3YXJuaW5nJyxcbiAgSU5GTyA9ICdpbmZvJyxcbiAgU1VDQ0VTUyA9ICdzdWNjZXNzJyxcbiAgU0hPVyA9ICdzaG93J1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9zaGFyZWQvbWVzc2FnZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlVHlwZSB9IGZyb20gJy4vbWVzc2FnZS5lbnVtJztcbmltcG9ydCB7IEluZGl2aWR1YWxDb25maWcgfSBmcm9tICduZ3gtdG9hc3RyJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGh0bWw/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuICB0eXBlPzogTWVzc2FnZVR5cGU7XG4gIG9wdGlvbnM/OiBNZXNzYWdlT3B0aW9ucztcbiAgZm9ybWF0PzogJ3RleHQnIHwgJ2h0bWwnO1xuICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3Q7XG4gIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3Q7XG4gIHNob3dJY29uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlT3B0aW9ucyBleHRlbmRzIEluZGl2aWR1YWxDb25maWcge1xuICB0ZW1wbGF0ZT86IHN0cmluZztcbiAgZnJvbT86IERhdGUgfCBzdHJpbmc7XG4gIHRvPzogRGF0ZSB8IHN0cmluZztcbiAgaWQ/OiBudW1iZXI7XG4gIHNob3dPbkVhY2hMYXllclZpc2liaWxpdHk/OiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,218 @@
1
+ import { Injectable, Inject, Injector } from '@angular/core';
2
+ import { BehaviorSubject, forkJoin } from 'rxjs';
3
+ import { ConfigService } from '../../config/config.service';
4
+ import { ToastrService } from 'ngx-toastr';
5
+ import { MessageType } from './message.enum';
6
+ import { LanguageService } from '../../language/shared/language.service';
7
+ import { debounceTime, first } from 'rxjs/operators';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../config/config.service";
10
+ import * as i2 from "../../language/shared/language.service";
11
+ export class MessageService {
12
+ injector;
13
+ configService;
14
+ languageService;
15
+ messages$ = new BehaviorSubject([]);
16
+ options;
17
+ activeMessageTranslations = [];
18
+ constructor(injector, configService, languageService) {
19
+ this.injector = injector;
20
+ this.configService = configService;
21
+ this.languageService = languageService;
22
+ this.options = this.configService.getConfig('message');
23
+ this.languageService.language$.pipe(debounceTime(500)).subscribe((r) => {
24
+ if (this.toastr.toasts.length === 0) {
25
+ this.activeMessageTranslations = [];
26
+ }
27
+ this.toastr.toasts.map((toast) => {
28
+ const activeMessageTranslation = this.activeMessageTranslations.find((amt) => amt.id === toast.toastId);
29
+ if (activeMessageTranslation) {
30
+ const translatedTextInterpolateParams = {
31
+ ...activeMessageTranslation.textInterpolateParams
32
+ };
33
+ const translatedTitleInterpolateParams = {
34
+ ...activeMessageTranslation.titleInterpolateParams
35
+ };
36
+ if (activeMessageTranslation.textInterpolateParams) {
37
+ Object.keys(activeMessageTranslation.textInterpolateParams).map((k) => {
38
+ if (k) {
39
+ translatedTextInterpolateParams[k] =
40
+ this.languageService.translate.instant(activeMessageTranslation.textInterpolateParams[k]);
41
+ }
42
+ });
43
+ }
44
+ if (activeMessageTranslation.titleInterpolateParams) {
45
+ Object.keys(activeMessageTranslation.titleInterpolateParams).map((k) => {
46
+ if (k) {
47
+ translatedTitleInterpolateParams[k] =
48
+ this.languageService.translate.instant(activeMessageTranslation.titleInterpolateParams[k]);
49
+ }
50
+ });
51
+ }
52
+ forkJoin([
53
+ this.languageService.translate.get(activeMessageTranslation.textKey, translatedTextInterpolateParams),
54
+ this.languageService.translate.get(activeMessageTranslation.titleKey, translatedTitleInterpolateParams)
55
+ ])
56
+ .pipe(first())
57
+ .subscribe((res) => {
58
+ toast.toastRef.componentInstance.message = res[0];
59
+ toast.toastRef.componentInstance.title = res[1];
60
+ });
61
+ }
62
+ });
63
+ });
64
+ }
65
+ get toastr() {
66
+ return this.injector.get(ToastrService);
67
+ }
68
+ showError(httpError) {
69
+ httpError.error.caught = true;
70
+ return this.error(httpError.error.message, httpError.error.title);
71
+ }
72
+ message(message) {
73
+ const messageType = message.type;
74
+ this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType}`;
75
+ this.messages$.next(this.messages$.value.concat([message]));
76
+ message.options = message.options || {};
77
+ const currentDate = new Date();
78
+ message.options.from = message.options.from
79
+ ? message.options.from
80
+ : new Date('1 jan 1900');
81
+ message.options.to = message.options.to
82
+ ? message.options.to
83
+ : new Date('1 jan 3000');
84
+ if (typeof message.options.from === 'string') {
85
+ message.options.from = new Date(Date.parse(message.options.from.replace(/-/g, ' ')));
86
+ }
87
+ if (typeof message.options.to === 'string') {
88
+ message.options.to = new Date(Date.parse(message.options.to.replace(/-/g, ' ')));
89
+ }
90
+ if (currentDate > message.options.from &&
91
+ currentDate < message.options.to) {
92
+ if (message.showIcon === false) {
93
+ this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType} toast-no-icon`;
94
+ }
95
+ message = this.handleTemplate(message);
96
+ if (message.text) {
97
+ let messageShown;
98
+ switch (message.type) {
99
+ case MessageType.SUCCESS:
100
+ messageShown = this.success(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
101
+ break;
102
+ case MessageType.ERROR:
103
+ messageShown = this.error(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
104
+ break;
105
+ case MessageType.INFO:
106
+ messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
107
+ break;
108
+ case MessageType.SHOW:
109
+ messageShown = this.show(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
110
+ break;
111
+ case MessageType.ALERT:
112
+ case MessageType.WARNING:
113
+ messageShown = this.alert(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
114
+ break;
115
+ default:
116
+ messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
117
+ break;
118
+ }
119
+ message.options.id = messageShown.toastId;
120
+ }
121
+ }
122
+ }
123
+ success(text, title = 'igo.core.message.success', options = {}, textInterpolateParams, titleInterpolateParams) {
124
+ return this.handleNgxToastr('success', text, title, options, textInterpolateParams, titleInterpolateParams);
125
+ }
126
+ error(text, title = 'igo.core.message.error', options = {}, textInterpolateParams, titleInterpolateParams) {
127
+ return this.handleNgxToastr('error', text, title, options, textInterpolateParams, titleInterpolateParams);
128
+ }
129
+ info(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
130
+ return this.handleNgxToastr('info', text, title, options, textInterpolateParams, titleInterpolateParams);
131
+ }
132
+ alert(text, title = 'igo.core.message.alert', options = {}, textInterpolateParams, titleInterpolateParams) {
133
+ return this.handleNgxToastr('alert', text, title, options, textInterpolateParams, titleInterpolateParams);
134
+ }
135
+ show(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
136
+ return this.handleNgxToastr('show', text, title, options, textInterpolateParams, titleInterpolateParams);
137
+ }
138
+ handleNgxToastr(type, text, title, options = {}, textInterpolateParams, titleInterpolateParams) {
139
+ const translatedTextInterpolateParams = { ...textInterpolateParams };
140
+ const translatedTitlenterpolateParams = { ...titleInterpolateParams };
141
+ if (textInterpolateParams) {
142
+ Object.keys(textInterpolateParams).map((k) => {
143
+ if (textInterpolateParams[k]) {
144
+ translatedTextInterpolateParams[k] =
145
+ this.languageService.translate.instant(textInterpolateParams[k]);
146
+ }
147
+ });
148
+ }
149
+ if (titleInterpolateParams) {
150
+ Object.keys(titleInterpolateParams).map((k) => {
151
+ if (k) {
152
+ translatedTitlenterpolateParams[k] =
153
+ this.languageService.translate.instant(titleInterpolateParams[k]);
154
+ }
155
+ });
156
+ }
157
+ const message = this.languageService.translate.instant(text, translatedTextInterpolateParams);
158
+ const translatedTitle = this.languageService.translate.instant(title, translatedTitlenterpolateParams);
159
+ let activeToast;
160
+ switch (type) {
161
+ case 'success':
162
+ activeToast = this.toastr.success(message, translatedTitle, options);
163
+ break;
164
+ case 'error':
165
+ activeToast = this.toastr.error(message, translatedTitle, options);
166
+ break;
167
+ case 'show':
168
+ case 'info':
169
+ activeToast = this.toastr.info(message, translatedTitle, options);
170
+ break;
171
+ case 'alert':
172
+ activeToast = this.toastr.warning(message, translatedTitle, options);
173
+ break;
174
+ }
175
+ this.activeMessageTranslations.push({
176
+ id: activeToast.toastId,
177
+ titleKey: title,
178
+ textKey: text,
179
+ textInterpolateParams,
180
+ titleInterpolateParams
181
+ });
182
+ return activeToast;
183
+ }
184
+ remove(id) {
185
+ this.toastr.remove(id);
186
+ }
187
+ removeAllAreNotError() {
188
+ for (const mess of this.messages$.value) {
189
+ if (mess.type !== MessageType.ERROR) {
190
+ this.remove(mess.options.id);
191
+ }
192
+ }
193
+ }
194
+ handleTemplate(message) {
195
+ if (!this.options?.template || message.html) {
196
+ return message;
197
+ }
198
+ let html = this.options?.template;
199
+ html = html.replace('${text}', message.text);
200
+ html = html.replace('${title}', message.title);
201
+ message.html = undefined;
202
+ message.text = html;
203
+ message.title = undefined;
204
+ return message;
205
+ }
206
+ static ɵfac = function MessageService_Factory(t) { return new (t || MessageService)(i0.ɵɵinject(Injector), i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i2.LanguageService)); };
207
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MessageService, factory: MessageService.ɵfac, providedIn: 'root' });
208
+ }
209
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MessageService, [{
210
+ type: Injectable,
211
+ args: [{
212
+ providedIn: 'root'
213
+ }]
214
+ }], function () { return [{ type: i0.Injector, decorators: [{
215
+ type: Inject,
216
+ args: [Injector]
217
+ }] }, { type: i1.ConfigService }, { type: i2.LanguageService }]; }, null); })();
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL21lc3NhZ2Uvc2hhcmVkL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRzVELE9BQU8sRUFBaUMsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVlyRCxNQUFNLE9BQU8sY0FBYztJQU1HO0lBQ2xCO0lBQ0E7SUFQSCxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVksRUFBRSxDQUFDLENBQUM7SUFDOUMsT0FBTyxDQUFrQjtJQUN6Qix5QkFBeUIsR0FBK0IsRUFBRSxDQUFDO0lBRW5FLFlBQzRCLFFBQWtCLEVBQ3BDLGFBQTRCLEVBQzVCLGVBQWdDO1FBRmQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFFeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENB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QkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzlCO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWdCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQzNDLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFDbEMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9DLE9BQU8sQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQzFCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7d0VBbFdVLGNBQWMsY0FNZixRQUFRO2dFQU5QLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07O3VGQUVQLGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COztzQkFPSSxNQUFNO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbmZpZy9jb25maWcuc2VydmljZSc7XG5cbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VPcHRpb25zIH0gZnJvbSAnLi9tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBY3RpdmVUb2FzdCwgSW5kaXZpZHVhbENvbmZpZywgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tICcuL21lc3NhZ2UuZW51bSc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9sYW5ndWFnZS9zaGFyZWQvbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbnRlcmZhY2UgQWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uIHtcbiAgaWQ6IG51bWJlcjtcbiAgdGl0bGVLZXk6IHN0cmluZztcbiAgdGV4dEtleTogc3RyaW5nO1xuICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3Q7XG4gIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3Q7XG59XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU2VydmljZSB7XG4gIHB1YmxpYyBtZXNzYWdlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1lc3NhZ2VbXT4oW10pO1xuICBwcml2YXRlIG9wdGlvbnM/OiBNZXNzYWdlT3B0aW9ucztcbiAgcHJpdmF0ZSBhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb25zOiBBY3RpdmVNZXNzYWdlVHJhbnNsYXRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoSW5qZWN0b3IpIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ21lc3NhZ2UnKTtcbiAgICB0aGlzLmxhbmd1YWdlU2VydmljZS5sYW5ndWFnZSQucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICBpZiAodGhpcy50b2FzdHIudG9hc3RzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLmFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbnMgPSBbXTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9hc3RyLnRvYXN0cy5tYXAoKHRvYXN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbiA9IHRoaXMuYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9ucy5maW5kKFxuICAgICAgICAgIChhbXQpID0+IGFtdC5pZCA9PT0gdG9hc3QudG9hc3RJZFxuICAgICAgICApO1xuICAgICAgICBpZiAoYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uKSB7XG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRlZFRleHRJbnRlcnBvbGF0ZVBhcmFtcyA9IHtcbiAgICAgICAgICAgIC4uLmFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50ZXh0SW50ZXJwb2xhdGVQYXJhbXNcbiAgICAgICAgICB9O1xuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRUaXRsZUludGVycG9sYXRlUGFyYW1zID0ge1xuICAgICAgICAgICAgLi4uYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaWYgKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50ZXh0SW50ZXJwb2xhdGVQYXJhbXMpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50ZXh0SW50ZXJwb2xhdGVQYXJhbXMpLm1hcChcbiAgICAgICAgICAgICAgKGspID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaykge1xuICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlZFRleHRJbnRlcnBvbGF0ZVBhcmFtc1trXSA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50ZXh0SW50ZXJwb2xhdGVQYXJhbXNba11cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGl0bGVJbnRlcnBvbGF0ZVBhcmFtcykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpLm1hcChcbiAgICAgICAgICAgICAgKGspID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaykge1xuICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlZFRpdGxlSW50ZXJwb2xhdGVQYXJhbXNba10gPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1trXVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmb3JrSm9pbihbXG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuZ2V0KFxuICAgICAgICAgICAgICBhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGV4dEtleSxcbiAgICAgICAgICAgICAgdHJhbnNsYXRlZFRleHRJbnRlcnBvbGF0ZVBhcmFtc1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5nZXQoXG4gICAgICAgICAgICAgIGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUtleSxcbiAgICAgICAgICAgICAgdHJhbnNsYXRlZFRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlczogW3N0cmluZywgc3RyaW5nXSkgPT4ge1xuICAgICAgICAgICAgICB0b2FzdC50b2FzdFJlZi5jb21wb25lbnRJbnN0YW5jZS5tZXNzYWdlID0gcmVzWzBdO1xuICAgICAgICAgICAgICB0b2FzdC50b2FzdFJlZi5jb21wb25lbnRJbnN0YW5jZS50aXRsZSA9IHJlc1sxXTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRvYXN0cigpOiBUb2FzdHJTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoVG9hc3RyU2VydmljZSk7XG4gIH1cblxuICBzaG93RXJyb3IoaHR0cEVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgIGh0dHBFcnJvci5lcnJvci5jYXVnaHQgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzLmVycm9yKGh0dHBFcnJvci5lcnJvci5tZXNzYWdlLCBodHRwRXJyb3IuZXJyb3IudGl0bGUpO1xuICB9XG5cbiAgbWVzc2FnZShtZXNzYWdlOiBNZXNzYWdlKSB7XG4gICAgY29uc3QgbWVzc2FnZVR5cGUgPSBtZXNzYWdlLnR5cGU7XG4gICAgdGhpcy50b2FzdHIudG9hc3RyQ29uZmlnLmljb25DbGFzc2VzW21lc3NhZ2VUeXBlXSA9IGB0b2FzdC0ke21lc3NhZ2VUeXBlfWA7XG5cbiAgICB0aGlzLm1lc3NhZ2VzJC5uZXh0KHRoaXMubWVzc2FnZXMkLnZhbHVlLmNvbmNhdChbbWVzc2FnZV0pKTtcblxuICAgIG1lc3NhZ2Uub3B0aW9ucyA9IG1lc3NhZ2Uub3B0aW9ucyB8fCAoe30gYXMgTWVzc2FnZU9wdGlvbnMpO1xuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcblxuICAgIG1lc3NhZ2Uub3B0aW9ucy5mcm9tID0gbWVzc2FnZS5vcHRpb25zLmZyb21cbiAgICAgID8gbWVzc2FnZS5vcHRpb25zLmZyb21cbiAgICAgIDogbmV3IERhdGUoJzEgamFuIDE5MDAnKTtcbiAgICBtZXNzYWdlLm9wdGlvbnMudG8gPSBtZXNzYWdlLm9wdGlvbnMudG9cbiAgICAgID8gbWVzc2FnZS5vcHRpb25zLnRvXG4gICAgICA6IG5ldyBEYXRlKCcxIGphbiAzMDAwJyk7XG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlLm9wdGlvbnMuZnJvbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG1lc3NhZ2Uub3B0aW9ucy5mcm9tID0gbmV3IERhdGUoXG4gICAgICAgIERhdGUucGFyc2UobWVzc2FnZS5vcHRpb25zLmZyb20ucmVwbGFjZSgvLS9nLCAnICcpKVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlLm9wdGlvbnMudG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICBtZXNzYWdlLm9wdGlvbnMudG8gPSBuZXcgRGF0ZShcbiAgICAgICAgRGF0ZS5wYXJzZShtZXNzYWdlLm9wdGlvbnMudG8ucmVwbGFjZSgvLS9nLCAnICcpKVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgY3VycmVudERhdGUgPiBtZXNzYWdlLm9wdGlvbnMuZnJvbSAmJlxuICAgICAgY3VycmVudERhdGUgPCBtZXNzYWdlLm9wdGlvbnMudG9cbiAgICApIHtcbiAgICAgIGlmIChtZXNzYWdlLnNob3dJY29uID09PSBmYWxzZSkge1xuICAgICAgICB0aGlzLnRvYXN0ci50b2FzdHJDb25maWcuaWNvbkNsYXNzZXNbXG4gICAgICAgICAgbWVzc2FnZVR5cGVcbiAgICAgICAgXSA9IGB0b2FzdC0ke21lc3NhZ2VUeXBlfSB0b2FzdC1uby1pY29uYDtcbiAgICAgIH1cbiAgICAgIG1lc3NhZ2UgPSB0aGlzLmhhbmRsZVRlbXBsYXRlKG1lc3NhZ2UpO1xuXG4gICAgICBpZiAobWVzc2FnZS50ZXh0KSB7XG4gICAgICAgIGxldCBtZXNzYWdlU2hvd246IEFjdGl2ZVRvYXN0PGFueT47XG4gICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5TVUNDRVNTOlxuICAgICAgICAgICAgbWVzc2FnZVNob3duID0gdGhpcy5zdWNjZXNzKFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHQsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGUsXG4gICAgICAgICAgICAgIG1lc3NhZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGUuRVJST1I6XG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLmVycm9yKFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHQsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGUsXG4gICAgICAgICAgICAgIG1lc3NhZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGUuSU5GTzpcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuaW5mbyhcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0LFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlLFxuICAgICAgICAgICAgICBtZXNzYWdlLm9wdGlvbnMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dEludGVycG9sYXRlUGFyYW1zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLlNIT1c6XG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLnNob3coXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dCxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZSxcbiAgICAgICAgICAgICAgbWVzc2FnZS5vcHRpb25zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZUludGVycG9sYXRlUGFyYW1zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5BTEVSVDpcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLldBUk5JTkc6XG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLmFsZXJ0KFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHQsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGUsXG4gICAgICAgICAgICAgIG1lc3NhZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLmluZm8oXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dCxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZSxcbiAgICAgICAgICAgICAgbWVzc2FnZS5vcHRpb25zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZUludGVycG9sYXRlUGFyYW1zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgbWVzc2FnZS5vcHRpb25zLmlkID0gbWVzc2FnZVNob3duLnRvYXN0SWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3VjY2VzcyhcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyA9ICdpZ28uY29yZS5tZXNzYWdlLnN1Y2Nlc3MnLFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcbiAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QsXG4gICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdFxuICApOiBBY3RpdmVUb2FzdDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVOZ3hUb2FzdHIoXG4gICAgICAnc3VjY2VzcycsXG4gICAgICB0ZXh0LFxuICAgICAgdGl0bGUsXG4gICAgICBvcHRpb25zLFxuICAgICAgdGV4dEludGVycG9sYXRlUGFyYW1zLFxuICAgICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xuICAgICk7XG4gIH1cblxuICBlcnJvcihcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyA9ICdpZ28uY29yZS5tZXNzYWdlLmVycm9yJyxcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge30sXG4gICAgdGV4dEludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0LFxuICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3RcbiAgKTogQWN0aXZlVG9hc3Q8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlTmd4VG9hc3RyKFxuICAgICAgJ2Vycm9yJyxcbiAgICAgIHRleHQsXG4gICAgICB0aXRsZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXG4gICAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zXG4gICAgKTtcbiAgfVxuXG4gIGluZm8oXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcgPSAnaWdvLmNvcmUubWVzc2FnZS5pbmZvJyxcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge30sXG4gICAgdGV4dEludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0LFxuICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3RcbiAgKTogQWN0aXZlVG9hc3Q8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlTmd4VG9hc3RyKFxuICAgICAgJ2luZm8nLFxuICAgICAgdGV4dCxcbiAgICAgIHRpdGxlLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcbiAgICApO1xuICB9XG5cbiAgYWxlcnQoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcgPSAnaWdvLmNvcmUubWVzc2FnZS5hbGVydCcsXG4gICAgb3B0aW9uczogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPiA9IHt9LFxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcbiAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0XG4gICk6IEFjdGl2ZVRvYXN0PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmhhbmRsZU5neFRvYXN0cihcbiAgICAgICdhbGVydCcsXG4gICAgICB0ZXh0LFxuICAgICAgdGl0bGUsXG4gICAgICBvcHRpb25zLFxuICAgICAgdGV4dEludGVycG9sYXRlUGFyYW1zLFxuICAgICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xuICAgICk7XG4gIH1cblxuICBzaG93KFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nID0gJ2lnby5jb3JlLm1lc3NhZ2UuaW5mbycsXG4gICAgb3B0aW9uczogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPiA9IHt9LFxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcbiAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0XG4gICk6IEFjdGl2ZVRvYXN0PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmhhbmRsZU5neFRvYXN0cihcbiAgICAgICdzaG93JyxcbiAgICAgIHRleHQsXG4gICAgICB0aXRsZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXG4gICAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTmd4VG9hc3RyKFxuICAgIHR5cGU6ICdhbGVydCcgfCAnaW5mbycgfCAnZXJyb3InIHwgJ3N1Y2Nlc3MnIHwgJ3Nob3cnLFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcbiAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QsXG4gICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdFxuICApOiBBY3RpdmVUb2FzdDxhbnk+IHtcbiAgICBjb25zdCB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zID0geyAuLi50ZXh0SW50ZXJwb2xhdGVQYXJhbXMgfTtcbiAgICBjb25zdCB0cmFuc2xhdGVkVGl0bGVudGVycG9sYXRlUGFyYW1zID0geyAuLi50aXRsZUludGVycG9sYXRlUGFyYW1zIH07XG5cbiAgICBpZiAodGV4dEludGVycG9sYXRlUGFyYW1zKSB7XG4gICAgICBPYmplY3Qua2V5cyh0ZXh0SW50ZXJwb2xhdGVQYXJhbXMpLm1hcCgoaykgPT4ge1xuICAgICAgICBpZiAodGV4dEludGVycG9sYXRlUGFyYW1zW2tdKSB7XG4gICAgICAgICAgdHJhbnNsYXRlZFRleHRJbnRlcnBvbGF0ZVBhcmFtc1trXSA9XG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh0ZXh0SW50ZXJwb2xhdGVQYXJhbXNba10pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKHRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpLm1hcCgoaykgPT4ge1xuICAgICAgICBpZiAoaykge1xuICAgICAgICAgIHRyYW5zbGF0ZWRUaXRsZW50ZXJwb2xhdGVQYXJhbXNba10gPVxuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQodGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1trXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgIHRleHQsXG4gICAgICB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zXG4gICAgKTtcbiAgICBjb25zdCB0cmFuc2xhdGVkVGl0bGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgIHRpdGxlLFxuICAgICAgdHJhbnNsYXRlZFRpdGxlbnRlcnBvbGF0ZVBhcmFtc1xuICAgICk7XG5cbiAgICBsZXQgYWN0aXZlVG9hc3Q7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgYWN0aXZlVG9hc3QgPSB0aGlzLnRvYXN0ci5zdWNjZXNzKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICBhY3RpdmVUb2FzdCA9IHRoaXMudG9hc3RyLmVycm9yKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2hvdyc6XG4gICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgYWN0aXZlVG9hc3QgPSB0aGlzLnRvYXN0ci5pbmZvKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWxlcnQnOlxuICAgICAgICBhY3RpdmVUb2FzdCA9IHRoaXMudG9hc3RyLndhcm5pbmcobWVzc2FnZSwgdHJhbnNsYXRlZFRpdGxlLCBvcHRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9ucy5wdXNoKHtcbiAgICAgIGlkOiBhY3RpdmVUb2FzdC50b2FzdElkLFxuICAgICAgdGl0bGVLZXk6IHRpdGxlLFxuICAgICAgdGV4dEtleTogdGV4dCxcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcbiAgICB9KTtcbiAgICByZXR1cm4gYWN0aXZlVG9hc3Q7XG4gIH1cblxuICByZW1vdmUoaWQ/OiBudW1iZXIpIHtcbiAgICB0aGlzLnRvYXN0ci5yZW1vdmUoaWQpO1xuICB9XG5cbiAgcmVtb3ZlQWxsQXJlTm90RXJyb3IoKSB7XG4gICAgZm9yIChjb25zdCBtZXNzIG9mIHRoaXMubWVzc2FnZXMkLnZhbHVlKSB7XG4gICAgICBpZiAobWVzcy50eXBlICE9PSBNZXNzYWdlVHlwZS5FUlJPUikge1xuICAgICAgICB0aGlzLnJlbW92ZShtZXNzLm9wdGlvbnMuaWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVGVtcGxhdGUobWVzc2FnZTogTWVzc2FnZSk6IE1lc3NhZ2Uge1xuICAgIGlmICghdGhpcy5vcHRpb25zPy50ZW1wbGF0ZSB8fCBtZXNzYWdlLmh0bWwpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH1cblxuICAgIGxldCBodG1sID0gdGhpcy5vcHRpb25zPy50ZW1wbGF0ZTtcbiAgICBodG1sID0gaHRtbC5yZXBsYWNlKCcke3RleHR9JywgbWVzc2FnZS50ZXh0KTtcbiAgICBodG1sID0gaHRtbC5yZXBsYWNlKCcke3RpdGxlfScsIG1lc3NhZ2UudGl0bGUpO1xuXG4gICAgbWVzc2FnZS5odG1sID0gdW5kZWZpbmVkO1xuICAgIG1lc3NhZ2UudGV4dCA9IGh0bWw7XG4gICAgbWVzc2FnZS50aXRsZSA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
- export * from './network.service';
2
- export * from './network.interfaces';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbmV0d29yay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25ldHdvcmsuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbmV0d29yay5pbnRlcmZhY2VzJztcclxuIl19
1
+ export * from './network.service';
2
+ export * from './network.interfaces';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbmV0d29yay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25ldHdvcmsuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25ldHdvcmsuaW50ZXJmYWNlcyc7XG4iXX0=
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL25ldHdvcmsvbmV0d29yay5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvbm5lY3Rpb25TdGF0ZSB7XHJcbiAgICBjb25uZWN0aW9uOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL25ldHdvcmsvbmV0d29yay5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvbm5lY3Rpb25TdGF0ZSB7XG4gIGNvbm5lY3Rpb246IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { Injectable, EventEmitter, Injector } from '@angular/core';
2
+ import { fromEvent } from 'rxjs';
3
+ import { debounceTime, startWith } from 'rxjs/operators';
4
+ import { MessageService } from '../message/shared/message.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../message/shared/message.service";
7
+ export class NetworkService {
8
+ messageService;
9
+ injector;
10
+ stateChangeEventEmitter = new EventEmitter();
11
+ onlineSubscription;
12
+ offlineSubscription;
13
+ previousMessageId;
14
+ state = {
15
+ connection: window.navigator.onLine
16
+ };
17
+ constructor(messageService, injector) {
18
+ this.messageService = messageService;
19
+ this.injector = injector;
20
+ this.checkNetworkState();
21
+ }
22
+ checkNetworkState() {
23
+ this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {
24
+ if (this.previousMessageId) {
25
+ this.messageService.remove(this.previousMessageId);
26
+ }
27
+ const messageObj = this.messageService.info('igo.core.network.online.message', 'igo.core.network.online.title');
28
+ this.previousMessageId = messageObj.toastId;
29
+ this.state.connection = true;
30
+ this.emitEvent();
31
+ });
32
+ this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {
33
+ if (this.previousMessageId) {
34
+ this.messageService.remove(this.previousMessageId);
35
+ }
36
+ const messageObj = this.messageService.info('igo.core.network.offline.message', 'igo.core.network.offline.title');
37
+ this.previousMessageId = messageObj.toastId;
38
+ this.state.connection = false;
39
+ this.emitEvent();
40
+ });
41
+ }
42
+ emitEvent() {
43
+ this.stateChangeEventEmitter.emit(this.state);
44
+ }
45
+ ngOnDestroy() {
46
+ try {
47
+ this.offlineSubscription.unsubscribe();
48
+ this.onlineSubscription.unsubscribe();
49
+ }
50
+ catch (e) { }
51
+ }
52
+ currentState(reportState = true) {
53
+ return reportState
54
+ ? this.stateChangeEventEmitter.pipe(debounceTime(300), startWith(this.state))
55
+ : this.stateChangeEventEmitter.pipe(debounceTime(300));
56
+ }
57
+ static ɵfac = function NetworkService_Factory(t) { return new (t || NetworkService)(i0.ɵɵinject(i1.MessageService), i0.ɵɵinject(i0.Injector)); };
58
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NetworkService, factory: NetworkService.ɵfac, providedIn: 'root' });
59
+ }
60
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NetworkService, [{
61
+ type: Injectable,
62
+ args: [{
63
+ providedIn: 'root'
64
+ }]
65
+ }], function () { return [{ type: i1.MessageService }, { type: i0.Injector }]; }, null); })();
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL25ldHdvcmsvbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQTRCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBTW5FLE1BQU0sT0FBTyxjQUFjO0lBV2Y7SUFDQTtJQVhGLHVCQUF1QixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBQzlELGtCQUFrQixDQUFlO0lBQ2pDLG1CQUFtQixDQUFlO0lBQ2xDLGlCQUFpQixDQUFDO0lBRWxCLEtBQUssR0FBb0I7UUFDL0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTTtLQUNwQyxDQUFDO0lBRUYsWUFDVSxjQUE4QixFQUM5QixRQUFrQjtRQURsQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUUxQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbkUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3BEO1lBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3pDLGlDQUFpQyxFQUNqQywrQkFBK0IsQ0FDaEMsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUNwRDtZQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN6QyxrQ0FBa0MsRUFDbEMsZ0NBQWdDLENBQ2pDLENBQUM7WUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUk7WUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3ZDO1FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtJQUNoQixDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJO1FBQzdCLE9BQU8sV0FBVztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FDL0IsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUN0QjtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7d0VBL0RVLGNBQWM7Z0VBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTs7dUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9tZXNzYWdlL3NoYXJlZC9tZXNzYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29ubmVjdGlvblN0YXRlIH0gZnJvbSAnLi9uZXR3b3JrLmludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOZXR3b3JrU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGVDaGFuZ2VFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPENvbm5lY3Rpb25TdGF0ZT4oKTtcbiAgcHJpdmF0ZSBvbmxpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBvZmZsaW5lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcHJldmlvdXNNZXNzYWdlSWQ7XG5cbiAgcHJpdmF0ZSBzdGF0ZTogQ29ubmVjdGlvblN0YXRlID0ge1xuICAgIGNvbm5lY3Rpb246IHdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5jaGVja05ldHdvcmtTdGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja05ldHdvcmtTdGF0ZSgpIHtcbiAgICB0aGlzLm9ubGluZVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudCh3aW5kb3csICdvbmxpbmUnKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMucHJldmlvdXNNZXNzYWdlSWQpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5yZW1vdmUodGhpcy5wcmV2aW91c01lc3NhZ2VJZCk7XG4gICAgICB9XG4gICAgICBjb25zdCBtZXNzYWdlT2JqID0gdGhpcy5tZXNzYWdlU2VydmljZS5pbmZvKFxuICAgICAgICAnaWdvLmNvcmUubmV0d29yay5vbmxpbmUubWVzc2FnZScsXG4gICAgICAgICdpZ28uY29yZS5uZXR3b3JrLm9ubGluZS50aXRsZSdcbiAgICAgICk7XG4gICAgICB0aGlzLnByZXZpb3VzTWVzc2FnZUlkID0gbWVzc2FnZU9iai50b2FzdElkO1xuICAgICAgdGhpcy5zdGF0ZS5jb25uZWN0aW9uID0gdHJ1ZTtcbiAgICAgIHRoaXMuZW1pdEV2ZW50KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm9mZmxpbmVTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQod2luZG93LCAnb2ZmbGluZScpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c01lc3NhZ2VJZCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnJlbW92ZSh0aGlzLnByZXZpb3VzTWVzc2FnZUlkKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1lc3NhZ2VPYmogPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8oXG4gICAgICAgICdpZ28uY29yZS5uZXR3b3JrLm9mZmxpbmUubWVzc2FnZScsXG4gICAgICAgICdpZ28uY29yZS5uZXR3b3JrLm9mZmxpbmUudGl0bGUnXG4gICAgICApO1xuICAgICAgdGhpcy5wcmV2aW91c01lc3NhZ2VJZCA9IG1lc3NhZ2VPYmoudG9hc3RJZDtcbiAgICAgIHRoaXMuc3RhdGUuY29ubmVjdGlvbiA9IGZhbHNlO1xuICAgICAgdGhpcy5lbWl0RXZlbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEV2ZW50KCkge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VFdmVudEVtaXR0ZXIuZW1pdCh0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLm9mZmxpbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMub25saW5lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgfVxuXG4gIGN1cnJlbnRTdGF0ZShyZXBvcnRTdGF0ZSA9IHRydWUpOiBPYnNlcnZhYmxlPENvbm5lY3Rpb25TdGF0ZT4ge1xuICAgIHJldHVybiByZXBvcnRTdGF0ZVxuICAgICAgPyB0aGlzLnN0YXRlQ2hhbmdlRXZlbnRFbWl0dGVyLnBpcGUoXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgICAgc3RhcnRXaXRoKHRoaXMuc3RhdGUpXG4gICAgICAgIClcbiAgICAgIDogdGhpcy5zdGF0ZUNoYW5nZUV2ZW50RW1pdHRlci5waXBlKGRlYm91bmNlVGltZSgzMDApKTtcbiAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
- export * from './regex.service';
2
- export * from './regex.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvcmVnZXgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZWdleC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZWdleC5pbnRlcmZhY2UnO1xyXG4iXX0=
1
+ export * from './regex.service';
2
+ export * from './regex.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvcmVnZXgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZWdleC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnZXguaW50ZXJmYWNlJztcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXguaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3JlZ2V4L3JlZ2V4LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSZWdleE9wdGlvbnMge1xyXG4gIFtrZXk6IHN0cmluZ106IGFueVxyXG59XHJcbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXguaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3JlZ2V4L3JlZ2V4LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSZWdleE9wdGlvbnMge1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG4iXX0=