@igo2/core 16.3.0 → 17.0.0-next.2

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 (300) hide show
  1. package/activity/index.d.ts +5 -0
  2. package/{lib/activity/index.d.ts → activity/public_api.d.ts} +1 -0
  3. package/{lib/analytics/shared → analytics}/analytics.interface.d.ts +1 -1
  4. package/{lib/analytics/shared → analytics}/analytics.service.d.ts +1 -1
  5. package/analytics/index.d.ts +5 -0
  6. package/{lib/config → config}/config.interface.d.ts +2 -3
  7. package/{lib/config → config}/config.provider.d.ts +1 -1
  8. package/{lib/config → config}/config.service.d.ts +1 -1
  9. package/config/index.d.ts +5 -0
  10. package/{lib/config/index.d.ts → config/public_api.d.ts} +2 -0
  11. package/environment/environment.interface.d.ts +16 -0
  12. package/environment/index.d.ts +5 -0
  13. package/esm2022/activity/activity.interceptor.mjs +32 -0
  14. package/esm2022/activity/activity.module.mjs +30 -0
  15. package/esm2022/activity/activity.service.mjs +32 -0
  16. package/esm2022/activity/igo2-core-activity.mjs +5 -0
  17. package/esm2022/activity/public_api.mjs +4 -0
  18. package/esm2022/analytics/analytics.interface.mjs +2 -0
  19. package/esm2022/analytics/analytics.service.mjs +87 -0
  20. package/esm2022/analytics/igo2-core-analytics.mjs +5 -0
  21. package/esm2022/analytics/public_api.mjs +3 -0
  22. package/esm2022/config/config-deprecated.mjs +27 -0
  23. package/esm2022/config/config.interface.mjs +2 -0
  24. package/esm2022/config/config.module.mjs +23 -0
  25. package/esm2022/config/config.provider.mjs +21 -0
  26. package/esm2022/config/config.service.mjs +97 -0
  27. package/esm2022/config/igo2-core-config.mjs +5 -0
  28. package/esm2022/config/public_api.mjs +6 -0
  29. package/esm2022/config/version.mjs +5 -0
  30. package/esm2022/environment/environment.interface.mjs +2 -0
  31. package/esm2022/environment/igo2-core-environment.mjs +5 -0
  32. package/esm2022/environment/public_api.mjs +2 -0
  33. package/esm2022/gesture/gesture.module.mjs +29 -0
  34. package/esm2022/gesture/gesture.provider.mjs +16 -0
  35. package/esm2022/gesture/igo2-core-gesture.mjs +5 -0
  36. package/esm2022/gesture/public_api.mjs +3 -0
  37. package/esm2022/language/igo2-core-language.mjs +5 -0
  38. package/esm2022/language/language.module.mjs +15 -0
  39. package/esm2022/language/public_api.mjs +3 -0
  40. package/esm2022/language/shared/index.mjs +7 -0
  41. package/esm2022/language/shared/language-mock.provider.mjs +5 -0
  42. package/esm2022/language/shared/language.interface.mjs +3 -0
  43. package/esm2022/language/shared/language.loader.mjs +38 -0
  44. package/esm2022/language/shared/language.provider.mjs +41 -0
  45. package/esm2022/language/shared/language.service.mjs +38 -0
  46. package/esm2022/language/shared/missing-translation.guard.mjs +16 -0
  47. package/esm2022/lib/core.module.mjs +19 -22
  48. package/esm2022/media/igo2-core-media.mjs +5 -0
  49. package/esm2022/media/media.enum.mjs +12 -0
  50. package/esm2022/media/media.service.mjs +82 -0
  51. package/esm2022/media/public_api.mjs +3 -0
  52. package/esm2022/message/igo2-core-message.mjs +5 -0
  53. package/esm2022/message/message.module.mjs +56 -0
  54. package/esm2022/message/public_api.mjs +3 -0
  55. package/esm2022/message/shared/index.mjs +4 -0
  56. package/esm2022/message/shared/message.enum.mjs +10 -0
  57. package/esm2022/message/shared/message.interface.mjs +2 -0
  58. package/esm2022/message/shared/message.service.mjs +225 -0
  59. package/esm2022/monitoring/__mocks__/index.mjs +2 -0
  60. package/esm2022/monitoring/__mocks__/monitoring-mock.mjs +7 -0
  61. package/esm2022/monitoring/igo2-core-monitoring.mjs +5 -0
  62. package/esm2022/monitoring/monitoring.provider.mjs +20 -0
  63. package/esm2022/monitoring/public_api.mjs +5 -0
  64. package/esm2022/monitoring/sentry/index.mjs +4 -0
  65. package/esm2022/monitoring/sentry/sentry.interface.mjs +2 -0
  66. package/esm2022/monitoring/sentry/sentry.mjs +29 -0
  67. package/esm2022/monitoring/sentry/sentry.provider.mjs +31 -0
  68. package/esm2022/monitoring/sentry/sentry.utils.mjs +14 -0
  69. package/esm2022/monitoring/shared/any-monitoring.interface.mjs +2 -0
  70. package/esm2022/monitoring/shared/index.mjs +3 -0
  71. package/esm2022/monitoring/shared/monitoring.interface.mjs +2 -0
  72. package/esm2022/network/igo2-core-network.mjs +5 -0
  73. package/esm2022/network/network.interfaces.mjs +2 -0
  74. package/esm2022/network/network.service.mjs +66 -0
  75. package/esm2022/network/public_api.mjs +3 -0
  76. package/esm2022/public_api.mjs +3 -27
  77. package/esm2022/regex/igo2-core-regex.mjs +5 -0
  78. package/esm2022/regex/public_api.mjs +3 -0
  79. package/esm2022/regex/regex.interface.mjs +2 -0
  80. package/esm2022/regex/regex.service.mjs +30 -0
  81. package/esm2022/request/error.interceptor.mjs +72 -0
  82. package/esm2022/request/error.module.mjs +39 -0
  83. package/esm2022/request/igo2-core-request.mjs +5 -0
  84. package/esm2022/request/logging.interceptor.mjs +29 -0
  85. package/esm2022/request/logging.module.mjs +30 -0
  86. package/esm2022/request/public_api.mjs +5 -0
  87. package/esm2022/route/igo2-core-route.mjs +5 -0
  88. package/esm2022/route/public_api.mjs +3 -0
  89. package/esm2022/route/route.interface.mjs +2 -0
  90. package/esm2022/route/route.service.mjs +75 -0
  91. package/esm2022/storage/igo2-core-storage.mjs +5 -0
  92. package/esm2022/storage/public_api.mjs +4 -0
  93. package/esm2022/storage/storage.interface.mjs +13 -0
  94. package/esm2022/storage/storage.mjs +76 -0
  95. package/esm2022/storage/storage.service.mjs +21 -0
  96. package/esm2022/user/igo2-core-user.mjs +5 -0
  97. package/esm2022/user/public_api.mjs +2 -0
  98. package/esm2022/user/user.interface.mjs +2 -0
  99. package/fesm2022/igo2-core-activity.mjs +94 -0
  100. package/fesm2022/igo2-core-activity.mjs.map +1 -0
  101. package/fesm2022/igo2-core-analytics.mjs +93 -0
  102. package/fesm2022/igo2-core-analytics.mjs.map +1 -0
  103. package/fesm2022/igo2-core-config.mjs +173 -0
  104. package/fesm2022/igo2-core-config.mjs.map +1 -0
  105. package/fesm2022/igo2-core-environment.mjs +4 -0
  106. package/fesm2022/igo2-core-environment.mjs.map +1 -0
  107. package/fesm2022/igo2-core-gesture.mjs +48 -0
  108. package/fesm2022/igo2-core-gesture.mjs.map +1 -0
  109. package/fesm2022/igo2-core-language.mjs +151 -0
  110. package/fesm2022/igo2-core-language.mjs.map +1 -0
  111. package/fesm2022/igo2-core-media.mjs +100 -0
  112. package/fesm2022/igo2-core-media.mjs.map +1 -0
  113. package/fesm2022/igo2-core-message.mjs +292 -0
  114. package/fesm2022/igo2-core-message.mjs.map +1 -0
  115. package/fesm2022/igo2-core-monitoring.mjs +101 -0
  116. package/fesm2022/igo2-core-monitoring.mjs.map +1 -0
  117. package/fesm2022/igo2-core-network.mjs +72 -0
  118. package/fesm2022/igo2-core-network.mjs.map +1 -0
  119. package/fesm2022/igo2-core-regex.mjs +36 -0
  120. package/fesm2022/igo2-core-regex.mjs.map +1 -0
  121. package/fesm2022/igo2-core-request.mjs +164 -0
  122. package/fesm2022/igo2-core-request.mjs.map +1 -0
  123. package/fesm2022/igo2-core-route.mjs +81 -0
  124. package/fesm2022/igo2-core-route.mjs.map +1 -0
  125. package/fesm2022/igo2-core-storage.mjs +114 -0
  126. package/fesm2022/igo2-core-storage.mjs.map +1 -0
  127. package/fesm2022/igo2-core-user.mjs +4 -0
  128. package/fesm2022/igo2-core-user.mjs.map +1 -0
  129. package/fesm2022/igo2-core.mjs +24 -1515
  130. package/fesm2022/igo2-core.mjs.map +1 -1
  131. package/gesture/index.d.ts +5 -0
  132. package/gesture/public_api.d.ts +2 -0
  133. package/language/index.d.ts +5 -0
  134. package/{lib/language → language}/language.module.d.ts +1 -3
  135. package/language/public_api.d.ts +2 -0
  136. package/{lib/language → language}/shared/index.d.ts +2 -0
  137. package/language/shared/language-mock.provider.d.ts +2 -0
  138. package/language/shared/language.interface.d.ts +9 -0
  139. package/language/shared/language.loader.d.ts +13 -0
  140. package/language/shared/language.provider.d.ts +8 -0
  141. package/lib/core.module.d.ts +7 -7
  142. package/locale/en.json +1 -1
  143. package/locale/fr.json +1 -1
  144. package/media/index.d.ts +5 -0
  145. package/message/index.d.ts +5 -0
  146. package/{lib/message → message}/message.module.d.ts +2 -3
  147. package/message/public_api.d.ts +2 -0
  148. package/{lib/message → message}/shared/message.enum.d.ts +1 -1
  149. package/{lib/message → message}/shared/message.service.d.ts +2 -2
  150. package/monitoring/__mocks__/index.d.ts +1 -0
  151. package/monitoring/__mocks__/monitoring-mock.d.ts +4 -0
  152. package/monitoring/index.d.ts +5 -0
  153. package/{lib/monitoring/index.d.ts → monitoring/public_api.d.ts} +1 -0
  154. package/{lib/monitoring → monitoring}/sentry/sentry.utils.d.ts +1 -1
  155. package/monitoring/shared/any-monitoring.interface.d.ts +2 -0
  156. package/network/index.d.ts +5 -0
  157. package/{lib/network → network}/network.service.d.ts +1 -1
  158. package/package.json +99 -9
  159. package/public_api.d.ts +1 -26
  160. package/regex/index.d.ts +5 -0
  161. package/{lib/regex → regex}/regex.service.d.ts +1 -1
  162. package/{lib/request → request}/error.interceptor.d.ts +1 -1
  163. package/request/index.d.ts +5 -0
  164. package/{lib/request/index.d.ts → request/public_api.d.ts} +2 -0
  165. package/route/index.d.ts +5 -0
  166. package/route/public_api.d.ts +2 -0
  167. package/src/core-theme.scss +1 -1
  168. package/src/packages.import.scss +1 -0
  169. package/src/style/partial/media.scss +80 -80
  170. package/src/theming/all-theme.scss +1 -0
  171. package/storage/index.d.ts +5 -0
  172. package/{lib/storage → storage}/storage.d.ts +1 -1
  173. package/{lib/storage → storage}/storage.service.d.ts +1 -1
  174. package/theming/prebuilt-themes/blue-theme.css +857 -994
  175. package/theming/prebuilt-themes/bluedark-theme.css +857 -994
  176. package/theming/prebuilt-themes/bluedq-theme.css +857 -994
  177. package/theming/prebuilt-themes/bluegrey-theme.css +857 -994
  178. package/theming/prebuilt-themes/dark-theme.css +857 -1001
  179. package/theming/prebuilt-themes/deeppurple-theme.css +857 -994
  180. package/theming/prebuilt-themes/indigo-theme.css +857 -994
  181. package/theming/prebuilt-themes/orange-theme.css +857 -994
  182. package/theming/prebuilt-themes/teal-theme.css +857 -994
  183. package/user/index.d.ts +5 -0
  184. package/esm2022/lib/activity/activity.interceptor.mjs +0 -32
  185. package/esm2022/lib/activity/activity.module.mjs +0 -30
  186. package/esm2022/lib/activity/activity.service.mjs +0 -32
  187. package/esm2022/lib/activity/index.mjs +0 -3
  188. package/esm2022/lib/analytics/index.mjs +0 -2
  189. package/esm2022/lib/analytics/shared/analytics.interface.mjs +0 -2
  190. package/esm2022/lib/analytics/shared/analytics.service.mjs +0 -87
  191. package/esm2022/lib/analytics/shared/index.mjs +0 -3
  192. package/esm2022/lib/compression/compressedData.interface.mjs +0 -2
  193. package/esm2022/lib/compression/compression.service.mjs +0 -142
  194. package/esm2022/lib/compression/index.mjs +0 -3
  195. package/esm2022/lib/config/config-deprecated.mjs +0 -27
  196. package/esm2022/lib/config/config.interface.mjs +0 -2
  197. package/esm2022/lib/config/config.module.mjs +0 -23
  198. package/esm2022/lib/config/config.provider.mjs +0 -21
  199. package/esm2022/lib/config/config.service.mjs +0 -97
  200. package/esm2022/lib/config/index.mjs +0 -4
  201. package/esm2022/lib/config/version.mjs +0 -5
  202. package/esm2022/lib/environment/environment.interface.mjs +0 -2
  203. package/esm2022/lib/environment/index.mjs +0 -2
  204. package/esm2022/lib/gesture/gesture.module.mjs +0 -29
  205. package/esm2022/lib/gesture/gesture.provider.mjs +0 -16
  206. package/esm2022/lib/language/index.mjs +0 -2
  207. package/esm2022/lib/language/language.module.mjs +0 -38
  208. package/esm2022/lib/language/shared/index.mjs +0 -5
  209. package/esm2022/lib/language/shared/language.interface.mjs +0 -2
  210. package/esm2022/lib/language/shared/language.loader.mjs +0 -31
  211. package/esm2022/lib/language/shared/language.provider.mjs +0 -22
  212. package/esm2022/lib/language/shared/language.service.mjs +0 -38
  213. package/esm2022/lib/language/shared/missing-translation.guard.mjs +0 -16
  214. package/esm2022/lib/media/index.mjs +0 -3
  215. package/esm2022/lib/media/media.enum.mjs +0 -12
  216. package/esm2022/lib/media/media.service.mjs +0 -82
  217. package/esm2022/lib/message/index.mjs +0 -2
  218. package/esm2022/lib/message/message.module.mjs +0 -59
  219. package/esm2022/lib/message/shared/index.mjs +0 -4
  220. package/esm2022/lib/message/shared/message.enum.mjs +0 -10
  221. package/esm2022/lib/message/shared/message.interface.mjs +0 -2
  222. package/esm2022/lib/message/shared/message.service.mjs +0 -224
  223. package/esm2022/lib/monitoring/index.mjs +0 -4
  224. package/esm2022/lib/monitoring/monitoring.provider.mjs +0 -20
  225. package/esm2022/lib/monitoring/sentry/index.mjs +0 -4
  226. package/esm2022/lib/monitoring/sentry/sentry.interface.mjs +0 -2
  227. package/esm2022/lib/monitoring/sentry/sentry.mjs +0 -29
  228. package/esm2022/lib/monitoring/sentry/sentry.provider.mjs +0 -31
  229. package/esm2022/lib/monitoring/sentry/sentry.utils.mjs +0 -12
  230. package/esm2022/lib/monitoring/shared/any-monitoring.interface.mjs +0 -2
  231. package/esm2022/lib/monitoring/shared/index.mjs +0 -3
  232. package/esm2022/lib/monitoring/shared/monitoring.interface.mjs +0 -2
  233. package/esm2022/lib/network/index.mjs +0 -3
  234. package/esm2022/lib/network/network.interfaces.mjs +0 -2
  235. package/esm2022/lib/network/network.service.mjs +0 -66
  236. package/esm2022/lib/regex/index.mjs +0 -3
  237. package/esm2022/lib/regex/regex.interface.mjs +0 -2
  238. package/esm2022/lib/regex/regex.service.mjs +0 -30
  239. package/esm2022/lib/request/error.interceptor.mjs +0 -72
  240. package/esm2022/lib/request/error.module.mjs +0 -39
  241. package/esm2022/lib/request/index.mjs +0 -3
  242. package/esm2022/lib/request/logging.interceptor.mjs +0 -29
  243. package/esm2022/lib/request/logging.module.mjs +0 -30
  244. package/esm2022/lib/route/route.interface.mjs +0 -2
  245. package/esm2022/lib/route/route.service.mjs +0 -75
  246. package/esm2022/lib/storage/index.mjs +0 -4
  247. package/esm2022/lib/storage/storage.interface.mjs +0 -13
  248. package/esm2022/lib/storage/storage.mjs +0 -76
  249. package/esm2022/lib/storage/storage.service.mjs +0 -21
  250. package/esm2022/lib/user/index.mjs +0 -2
  251. package/esm2022/lib/user/user.interface.mjs +0 -2
  252. package/lib/analytics/index.d.ts +0 -1
  253. package/lib/compression/compressedData.interface.d.ts +0 -5
  254. package/lib/compression/compression.service.d.ts +0 -15
  255. package/lib/compression/index.d.ts +0 -2
  256. package/lib/environment/environment.interface.d.ts +0 -18
  257. package/lib/language/index.d.ts +0 -1
  258. package/lib/language/shared/language.interface.d.ts +0 -3
  259. package/lib/language/shared/language.loader.d.ts +0 -11
  260. package/lib/language/shared/language.provider.d.ts +0 -15
  261. package/lib/message/index.d.ts +0 -1
  262. package/lib/monitoring/shared/any-monitoring.interface.d.ts +0 -2
  263. package/{lib/activity → activity}/activity.interceptor.d.ts +0 -0
  264. package/{lib/activity → activity}/activity.module.d.ts +0 -0
  265. package/{lib/activity → activity}/activity.service.d.ts +0 -0
  266. package/{lib/analytics/shared/index.d.ts → analytics/public_api.d.ts} +1 -1
  267. /package/{lib/config → config}/config-deprecated.d.ts +0 -0
  268. /package/{lib/config → config}/config.module.d.ts +0 -0
  269. /package/{lib/config → config}/version.d.ts +0 -0
  270. /package/{lib/environment/index.d.ts → environment/public_api.d.ts} +0 -0
  271. /package/{lib/gesture → gesture}/gesture.module.d.ts +0 -0
  272. /package/{lib/gesture → gesture}/gesture.provider.d.ts +0 -0
  273. /package/{lib/language → language}/shared/language.service.d.ts +0 -0
  274. /package/{lib/language → language}/shared/missing-translation.guard.d.ts +0 -0
  275. /package/{lib/media → media}/media.enum.d.ts +0 -0
  276. /package/{lib/media → media}/media.service.d.ts +0 -0
  277. /package/{lib/media/index.d.ts → media/public_api.d.ts} +0 -0
  278. /package/{lib/message → message}/shared/index.d.ts +0 -0
  279. /package/{lib/message → message}/shared/message.interface.d.ts +0 -0
  280. /package/{src/lib/message → message/src}/message.theming.scss +0 -0
  281. /package/{lib/monitoring → monitoring}/monitoring.provider.d.ts +0 -0
  282. /package/{lib/monitoring → monitoring}/sentry/index.d.ts +0 -0
  283. /package/{lib/monitoring → monitoring}/sentry/sentry.d.ts +0 -0
  284. /package/{lib/monitoring → monitoring}/sentry/sentry.interface.d.ts +0 -0
  285. /package/{lib/monitoring → monitoring}/sentry/sentry.provider.d.ts +0 -0
  286. /package/{lib/monitoring → monitoring}/shared/index.d.ts +0 -0
  287. /package/{lib/monitoring → monitoring}/shared/monitoring.interface.d.ts +0 -0
  288. /package/{lib/network → network}/network.interfaces.d.ts +0 -0
  289. /package/{lib/network/index.d.ts → network/public_api.d.ts} +0 -0
  290. /package/{lib/regex/index.d.ts → regex/public_api.d.ts} +0 -0
  291. /package/{lib/regex → regex}/regex.interface.d.ts +0 -0
  292. /package/{lib/request → request}/error.module.d.ts +0 -0
  293. /package/{lib/request → request}/logging.interceptor.d.ts +0 -0
  294. /package/{lib/request → request}/logging.module.d.ts +0 -0
  295. /package/{lib/route → route}/route.interface.d.ts +0 -0
  296. /package/{lib/route → route}/route.service.d.ts +0 -0
  297. /package/{lib/storage/index.d.ts → storage/public_api.d.ts} +0 -0
  298. /package/{lib/storage → storage}/storage.interface.d.ts +0 -0
  299. /package/{lib/user/index.d.ts → user/public_api.d.ts} +0 -0
  300. /package/{lib/user → user}/user.interface.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL21lc3NhZ2Uvc3JjL3NoYXJlZC9tZXNzYWdlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEluZGl2aWR1YWxDb25maWcgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuXHJcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi9tZXNzYWdlLmVudW0nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIGh0bWw/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHR5cGU/OiBNZXNzYWdlVHlwZTtcclxuICBvcHRpb25zPzogTWVzc2FnZU9wdGlvbnM7XHJcbiAgZm9ybWF0PzogJ3RleHQnIHwgJ2h0bWwnO1xyXG4gIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdDtcclxuICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0O1xyXG4gIHNob3dJY29uPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlT3B0aW9ucyBleHRlbmRzIEluZGl2aWR1YWxDb25maWcge1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGZyb20/OiBEYXRlIHwgc3RyaW5nO1xyXG4gIHRvPzogRGF0ZSB8IHN0cmluZztcclxuICBpZD86IG51bWJlcjtcclxuICBzaG93T25FYWNoTGF5ZXJWaXNpYmlsaXR5PzogYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -0,0 +1,225 @@
1
+ import { Inject, Injectable, Injector } from '@angular/core';
2
+ import { ConfigService } from '@igo2/core/config';
3
+ import { LanguageService } from '@igo2/core/language';
4
+ import { ToastrService } from 'ngx-toastr';
5
+ import { BehaviorSubject, forkJoin } from 'rxjs';
6
+ import { debounceTime, first } from 'rxjs/operators';
7
+ import { MessageType } from './message.enum';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@igo2/core/config";
10
+ import * as i2 from "@igo2/core/language";
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] =
94
+ `toast-${messageType} toast-no-icon`;
95
+ }
96
+ message = this.handleTemplate(message);
97
+ if (message.text) {
98
+ let messageShown;
99
+ switch (message.type) {
100
+ case MessageType.SUCCESS:
101
+ messageShown = this.success(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
102
+ break;
103
+ case MessageType.ERROR:
104
+ messageShown = this.error(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
105
+ break;
106
+ case MessageType.INFO:
107
+ messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
108
+ break;
109
+ case MessageType.SHOW:
110
+ messageShown = this.show(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
111
+ break;
112
+ case MessageType.ALERT:
113
+ case MessageType.WARNING:
114
+ messageShown = this.alert(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
115
+ break;
116
+ default:
117
+ messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
118
+ break;
119
+ }
120
+ message.options.id = messageShown.toastId;
121
+ }
122
+ }
123
+ }
124
+ success(text, title = 'igo.core.message.success', options = {}, textInterpolateParams, titleInterpolateParams) {
125
+ return this.handleNgxToastr('success', text, title, options, textInterpolateParams, titleInterpolateParams);
126
+ }
127
+ error(text, title = 'igo.core.message.error', options = {}, textInterpolateParams, titleInterpolateParams) {
128
+ return this.handleNgxToastr('error', text, title, options, textInterpolateParams, titleInterpolateParams);
129
+ }
130
+ info(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
131
+ return this.handleNgxToastr('info', text, title, options, textInterpolateParams, titleInterpolateParams);
132
+ }
133
+ alert(text, title = 'igo.core.message.alert', options = {}, textInterpolateParams, titleInterpolateParams) {
134
+ return this.handleNgxToastr('alert', text, title, options, textInterpolateParams, titleInterpolateParams);
135
+ }
136
+ show(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
137
+ return this.handleNgxToastr('show', text, title, options, textInterpolateParams, titleInterpolateParams);
138
+ }
139
+ handleNgxToastr(type, text, title, options = {}, textInterpolateParams, titleInterpolateParams) {
140
+ const translatedTextInterpolateParams = { ...textInterpolateParams };
141
+ const translatedTitlenterpolateParams = { ...titleInterpolateParams };
142
+ if (textInterpolateParams) {
143
+ Object.keys(textInterpolateParams).map((k) => {
144
+ const value = textInterpolateParams[k];
145
+ if (value) {
146
+ translatedTextInterpolateParams[k] =
147
+ typeof value === 'string'
148
+ ? this.languageService.translate.instant(value)
149
+ : value;
150
+ }
151
+ });
152
+ }
153
+ if (titleInterpolateParams) {
154
+ Object.keys(titleInterpolateParams).map((k) => {
155
+ if (k) {
156
+ const value = titleInterpolateParams[k];
157
+ translatedTitlenterpolateParams[k] =
158
+ typeof value === 'string'
159
+ ? this.languageService.translate.instant(value)
160
+ : value;
161
+ }
162
+ });
163
+ }
164
+ const message = this.languageService.translate.instant(text, translatedTextInterpolateParams);
165
+ const translatedTitle = this.languageService.translate.instant(title, translatedTitlenterpolateParams);
166
+ let activeToast;
167
+ switch (type) {
168
+ case 'success':
169
+ activeToast = this.toastr.success(message, translatedTitle, options);
170
+ break;
171
+ case 'error':
172
+ activeToast = this.toastr.error(message, translatedTitle, options);
173
+ break;
174
+ case 'show':
175
+ case 'info':
176
+ activeToast = this.toastr.info(message, translatedTitle, options);
177
+ break;
178
+ case 'alert':
179
+ activeToast = this.toastr.warning(message, translatedTitle, options);
180
+ break;
181
+ }
182
+ this.activeMessageTranslations.push({
183
+ id: activeToast.toastId,
184
+ titleKey: title,
185
+ textKey: text,
186
+ textInterpolateParams,
187
+ titleInterpolateParams
188
+ });
189
+ return activeToast;
190
+ }
191
+ remove(id) {
192
+ this.toastr.remove(id);
193
+ }
194
+ removeAllAreNotError() {
195
+ for (const mess of this.messages$.value) {
196
+ if (mess.type !== MessageType.ERROR) {
197
+ this.remove(mess.options.id);
198
+ }
199
+ }
200
+ }
201
+ handleTemplate(message) {
202
+ if (!this.options?.template || message.html) {
203
+ return message;
204
+ }
205
+ let html = this.options?.template;
206
+ html = html.replace('${text}', message.text);
207
+ html = html.replace('${title}', message.title);
208
+ message.html = undefined;
209
+ message.text = html;
210
+ message.title = undefined;
211
+ return message;
212
+ }
213
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MessageService, deps: [{ token: Injector }, { token: i1.ConfigService }, { token: i2.LanguageService }], target: i0.ɵɵFactoryTarget.Injectable });
214
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MessageService, providedIn: 'root' });
215
+ }
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MessageService, decorators: [{
217
+ type: Injectable,
218
+ args: [{
219
+ providedIn: 'root'
220
+ }]
221
+ }], ctorParameters: () => [{ type: i0.Injector, decorators: [{
222
+ type: Inject,
223
+ args: [Injector]
224
+ }] }, { type: i1.ConfigService }, { type: i2.LanguageService }] });
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9tZXNzYWdlL3NyYy9zaGFyZWQvbWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBaUMsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBYTdDLE1BQU0sT0FBTyxjQUFjO0lBTUc7SUFDbEI7SUFDQTtJQVBILFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBWSxFQUFFLENBQUMsQ0FBQztJQUM5QyxPQUFPLENBQWtCO0lBQ3pCLHlCQUF5QixHQUErQixFQUFFLENBQUM7SUFFbkUsWUFDNEIsUUFBa0IsRUFDcEMsYUFBNEIsRUFDNUIsZUFBZ0M7UUFGZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUV4QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFT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ZixRQUFROzJHQU5QLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xyXG5cclxuaW1wb3J0IHsgQWN0aXZlVG9hc3QsIEluZGl2aWR1YWxDb25maWcsIFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tICcuL21lc3NhZ2UuZW51bSc7XHJcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VPcHRpb25zIH0gZnJvbSAnLi9tZXNzYWdlLmludGVyZmFjZSc7XHJcblxyXG5pbnRlcmZhY2UgQWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIHRpdGxlS2V5OiBzdHJpbmc7XHJcbiAgdGV4dEtleTogc3RyaW5nO1xyXG4gIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdDtcclxuICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0O1xyXG59XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VTZXJ2aWNlIHtcclxuICBwdWJsaWMgbWVzc2FnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZXNzYWdlW10+KFtdKTtcclxuICBwcml2YXRlIG9wdGlvbnM/OiBNZXNzYWdlT3B0aW9ucztcclxuICBwcml2YXRlIGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbnM6IEFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChJbmplY3RvcikgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdtZXNzYWdlJyk7XHJcbiAgICB0aGlzLmxhbmd1YWdlU2VydmljZS5sYW5ndWFnZSQucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKChyKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnRvYXN0ci50b2FzdHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVNZXNzYWdlVHJhbnNsYXRpb25zID0gW107XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50b2FzdHIudG9hc3RzLm1hcCgodG9hc3QpID0+IHtcclxuICAgICAgICBjb25zdCBhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24gPSB0aGlzLmFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbnMuZmluZChcclxuICAgICAgICAgIChhbXQpID0+IGFtdC5pZCA9PT0gdG9hc3QudG9hc3RJZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbikge1xyXG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRlZFRleHRJbnRlcnBvbGF0ZVBhcmFtcyA9IHtcclxuICAgICAgICAgICAgLi4uYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRleHRJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRUaXRsZUludGVycG9sYXRlUGFyYW1zID0ge1xyXG4gICAgICAgICAgICAuLi5hY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICBpZiAoYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRleHRJbnRlcnBvbGF0ZVBhcmFtcykge1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGV4dEludGVycG9sYXRlUGFyYW1zKS5tYXAoXHJcbiAgICAgICAgICAgICAgKGspID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChrKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRUZXh0SW50ZXJwb2xhdGVQYXJhbXNba10gPVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRleHRJbnRlcnBvbGF0ZVBhcmFtc1trXVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUludGVycG9sYXRlUGFyYW1zKSB7XHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUludGVycG9sYXRlUGFyYW1zKS5tYXAoXHJcbiAgICAgICAgICAgICAgKGspID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChrKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRUaXRsZUludGVycG9sYXRlUGFyYW1zW2tdID1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUludGVycG9sYXRlUGFyYW1zW2tdXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgZm9ya0pvaW4oW1xyXG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuZ2V0KFxyXG4gICAgICAgICAgICAgIGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50ZXh0S2V5LFxyXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZWRUZXh0SW50ZXJwb2xhdGVQYXJhbXNcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmdldChcclxuICAgICAgICAgICAgICBhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGl0bGVLZXksXHJcbiAgICAgICAgICAgICAgdHJhbnNsYXRlZFRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgXSlcclxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzOiBbc3RyaW5nLCBzdHJpbmddKSA9PiB7XHJcbiAgICAgICAgICAgICAgdG9hc3QudG9hc3RSZWYuY29tcG9uZW50SW5zdGFuY2UubWVzc2FnZSA9IHJlc1swXTtcclxuICAgICAgICAgICAgICB0b2FzdC50b2FzdFJlZi5jb21wb25lbnRJbnN0YW5jZS50aXRsZSA9IHJlc1sxXTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgdG9hc3RyKCk6IFRvYXN0clNlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KFRvYXN0clNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Vycm9yKGh0dHBFcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIGh0dHBFcnJvci5lcnJvci5jYXVnaHQgPSB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXMuZXJyb3IoaHR0cEVycm9yLmVycm9yLm1lc3NhZ2UsIGh0dHBFcnJvci5lcnJvci50aXRsZSk7XHJcbiAgfVxyXG5cclxuICBtZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcclxuICAgIGNvbnN0IG1lc3NhZ2VUeXBlID0gbWVzc2FnZS50eXBlO1xyXG4gICAgdGhpcy50b2FzdHIudG9hc3RyQ29uZmlnLmljb25DbGFzc2VzW21lc3NhZ2VUeXBlXSA9IGB0b2FzdC0ke21lc3NhZ2VUeXBlfWA7XHJcblxyXG4gICAgdGhpcy5tZXNzYWdlcyQubmV4dCh0aGlzLm1lc3NhZ2VzJC52YWx1ZS5jb25jYXQoW21lc3NhZ2VdKSk7XHJcblxyXG4gICAgbWVzc2FnZS5vcHRpb25zID0gbWVzc2FnZS5vcHRpb25zIHx8ICh7fSBhcyBNZXNzYWdlT3B0aW9ucyk7XHJcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgbWVzc2FnZS5vcHRpb25zLmZyb20gPSBtZXNzYWdlLm9wdGlvbnMuZnJvbVxyXG4gICAgICA/IG1lc3NhZ2Uub3B0aW9ucy5mcm9tXHJcbiAgICAgIDogbmV3IERhdGUoJzEgamFuIDE5MDAnKTtcclxuICAgIG1lc3NhZ2Uub3B0aW9ucy50byA9IG1lc3NhZ2Uub3B0aW9ucy50b1xyXG4gICAgICA/IG1lc3NhZ2Uub3B0aW9ucy50b1xyXG4gICAgICA6IG5ldyBEYXRlKCcxIGphbiAzMDAwJyk7XHJcbiAgICBpZiAodHlwZW9mIG1lc3NhZ2Uub3B0aW9ucy5mcm9tID09PSAnc3RyaW5nJykge1xyXG4gICAgICBtZXNzYWdlLm9wdGlvbnMuZnJvbSA9IG5ldyBEYXRlKFxyXG4gICAgICAgIERhdGUucGFyc2UobWVzc2FnZS5vcHRpb25zLmZyb20ucmVwbGFjZSgvLS9nLCAnICcpKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlLm9wdGlvbnMudG8gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIG1lc3NhZ2Uub3B0aW9ucy50byA9IG5ldyBEYXRlKFxyXG4gICAgICAgIERhdGUucGFyc2UobWVzc2FnZS5vcHRpb25zLnRvLnJlcGxhY2UoLy0vZywgJyAnKSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY3VycmVudERhdGUgPiBtZXNzYWdlLm9wdGlvbnMuZnJvbSAmJlxyXG4gICAgICBjdXJyZW50RGF0ZSA8IG1lc3NhZ2Uub3B0aW9ucy50b1xyXG4gICAgKSB7XHJcbiAgICAgIGlmIChtZXNzYWdlLnNob3dJY29uID09PSBmYWxzZSkge1xyXG4gICAgICAgIHRoaXMudG9hc3RyLnRvYXN0ckNvbmZpZy5pY29uQ2xhc3Nlc1ttZXNzYWdlVHlwZV0gPVxyXG4gICAgICAgICAgYHRvYXN0LSR7bWVzc2FnZVR5cGV9IHRvYXN0LW5vLWljb25gO1xyXG4gICAgICB9XHJcbiAgICAgIG1lc3NhZ2UgPSB0aGlzLmhhbmRsZVRlbXBsYXRlKG1lc3NhZ2UpO1xyXG5cclxuICAgICAgaWYgKG1lc3NhZ2UudGV4dCkge1xyXG4gICAgICAgIGxldCBtZXNzYWdlU2hvd246IEFjdGl2ZVRvYXN0PGFueT47XHJcbiAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGUuU1VDQ0VTUzpcclxuICAgICAgICAgICAgbWVzc2FnZVNob3duID0gdGhpcy5zdWNjZXNzKFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dCxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uub3B0aW9ucyxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLkVSUk9SOlxyXG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLmVycm9yKFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dCxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uub3B0aW9ucyxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLklORk86XHJcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuaW5mbyhcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHQsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZSxcclxuICAgICAgICAgICAgICBtZXNzYWdlLm9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZUludGVycG9sYXRlUGFyYW1zXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5TSE9XOlxyXG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLnNob3coXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0LFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGUsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5vcHRpb25zLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dEludGVycG9sYXRlUGFyYW1zLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGUuQUxFUlQ6XHJcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLldBUk5JTkc6XHJcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuYWxlcnQoXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0LFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGUsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5vcHRpb25zLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dEludGVycG9sYXRlUGFyYW1zLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuaW5mbyhcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHQsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZSxcclxuICAgICAgICAgICAgICBtZXNzYWdlLm9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZUludGVycG9sYXRlUGFyYW1zXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtZXNzYWdlLm9wdGlvbnMuaWQgPSBtZXNzYWdlU2hvd24udG9hc3RJZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3VjY2VzcyhcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHRpdGxlOiBzdHJpbmcgPSAnaWdvLmNvcmUubWVzc2FnZS5zdWNjZXNzJyxcclxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcclxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcclxuICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3RcclxuICApOiBBY3RpdmVUb2FzdDxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZU5neFRvYXN0cihcclxuICAgICAgJ3N1Y2Nlc3MnLFxyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgdGV4dEludGVycG9sYXRlUGFyYW1zLFxyXG4gICAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZXJyb3IoXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nID0gJ2lnby5jb3JlLm1lc3NhZ2UuZXJyb3InLFxyXG4gICAgb3B0aW9uczogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPiA9IHt9LFxyXG4gICAgdGV4dEludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0LFxyXG4gICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdFxyXG4gICk6IEFjdGl2ZVRvYXN0PGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlTmd4VG9hc3RyKFxyXG4gICAgICAnZXJyb3InLFxyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgdGV4dEludGVycG9sYXRlUGFyYW1zLFxyXG4gICAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaW5mbyhcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHRpdGxlOiBzdHJpbmcgPSAnaWdvLmNvcmUubWVzc2FnZS5pbmZvJyxcclxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcclxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcclxuICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3RcclxuICApOiBBY3RpdmVUb2FzdDxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZU5neFRvYXN0cihcclxuICAgICAgJ2luZm8nLFxyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgdGV4dEludGVycG9sYXRlUGFyYW1zLFxyXG4gICAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYWxlcnQoXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nID0gJ2lnby5jb3JlLm1lc3NhZ2UuYWxlcnQnLFxyXG4gICAgb3B0aW9uczogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPiA9IHt9LFxyXG4gICAgdGV4dEludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0LFxyXG4gICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdFxyXG4gICk6IEFjdGl2ZVRvYXN0PGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlTmd4VG9hc3RyKFxyXG4gICAgICAnYWxlcnQnLFxyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgdGV4dEludGVycG9sYXRlUGFyYW1zLFxyXG4gICAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2hvdyhcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHRpdGxlOiBzdHJpbmcgPSAnaWdvLmNvcmUubWVzc2FnZS5pbmZvJyxcclxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcclxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcclxuICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3RcclxuICApOiBBY3RpdmVUb2FzdDxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZU5neFRvYXN0cihcclxuICAgICAgJ3Nob3cnLFxyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgdGV4dEludGVycG9sYXRlUGFyYW1zLFxyXG4gICAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVOZ3hUb2FzdHIoXHJcbiAgICB0eXBlOiAnYWxlcnQnIHwgJ2luZm8nIHwgJ2Vycm9yJyB8ICdzdWNjZXNzJyB8ICdzaG93JyxcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge30sXHJcbiAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QsXHJcbiAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0XHJcbiAgKTogQWN0aXZlVG9hc3Q8YW55PiB7XHJcbiAgICBjb25zdCB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zID0geyAuLi50ZXh0SW50ZXJwb2xhdGVQYXJhbXMgfTtcclxuICAgIGNvbnN0IHRyYW5zbGF0ZWRUaXRsZW50ZXJwb2xhdGVQYXJhbXMgPSB7IC4uLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXMgfTtcclxuXHJcbiAgICBpZiAodGV4dEludGVycG9sYXRlUGFyYW1zKSB7XHJcbiAgICAgIE9iamVjdC5rZXlzKHRleHRJbnRlcnBvbGF0ZVBhcmFtcykubWFwKChrKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0ZXh0SW50ZXJwb2xhdGVQYXJhbXNba107XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zW2tdID1cclxuICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJ1xyXG4gICAgICAgICAgICAgID8gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQodmFsdWUpXHJcbiAgICAgICAgICAgICAgOiB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpIHtcclxuICAgICAgT2JqZWN0LmtleXModGl0bGVJbnRlcnBvbGF0ZVBhcmFtcykubWFwKChrKSA9PiB7XHJcbiAgICAgICAgaWYgKGspIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1trXTtcclxuICAgICAgICAgIHRyYW5zbGF0ZWRUaXRsZW50ZXJwb2xhdGVQYXJhbXNba10gPVxyXG4gICAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXHJcbiAgICAgICAgICAgICAgPyB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh2YWx1ZSlcclxuICAgICAgICAgICAgICA6IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zXHJcbiAgICApO1xyXG4gICAgY29uc3QgdHJhbnNsYXRlZFRpdGxlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICB0cmFuc2xhdGVkVGl0bGVudGVycG9sYXRlUGFyYW1zXHJcbiAgICApO1xyXG5cclxuICAgIGxldCBhY3RpdmVUb2FzdDtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdzdWNjZXNzJzpcclxuICAgICAgICBhY3RpdmVUb2FzdCA9IHRoaXMudG9hc3RyLnN1Y2Nlc3MobWVzc2FnZSwgdHJhbnNsYXRlZFRpdGxlLCBvcHRpb25zKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZXJyb3InOlxyXG4gICAgICAgIGFjdGl2ZVRvYXN0ID0gdGhpcy50b2FzdHIuZXJyb3IobWVzc2FnZSwgdHJhbnNsYXRlZFRpdGxlLCBvcHRpb25zKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnc2hvdyc6XHJcbiAgICAgIGNhc2UgJ2luZm8nOlxyXG4gICAgICAgIGFjdGl2ZVRvYXN0ID0gdGhpcy50b2FzdHIuaW5mbyhtZXNzYWdlLCB0cmFuc2xhdGVkVGl0bGUsIG9wdGlvbnMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdhbGVydCc6XHJcbiAgICAgICAgYWN0aXZlVG9hc3QgPSB0aGlzLnRvYXN0ci53YXJuaW5nKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbnMucHVzaCh7XHJcbiAgICAgIGlkOiBhY3RpdmVUb2FzdC50b2FzdElkLFxyXG4gICAgICB0aXRsZUtleTogdGl0bGUsXHJcbiAgICAgIHRleHRLZXk6IHRleHQsXHJcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcclxuICAgICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYWN0aXZlVG9hc3Q7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoaWQ/OiBudW1iZXIpIHtcclxuICAgIHRoaXMudG9hc3RyLnJlbW92ZShpZCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVBbGxBcmVOb3RFcnJvcigpIHtcclxuICAgIGZvciAoY29uc3QgbWVzcyBvZiB0aGlzLm1lc3NhZ2VzJC52YWx1ZSkge1xyXG4gICAgICBpZiAobWVzcy50eXBlICE9PSBNZXNzYWdlVHlwZS5FUlJPUikge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlKG1lc3Mub3B0aW9ucy5pZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlVGVtcGxhdGUobWVzc2FnZTogTWVzc2FnZSk6IE1lc3NhZ2Uge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnM/LnRlbXBsYXRlIHx8IG1lc3NhZ2UuaHRtbCkge1xyXG4gICAgICByZXR1cm4gbWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaHRtbCA9IHRoaXMub3B0aW9ucz8udGVtcGxhdGU7XHJcbiAgICBodG1sID0gaHRtbC5yZXBsYWNlKCcke3RleHR9JywgbWVzc2FnZS50ZXh0KTtcclxuICAgIGh0bWwgPSBodG1sLnJlcGxhY2UoJyR7dGl0bGV9JywgbWVzc2FnZS50aXRsZSk7XHJcblxyXG4gICAgbWVzc2FnZS5odG1sID0gdW5kZWZpbmVkO1xyXG4gICAgbWVzc2FnZS50ZXh0ID0gaHRtbDtcclxuICAgIG1lc3NhZ2UudGl0bGUgPSB1bmRlZmluZWQ7XHJcbiAgICByZXR1cm4gbWVzc2FnZTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './monitoring-mock';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL21vbml0b3Jpbmcvc3JjL19fbW9ja3NfXy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb25pdG9yaW5nLW1vY2snO1xyXG4iXX0=
@@ -0,0 +1,7 @@
1
+ export const MOCK_SENTRY_OPTIONS = {
2
+ provider: 'sentry',
3
+ dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0',
4
+ identifyUser: true
5
+ };
6
+ export const MOCK_MONITORING_OPTIONS = MOCK_SENTRY_OPTIONS;
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvcmluZy1tb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9tb25pdG9yaW5nL3NyYy9fX21vY2tzX18vbW9uaXRvcmluZy1tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUE0QjtJQUMxRCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsZ0RBQWdEO0lBQ3JELFlBQVksRUFBRSxJQUFJO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FDbEMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyB9IGZyb20gJy4uL3NlbnRyeSc7XHJcbmltcG9ydCB7IEFueU1vbml0b3JpbmdPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkJztcclxuXHJcbmV4cG9ydCBjb25zdCBNT0NLX1NFTlRSWV9PUFRJT05TOiBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyA9IHtcclxuICBwcm92aWRlcjogJ3NlbnRyeScsXHJcbiAgZHNuOiAnaHR0cHM6Ly9leGFtcGxlUHVibGljS2V5QG8wLmluZ2VzdC5zZW50cnkuaW8vMCcsXHJcbiAgaWRlbnRpZnlVc2VyOiB0cnVlXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgTU9DS19NT05JVE9SSU5HX09QVElPTlM6IEFueU1vbml0b3JpbmdPcHRpb25zID1cclxuICBNT0NLX1NFTlRSWV9PUFRJT05TO1xyXG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1jb3JlLW1vbml0b3JpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL21vbml0b3Jpbmcvc3JjL2lnbzItY29yZS1tb25pdG9yaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { provideSentryMonitoring } from './sentry/sentry.provider';
3
+ export const MONITORING_OPTIONS = new InjectionToken('monitoring.options');
4
+ export function provideMonitoring(options) {
5
+ if (!options) {
6
+ return [];
7
+ }
8
+ const providers = [
9
+ { provide: MONITORING_OPTIONS, useValue: options }
10
+ ];
11
+ switch (options.provider) {
12
+ case 'sentry':
13
+ providers.push(...provideSentryMonitoring(options));
14
+ break;
15
+ default:
16
+ break;
17
+ }
18
+ return providers;
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvcmluZy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbW9uaXRvcmluZy9zcmMvbW9uaXRvcmluZy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR25FLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNsRCxvQkFBb0IsQ0FDckIsQ0FBQztBQUVGLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsT0FBb0M7SUFFcEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQWU7UUFDNUIsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtLQUNuRCxDQUFDO0lBRUYsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsS0FBSyxRQUFRO1lBQ1gsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDcEQsTUFBTTtRQUNSO1lBQ0UsTUFBTTtJQUNWLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBwcm92aWRlU2VudHJ5TW9uaXRvcmluZyB9IGZyb20gJy4vc2VudHJ5L3NlbnRyeS5wcm92aWRlcic7XHJcbmltcG9ydCB7IEFueU1vbml0b3JpbmdPcHRpb25zLCBNb25pdG9yaW5nT3B0aW9ucyB9IGZyb20gJy4vc2hhcmVkJztcclxuXHJcbmV4cG9ydCBjb25zdCBNT05JVE9SSU5HX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48TW9uaXRvcmluZ09wdGlvbnMgfCBudWxsPihcclxuICAnbW9uaXRvcmluZy5vcHRpb25zJ1xyXG4pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVNb25pdG9yaW5nKFxyXG4gIG9wdGlvbnM6IEFueU1vbml0b3JpbmdPcHRpb25zIHwgbnVsbFxyXG4pOiBQcm92aWRlcltdIHtcclxuICBpZiAoIW9wdGlvbnMpIHtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIGNvbnN0IHByb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtcclxuICAgIHsgcHJvdmlkZTogTU9OSVRPUklOR19PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9XHJcbiAgXTtcclxuXHJcbiAgc3dpdGNoIChvcHRpb25zLnByb3ZpZGVyKSB7XHJcbiAgICBjYXNlICdzZW50cnknOlxyXG4gICAgICBwcm92aWRlcnMucHVzaCguLi5wcm92aWRlU2VudHJ5TW9uaXRvcmluZyhvcHRpb25zKSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgYnJlYWs7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcHJvdmlkZXJzO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './sentry';
2
+ export * from './shared';
3
+ export * from './monitoring.provider';
4
+ export * from './__mocks__';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbW9uaXRvcmluZy9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZW50cnknO1xyXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9uaXRvcmluZy5wcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vX19tb2Nrc19fJztcclxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './sentry.interface';
2
+ export * from './sentry.provider';
3
+ export * from './sentry.utils';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL21vbml0b3Jpbmcvc3JjL3NlbnRyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VudHJ5LmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VudHJ5LnByb3ZpZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZW50cnkudXRpbHMnO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbW9uaXRvcmluZy9zcmMvc2VudHJ5L3NlbnRyeS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyb3dzZXJPcHRpb25zLCBFcnJvckhhbmRsZXJPcHRpb25zIH0gZnJvbSAnQHNlbnRyeS9hbmd1bGFyLWl2eSc7XHJcblxyXG5pbXBvcnQgeyBNb25pdG9yaW5nT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9tb25pdG9yaW5nLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgdHlwZSBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyA9IEJyb3dzZXJPcHRpb25zICZcclxuICBNb25pdG9yaW5nT3B0aW9ucyAmIHtcclxuICAgIHByb3ZpZGVyOiAnc2VudHJ5JztcclxuICAgIGVycm9ySGFuZGxlck9wdGlvbnM/OiBFcnJvckhhbmRsZXJPcHRpb25zO1xyXG4gICAgZW5hYmxlUmVwbGF5PzogYm9vbGVhbjtcclxuICB9O1xyXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { BrowserTracing, Replay, createErrorHandler, getCurrentHub, init, instrumentAngularRouting } from '@sentry/angular-ivy';
2
+ import { isTracingEnabled } from './sentry.utils';
3
+ export const createSentryErrorHandler = (options) => {
4
+ return createErrorHandler({
5
+ logErrors: options.logErrors,
6
+ ...(options.errorHandlerOptions ?? {})
7
+ });
8
+ };
9
+ export const initSentry = (options) => {
10
+ const client = getCurrentHub().getClient();
11
+ if (client) {
12
+ return;
13
+ }
14
+ const tracingEnabled = isTracingEnabled(options);
15
+ const baseConfig = {
16
+ dsn: options.dsn,
17
+ environment: options.environment,
18
+ release: options.release,
19
+ integrations: [
20
+ tracingEnabled &&
21
+ new BrowserTracing({
22
+ routingInstrumentation: instrumentAngularRouting
23
+ }),
24
+ options.enableReplay && new Replay()
25
+ ].filter(Boolean)
26
+ };
27
+ init(baseConfig);
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9tb25pdG9yaW5nL3NyYy9zZW50cnkvc2VudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxjQUFjLEVBQ2QsTUFBTSxFQUVOLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsSUFBSSxFQUNKLHdCQUF3QixFQUN6QixNQUFNLHFCQUFxQixDQUFDO0FBRzdCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQ3RDLE9BQWdDLEVBQ1osRUFBRTtJQUN0QixPQUFPLGtCQUFrQixDQUFDO1FBQ3hCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztRQUM1QixHQUFHLENBQUMsT0FBTyxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztLQUN2QyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFnQyxFQUFRLEVBQUU7SUFDbkUsTUFBTSxNQUFNLEdBQUcsYUFBYSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0MsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsTUFBTSxVQUFVLEdBQW1CO1FBQ2pDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztRQUNoQixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7UUFDaEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLFlBQVksRUFBRTtZQUNaLGNBQWM7Z0JBQ1osSUFBSSxjQUFjLENBQUM7b0JBQ2pCLHNCQUFzQixFQUFFLHdCQUF3QjtpQkFDakQsQ0FBQztZQUNKLE9BQU8sQ0FBQyxZQUFZLElBQUksSUFBSSxNQUFNLEVBQUU7U0FDckMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0tBQ2xCLENBQUM7SUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBCcm93c2VyT3B0aW9ucyxcclxuICBCcm93c2VyVHJhY2luZyxcclxuICBSZXBsYXksXHJcbiAgU2VudHJ5RXJyb3JIYW5kbGVyLFxyXG4gIGNyZWF0ZUVycm9ySGFuZGxlcixcclxuICBnZXRDdXJyZW50SHViLFxyXG4gIGluaXQsXHJcbiAgaW5zdHJ1bWVudEFuZ3VsYXJSb3V0aW5nXHJcbn0gZnJvbSAnQHNlbnRyeS9hbmd1bGFyLWl2eSc7XHJcblxyXG5pbXBvcnQgeyBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyB9IGZyb20gJy4vc2VudHJ5LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IGlzVHJhY2luZ0VuYWJsZWQgfSBmcm9tICcuL3NlbnRyeS51dGlscyc7XHJcblxyXG5leHBvcnQgY29uc3QgY3JlYXRlU2VudHJ5RXJyb3JIYW5kbGVyID0gKFxyXG4gIG9wdGlvbnM6IFNlbnRyeU1vbml0b3JpbmdPcHRpb25zXHJcbik6IFNlbnRyeUVycm9ySGFuZGxlciA9PiB7XHJcbiAgcmV0dXJuIGNyZWF0ZUVycm9ySGFuZGxlcih7XHJcbiAgICBsb2dFcnJvcnM6IG9wdGlvbnMubG9nRXJyb3JzLFxyXG4gICAgLi4uKG9wdGlvbnMuZXJyb3JIYW5kbGVyT3B0aW9ucyA/PyB7fSlcclxuICB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpbml0U2VudHJ5ID0gKG9wdGlvbnM6IFNlbnRyeU1vbml0b3JpbmdPcHRpb25zKTogdm9pZCA9PiB7XHJcbiAgY29uc3QgY2xpZW50ID0gZ2V0Q3VycmVudEh1YigpLmdldENsaWVudCgpO1xyXG4gIGlmIChjbGllbnQpIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGNvbnN0IHRyYWNpbmdFbmFibGVkID0gaXNUcmFjaW5nRW5hYmxlZChvcHRpb25zKTtcclxuICBjb25zdCBiYXNlQ29uZmlnOiBCcm93c2VyT3B0aW9ucyA9IHtcclxuICAgIGRzbjogb3B0aW9ucy5kc24sXHJcbiAgICBlbnZpcm9ubWVudDogb3B0aW9ucy5lbnZpcm9ubWVudCxcclxuICAgIHJlbGVhc2U6IG9wdGlvbnMucmVsZWFzZSxcclxuICAgIGludGVncmF0aW9uczogW1xyXG4gICAgICB0cmFjaW5nRW5hYmxlZCAmJlxyXG4gICAgICAgIG5ldyBCcm93c2VyVHJhY2luZyh7XHJcbiAgICAgICAgICByb3V0aW5nSW5zdHJ1bWVudGF0aW9uOiBpbnN0cnVtZW50QW5ndWxhclJvdXRpbmdcclxuICAgICAgICB9KSxcclxuICAgICAgb3B0aW9ucy5lbmFibGVSZXBsYXkgJiYgbmV3IFJlcGxheSgpXHJcbiAgICBdLmZpbHRlcihCb29sZWFuKVxyXG4gIH07XHJcblxyXG4gIGluaXQoYmFzZUNvbmZpZyk7XHJcbn07XHJcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { APP_INITIALIZER, ErrorHandler } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { TraceService } from '@sentry/angular-ivy';
4
+ import { createSentryErrorHandler, initSentry } from './sentry';
5
+ import { isTracingEnabled } from './sentry.utils';
6
+ export const provideSentryMonitoring = (options) => {
7
+ const isEnabled = options.enabled !== undefined ? options.enabled : true;
8
+ if (!isEnabled) {
9
+ return [];
10
+ }
11
+ initSentry(options);
12
+ const tracingEnabled = isTracingEnabled(options);
13
+ return [
14
+ {
15
+ provide: ErrorHandler,
16
+ useFactory: () => createSentryErrorHandler(options)
17
+ },
18
+ tracingEnabled && {
19
+ provide: TraceService,
20
+ deps: [Router]
21
+ },
22
+ // Force instantiate TraceService to avoid require it in any constructor.
23
+ tracingEnabled && {
24
+ provide: APP_INITIALIZER,
25
+ useFactory: () => () => { },
26
+ deps: [TraceService],
27
+ multi: true
28
+ }
29
+ ].filter(Boolean);
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9tb25pdG9yaW5nL3NyYy9zZW50cnkvc2VudHJ5LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBRWYsWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxPQUFnQyxFQUNXLEVBQUU7SUFDN0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFcEIsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFakQsT0FBTztRQUNMO1lBQ0UsT0FBTyxFQUFFLFlBQVk7WUFDckIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQztTQUNwRDtRQUNELGNBQWMsSUFBSTtZQUNoQixPQUFPLEVBQUUsWUFBWTtZQUNyQixJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDZjtRQUNELHlFQUF5RTtRQUN6RSxjQUFjLElBQUk7WUFDaEIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUM7WUFDMUIsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO1lBQ3BCLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFQUF9JTklUSUFMSVpFUixcclxuICBDb25zdHJ1Y3RvclByb3ZpZGVyLFxyXG4gIEVycm9ySGFuZGxlcixcclxuICBGYWN0b3J5UHJvdmlkZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IFRyYWNlU2VydmljZSB9IGZyb20gJ0BzZW50cnkvYW5ndWxhci1pdnknO1xyXG5cclxuaW1wb3J0IHsgY3JlYXRlU2VudHJ5RXJyb3JIYW5kbGVyLCBpbml0U2VudHJ5IH0gZnJvbSAnLi9zZW50cnknO1xyXG5pbXBvcnQgeyBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyB9IGZyb20gJy4vc2VudHJ5LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IGlzVHJhY2luZ0VuYWJsZWQgfSBmcm9tICcuL3NlbnRyeS51dGlscyc7XHJcblxyXG5leHBvcnQgY29uc3QgcHJvdmlkZVNlbnRyeU1vbml0b3JpbmcgPSAoXHJcbiAgb3B0aW9uczogU2VudHJ5TW9uaXRvcmluZ09wdGlvbnNcclxuKTogKEZhY3RvcnlQcm92aWRlciB8IENvbnN0cnVjdG9yUHJvdmlkZXIpW10gPT4ge1xyXG4gIGNvbnN0IGlzRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlZCAhPT0gdW5kZWZpbmVkID8gb3B0aW9ucy5lbmFibGVkIDogdHJ1ZTtcclxuICBpZiAoIWlzRW5hYmxlZCkge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuXHJcbiAgaW5pdFNlbnRyeShvcHRpb25zKTtcclxuXHJcbiAgY29uc3QgdHJhY2luZ0VuYWJsZWQgPSBpc1RyYWNpbmdFbmFibGVkKG9wdGlvbnMpO1xyXG5cclxuICByZXR1cm4gW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBFcnJvckhhbmRsZXIsXHJcbiAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IGNyZWF0ZVNlbnRyeUVycm9ySGFuZGxlcihvcHRpb25zKVxyXG4gICAgfSxcclxuICAgIHRyYWNpbmdFbmFibGVkICYmIHtcclxuICAgICAgcHJvdmlkZTogVHJhY2VTZXJ2aWNlLFxyXG4gICAgICBkZXBzOiBbUm91dGVyXVxyXG4gICAgfSxcclxuICAgIC8vIEZvcmNlIGluc3RhbnRpYXRlIFRyYWNlU2VydmljZSB0byBhdm9pZCByZXF1aXJlIGl0IGluIGFueSBjb25zdHJ1Y3Rvci5cclxuICAgIHRyYWNpbmdFbmFibGVkICYmIHtcclxuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoKSA9PiAoKSA9PiB7fSxcclxuICAgICAgZGVwczogW1RyYWNlU2VydmljZV0sXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXS5maWx0ZXIoQm9vbGVhbik7XHJcbn07XHJcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { setUser } from '@sentry/angular-ivy';
2
+ export const isTracingEnabled = (options) => options.enableTracing ||
3
+ !!options.tracesSampleRate ||
4
+ !!options.tracesSampler;
5
+ export const identifySentryUser = (user) => {
6
+ setUser(user
7
+ ? {
8
+ id: user.id,
9
+ username: `${user.firstName} ${user.lastName}`,
10
+ email: user.email
11
+ }
12
+ : null);
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9tb25pdG9yaW5nL3NyYy9zZW50cnkvc2VudHJ5LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUk5QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQWdDLEVBQVcsRUFBRSxDQUM1RSxPQUFPLENBQUMsYUFBYTtJQUNyQixDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtJQUMxQixDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztBQUUxQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQXFCLEVBQVEsRUFBRTtJQUNoRSxPQUFPLENBQ0wsSUFBSTtRQUNGLENBQUMsQ0FBQztZQUNFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM5QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDbEI7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUNULENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVXNlciB9IGZyb20gJ0BpZ28yL2NvcmUvdXNlcic7XHJcblxyXG5pbXBvcnQgeyBzZXRVc2VyIH0gZnJvbSAnQHNlbnRyeS9hbmd1bGFyLWl2eSc7XHJcblxyXG5pbXBvcnQgeyBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyB9IGZyb20gJy4vc2VudHJ5LmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgY29uc3QgaXNUcmFjaW5nRW5hYmxlZCA9IChvcHRpb25zOiBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyk6IGJvb2xlYW4gPT5cclxuICBvcHRpb25zLmVuYWJsZVRyYWNpbmcgfHxcclxuICAhIW9wdGlvbnMudHJhY2VzU2FtcGxlUmF0ZSB8fFxyXG4gICEhb3B0aW9ucy50cmFjZXNTYW1wbGVyO1xyXG5cclxuZXhwb3J0IGNvbnN0IGlkZW50aWZ5U2VudHJ5VXNlciA9ICh1c2VyOiBCYXNlVXNlciB8IG51bGwpOiB2b2lkID0+IHtcclxuICBzZXRVc2VyKFxyXG4gICAgdXNlclxyXG4gICAgICA/IHtcclxuICAgICAgICAgIGlkOiB1c2VyLmlkLFxyXG4gICAgICAgICAgdXNlcm5hbWU6IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YCxcclxuICAgICAgICAgIGVtYWlsOiB1c2VyLmVtYWlsXHJcbiAgICAgICAgfVxyXG4gICAgICA6IG51bGxcclxuICApO1xyXG59O1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW55LW1vbml0b3JpbmcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9tb25pdG9yaW5nL3NyYy9zaGFyZWQvYW55LW1vbml0b3JpbmcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyB9IGZyb20gJy4uL3NlbnRyeS9zZW50cnkuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIEFueU1vbml0b3JpbmdPcHRpb25zID0gU2VudHJ5TW9uaXRvcmluZ09wdGlvbnM7XHJcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './any-monitoring.interface';
2
+ export * from './monitoring.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL21vbml0b3Jpbmcvc3JjL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FueS1tb25pdG9yaW5nLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9uaXRvcmluZy5pbnRlcmZhY2UnO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvcmluZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL21vbml0b3Jpbmcvc3JjL3NoYXJlZC9tb25pdG9yaW5nLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTW9uaXRvcmluZ1Byb3ZpZGVyID0gJ3NlbnRyeSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1vbml0b3JpbmdPcHRpb25zIHtcclxuICBwcm92aWRlcjogTW9uaXRvcmluZ1Byb3ZpZGVyO1xyXG4gIC8qKiBBZGQgdGhlIHVzZXIgaW5mbyhpZCwgbmFtZSwgZW1haWwpIHRvIHRoZSBldmVudCByZXF1ZXN0ICovXHJcbiAgaWRlbnRpZnlVc2VyPzogYm9vbGVhbjtcclxuICBsb2dFcnJvcnM/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1jb3JlLW5ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL25ldHdvcmsvc3JjL2lnbzItY29yZS1uZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9uZXR3b3JrL3NyYy9uZXR3b3JrLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdGlvblN0YXRlIHtcclxuICBjb25uZWN0aW9uOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,66 @@
1
+ import { EventEmitter, Injectable, Injector } from '@angular/core';
2
+ import { MessageService } from '@igo2/core/message';
3
+ import { fromEvent } from 'rxjs';
4
+ import { debounceTime, startWith } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@igo2/core/message";
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 = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: NetworkService, deps: [{ token: i1.MessageService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
58
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: NetworkService, providedIn: 'root' });
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: NetworkService, decorators: [{
61
+ type: Injectable,
62
+ args: [{
63
+ providedIn: 'root'
64
+ }]
65
+ }], ctorParameters: () => [{ type: i1.MessageService }, { type: i0.Injector }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9uZXR3b3JrL3NyYy9uZXR3b3JrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQTRCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPekQsTUFBTSxPQUFPLGNBQWM7SUFXZjtJQUNBO0lBWEYsdUJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFDOUQsa0JBQWtCLENBQWU7SUFDakMsbUJBQW1CLENBQWU7SUFDbEMsaUJBQWlCLENBQUM7SUFFbEIsS0FBSyxHQUFvQjtRQUMvQixVQUFVLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNO0tBQ3BDLENBQUM7SUFFRixZQUNVLGNBQThCLEVBQzlCLFFBQWtCO1FBRGxCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRTFCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNuRSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNyRCxDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3pDLGlDQUFpQyxFQUNqQywrQkFBK0IsQ0FDaEMsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3JELENBQUM7WUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDekMsa0NBQWtDLEVBQ2xDLGdDQUFnQyxDQUNqQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQztJQUNoQixDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJO1FBQzdCLE9BQU8sV0FBVztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FDL0IsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUN0QjtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7dUdBL0RVLGNBQWM7MkdBQWQsY0FBYyxjQUZiLE1BQU07OzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IENvbm5lY3Rpb25TdGF0ZSB9IGZyb20gJy4vbmV0d29yay5pbnRlcmZhY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5ldHdvcmtTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRlQ2hhbmdlRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxDb25uZWN0aW9uU3RhdGU+KCk7XHJcbiAgcHJpdmF0ZSBvbmxpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIG9mZmxpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHByZXZpb3VzTWVzc2FnZUlkO1xyXG5cclxuICBwcml2YXRlIHN0YXRlOiBDb25uZWN0aW9uU3RhdGUgPSB7XHJcbiAgICBjb25uZWN0aW9uOiB3aW5kb3cubmF2aWdhdG9yLm9uTGluZVxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgdGhpcy5jaGVja05ldHdvcmtTdGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja05ldHdvcmtTdGF0ZSgpIHtcclxuICAgIHRoaXMub25saW5lU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ29ubGluZScpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzTWVzc2FnZUlkKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5yZW1vdmUodGhpcy5wcmV2aW91c01lc3NhZ2VJZCk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbWVzc2FnZU9iaiA9IHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhcclxuICAgICAgICAnaWdvLmNvcmUubmV0d29yay5vbmxpbmUubWVzc2FnZScsXHJcbiAgICAgICAgJ2lnby5jb3JlLm5ldHdvcmsub25saW5lLnRpdGxlJ1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnByZXZpb3VzTWVzc2FnZUlkID0gbWVzc2FnZU9iai50b2FzdElkO1xyXG4gICAgICB0aGlzLnN0YXRlLmNvbm5lY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLmVtaXRFdmVudCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vZmZsaW5lU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ29mZmxpbmUnKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5wcmV2aW91c01lc3NhZ2VJZCkge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UucmVtb3ZlKHRoaXMucHJldmlvdXNNZXNzYWdlSWQpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1lc3NhZ2VPYmogPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8oXHJcbiAgICAgICAgJ2lnby5jb3JlLm5ldHdvcmsub2ZmbGluZS5tZXNzYWdlJyxcclxuICAgICAgICAnaWdvLmNvcmUubmV0d29yay5vZmZsaW5lLnRpdGxlJ1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnByZXZpb3VzTWVzc2FnZUlkID0gbWVzc2FnZU9iai50b2FzdElkO1xyXG4gICAgICB0aGlzLnN0YXRlLmNvbm5lY3Rpb24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5lbWl0RXZlbnQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RXZlbnQoKSB7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlRXZlbnRFbWl0dGVyLmVtaXQodGhpcy5zdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMub2ZmbGluZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLm9ubGluZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfSBjYXRjaCAoZSkge31cclxuICB9XHJcblxyXG4gIGN1cnJlbnRTdGF0ZShyZXBvcnRTdGF0ZSA9IHRydWUpOiBPYnNlcnZhYmxlPENvbm5lY3Rpb25TdGF0ZT4ge1xyXG4gICAgcmV0dXJuIHJlcG9ydFN0YXRlXHJcbiAgICAgID8gdGhpcy5zdGF0ZUNoYW5nZUV2ZW50RW1pdHRlci5waXBlKFxyXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXHJcbiAgICAgICAgICBzdGFydFdpdGgodGhpcy5zdGF0ZSlcclxuICAgICAgICApXHJcbiAgICAgIDogdGhpcy5zdGF0ZUNoYW5nZUV2ZW50RW1pdHRlci5waXBlKGRlYm91bmNlVGltZSgzMDApKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './network.service';
2
+ export * from './network.interfaces';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbmV0d29yay9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25ldHdvcmsuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbmV0d29yay5pbnRlcmZhY2VzJztcclxuIl19
@@ -2,30 +2,6 @@
2
2
  * Public API Surface of core
3
3
  */
4
4
  export * from './lib/core.module';
5
- export * from './lib/activity/activity.module';
6
- export * from './lib/config/config.module';
7
- export * from './lib/gesture/gesture.module';
8
- export * from './lib/language/language.module';
9
- export * from './lib/message/message.module';
10
- export * from './lib/request/error.module';
11
- export * from './lib/request/logging.module';
12
- export * from './lib/config/config.provider';
13
- export * from './lib/gesture/gesture.provider';
14
- export * from './lib/language/shared/language.provider';
15
- export * from './lib/route/route.service';
16
- export * from './lib/route/route.interface';
17
- export * from './lib/activity';
18
- export * from './lib/analytics';
19
- export * from './lib/config';
20
- export * from './lib/environment';
21
- export * from './lib/language';
22
- export * from './lib/media';
23
- export * from './lib/message';
24
- export * from './lib/monitoring';
25
- export * from './lib/request';
26
- export * from './lib/storage';
27
- export * from './lib/compression';
28
- export * from './lib/network';
29
- export * from './lib/regex';
30
- export * from './lib/user';
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNvcmVcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGl2aXR5L2FjdGl2aXR5Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZy9jb25maWcubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2VzdHVyZS9nZXN0dXJlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xhbmd1YWdlL2xhbmd1YWdlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UvbWVzc2FnZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXF1ZXN0L2Vycm9yLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcXVlc3QvbG9nZ2luZy5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlnL2NvbmZpZy5wcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dlc3R1cmUvZ2VzdHVyZS5wcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xhbmd1YWdlL3NoYXJlZC9sYW5ndWFnZS5wcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JvdXRlL3JvdXRlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yb3V0ZS9yb3V0ZS5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aXZpdHknO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmFseXRpY3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnZpcm9ubWVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xhbmd1YWdlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVkaWEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9uaXRvcmluZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcXVlc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yYWdlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcHJlc3Npb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZXR3b3JrJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVnZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91c2VyJztcclxuIl19
5
+ /** @deprecated */
6
+ // export * from '@igo2/core/language';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGtCQUFrQjtBQUNsQix1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY29yZVxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUubW9kdWxlJztcclxuXHJcbi8qKiBAZGVwcmVjYXRlZCAqL1xyXG4vLyBleHBvcnQgKiBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcclxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1jb3JlLXJlZ2V4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9yZWdleC9zcmMvaWdvMi1jb3JlLXJlZ2V4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './regex.service';
2
+ export * from './regex.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvcmVnZXgvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZWdleC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZWdleC5pbnRlcmZhY2UnO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXguaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9yZWdleC9zcmMvcmVnZXguaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFJlZ2V4T3B0aW9ucyB7XHJcbiAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcbiJdfQ==