@igo2/core 16.3.0 → 17.0.0-next.10
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.
- package/activity/index.d.ts +5 -0
- package/{lib/activity/index.d.ts → activity/public_api.d.ts} +1 -0
- package/{lib/analytics/shared → analytics}/analytics.interface.d.ts +1 -1
- package/{lib/analytics/shared → analytics}/analytics.service.d.ts +1 -1
- package/analytics/index.d.ts +5 -0
- package/{lib/config → config}/config.interface.d.ts +2 -3
- package/{lib/config → config}/config.module.d.ts +3 -0
- package/config/config.provider.d.ts +6 -0
- package/{lib/config → config}/config.service.d.ts +1 -1
- package/config/index.d.ts +5 -0
- package/{lib/config/index.d.ts → config/public_api.d.ts} +2 -0
- package/environment/environment.interface.d.ts +16 -0
- package/environment/index.d.ts +5 -0
- package/esm2022/activity/activity.interceptor.mjs +32 -0
- package/esm2022/activity/activity.module.mjs +30 -0
- package/esm2022/activity/activity.service.mjs +32 -0
- package/esm2022/activity/igo2-core-activity.mjs +5 -0
- package/esm2022/activity/public_api.mjs +4 -0
- package/esm2022/analytics/analytics.interface.mjs +2 -0
- package/esm2022/analytics/analytics.service.mjs +87 -0
- package/esm2022/analytics/igo2-core-analytics.mjs +5 -0
- package/esm2022/analytics/public_api.mjs +3 -0
- package/esm2022/config/config-deprecated.mjs +27 -0
- package/esm2022/config/config.interface.mjs +2 -0
- package/esm2022/config/config.module.mjs +26 -0
- package/esm2022/config/config.provider.mjs +21 -0
- package/esm2022/config/config.service.mjs +98 -0
- package/esm2022/config/igo2-core-config.mjs +5 -0
- package/esm2022/config/public_api.mjs +6 -0
- package/esm2022/config/version.mjs +5 -0
- package/esm2022/environment/environment.interface.mjs +2 -0
- package/esm2022/environment/igo2-core-environment.mjs +5 -0
- package/esm2022/environment/public_api.mjs +2 -0
- package/esm2022/gesture/gesture.module.mjs +29 -0
- package/esm2022/gesture/gesture.provider.mjs +16 -0
- package/esm2022/gesture/igo2-core-gesture.mjs +5 -0
- package/esm2022/gesture/public_api.mjs +3 -0
- package/esm2022/language/igo2-core-language.mjs +5 -0
- package/esm2022/language/language.module.mjs +15 -0
- package/esm2022/language/public_api.mjs +3 -0
- package/esm2022/language/shared/index.mjs +7 -0
- package/esm2022/language/shared/language-mock.provider.mjs +13 -0
- package/esm2022/language/shared/language.interface.mjs +3 -0
- package/esm2022/language/shared/language.loader.mjs +38 -0
- package/esm2022/language/shared/language.provider.mjs +47 -0
- package/esm2022/language/shared/language.service.mjs +38 -0
- package/esm2022/language/shared/missing-translation.guard.mjs +16 -0
- package/esm2022/lib/core.module.mjs +21 -49
- package/esm2022/media/igo2-core-media.mjs +5 -0
- package/esm2022/media/media.enum.mjs +12 -0
- package/esm2022/media/media.service.mjs +82 -0
- package/esm2022/media/public_api.mjs +3 -0
- package/esm2022/message/igo2-core-message.mjs +5 -0
- package/esm2022/message/message.module.mjs +26 -0
- package/esm2022/message/public_api.mjs +3 -0
- package/esm2022/message/shared/index.mjs +5 -0
- package/esm2022/message/shared/message.enum.mjs +10 -0
- package/esm2022/message/shared/message.interface.mjs +2 -0
- package/esm2022/message/shared/message.provider.mjs +22 -0
- package/esm2022/message/shared/message.service.mjs +225 -0
- package/esm2022/monitoring/__mocks__/index.mjs +2 -0
- package/esm2022/monitoring/__mocks__/monitoring-mock.mjs +7 -0
- package/esm2022/monitoring/igo2-core-monitoring.mjs +5 -0
- package/esm2022/monitoring/monitoring.provider.mjs +20 -0
- package/esm2022/monitoring/public_api.mjs +5 -0
- package/esm2022/monitoring/sentry/index.mjs +4 -0
- package/esm2022/monitoring/sentry/sentry.interface.mjs +2 -0
- package/esm2022/monitoring/sentry/sentry.mjs +29 -0
- package/esm2022/monitoring/sentry/sentry.provider.mjs +31 -0
- package/esm2022/monitoring/sentry/sentry.utils.mjs +14 -0
- package/esm2022/monitoring/shared/any-monitoring.interface.mjs +2 -0
- package/esm2022/monitoring/shared/index.mjs +3 -0
- package/esm2022/monitoring/shared/monitoring.interface.mjs +2 -0
- package/esm2022/network/igo2-core-network.mjs +5 -0
- package/esm2022/network/network.interfaces.mjs +2 -0
- package/esm2022/network/network.service.mjs +66 -0
- package/esm2022/network/public_api.mjs +3 -0
- package/esm2022/public_api.mjs +3 -27
- package/esm2022/regex/igo2-core-regex.mjs +5 -0
- package/esm2022/regex/public_api.mjs +3 -0
- package/esm2022/regex/regex.interface.mjs +2 -0
- package/esm2022/regex/regex.service.mjs +30 -0
- package/esm2022/request/error.interceptor.mjs +72 -0
- package/esm2022/request/error.module.mjs +39 -0
- package/esm2022/request/igo2-core-request.mjs +5 -0
- package/esm2022/request/logging.interceptor.mjs +29 -0
- package/esm2022/request/logging.module.mjs +30 -0
- package/esm2022/request/public_api.mjs +5 -0
- package/esm2022/route/igo2-core-route.mjs +5 -0
- package/esm2022/route/public_api.mjs +3 -0
- package/esm2022/route/route.interface.mjs +2 -0
- package/esm2022/route/route.service.mjs +75 -0
- package/esm2022/storage/igo2-core-storage.mjs +5 -0
- package/esm2022/storage/public_api.mjs +4 -0
- package/esm2022/storage/storage.interface.mjs +13 -0
- package/esm2022/storage/storage.mjs +76 -0
- package/esm2022/storage/storage.service.mjs +21 -0
- package/esm2022/user/igo2-core-user.mjs +5 -0
- package/esm2022/user/public_api.mjs +2 -0
- package/esm2022/user/user.interface.mjs +2 -0
- package/fesm2022/igo2-core-activity.mjs +94 -0
- package/fesm2022/igo2-core-activity.mjs.map +1 -0
- package/fesm2022/igo2-core-analytics.mjs +93 -0
- package/fesm2022/igo2-core-analytics.mjs.map +1 -0
- package/fesm2022/igo2-core-config.mjs +177 -0
- package/fesm2022/igo2-core-config.mjs.map +1 -0
- package/fesm2022/igo2-core-environment.mjs +4 -0
- package/fesm2022/igo2-core-environment.mjs.map +1 -0
- package/fesm2022/igo2-core-gesture.mjs +48 -0
- package/fesm2022/igo2-core-gesture.mjs.map +1 -0
- package/fesm2022/igo2-core-language.mjs +164 -0
- package/fesm2022/igo2-core-language.mjs.map +1 -0
- package/fesm2022/igo2-core-media.mjs +100 -0
- package/fesm2022/igo2-core-media.mjs.map +1 -0
- package/fesm2022/igo2-core-message.mjs +282 -0
- package/fesm2022/igo2-core-message.mjs.map +1 -0
- package/fesm2022/igo2-core-monitoring.mjs +101 -0
- package/fesm2022/igo2-core-monitoring.mjs.map +1 -0
- package/fesm2022/igo2-core-network.mjs +72 -0
- package/fesm2022/igo2-core-network.mjs.map +1 -0
- package/fesm2022/igo2-core-regex.mjs +36 -0
- package/fesm2022/igo2-core-regex.mjs.map +1 -0
- package/fesm2022/igo2-core-request.mjs +164 -0
- package/fesm2022/igo2-core-request.mjs.map +1 -0
- package/fesm2022/igo2-core-route.mjs +81 -0
- package/fesm2022/igo2-core-route.mjs.map +1 -0
- package/fesm2022/igo2-core-storage.mjs +114 -0
- package/fesm2022/igo2-core-storage.mjs.map +1 -0
- package/fesm2022/igo2-core-user.mjs +4 -0
- package/fesm2022/igo2-core-user.mjs.map +1 -0
- package/fesm2022/igo2-core.mjs +25 -1539
- package/fesm2022/igo2-core.mjs.map +1 -1
- package/gesture/index.d.ts +5 -0
- package/gesture/public_api.d.ts +2 -0
- package/language/index.d.ts +5 -0
- package/{lib/language → language}/language.module.d.ts +1 -3
- package/language/public_api.d.ts +2 -0
- package/{lib/language → language}/shared/index.d.ts +2 -0
- package/language/shared/language-mock.provider.d.ts +2 -0
- package/language/shared/language.interface.d.ts +9 -0
- package/language/shared/language.loader.d.ts +13 -0
- package/language/shared/language.provider.d.ts +8 -0
- package/lib/core.module.d.ts +8 -11
- package/locale/en.core.json +28 -28
- package/locale/en.json +1 -1
- package/locale/fr.core.json +28 -28
- package/locale/fr.json +1 -1
- package/media/index.d.ts +5 -0
- package/message/index.d.ts +5 -0
- package/{lib/message → message}/message.module.d.ts +4 -3
- package/message/public_api.d.ts +2 -0
- package/{lib/message → message}/shared/index.d.ts +1 -0
- package/{lib/message → message}/shared/message.enum.d.ts +1 -1
- package/message/shared/message.provider.d.ts +2 -0
- package/{lib/message → message}/shared/message.service.d.ts +2 -2
- package/{src/lib/message → message/src}/message.theming.scss +26 -26
- package/monitoring/__mocks__/index.d.ts +1 -0
- package/monitoring/__mocks__/monitoring-mock.d.ts +4 -0
- package/monitoring/index.d.ts +5 -0
- package/{lib/monitoring/index.d.ts → monitoring/public_api.d.ts} +1 -0
- package/{lib/monitoring → monitoring}/sentry/sentry.utils.d.ts +1 -1
- package/monitoring/shared/any-monitoring.interface.d.ts +2 -0
- package/network/index.d.ts +5 -0
- package/{lib/network → network}/network.service.d.ts +1 -1
- package/package.json +101 -9
- package/public_api.d.ts +1 -26
- package/regex/index.d.ts +5 -0
- package/{lib/regex → regex}/regex.service.d.ts +1 -1
- package/{lib/request → request}/error.interceptor.d.ts +1 -1
- package/request/index.d.ts +5 -0
- package/{lib/request/index.d.ts → request/public_api.d.ts} +2 -0
- package/route/index.d.ts +5 -0
- package/route/public_api.d.ts +2 -0
- package/src/core-theme.scss +5 -5
- package/src/index.scss +6 -6
- package/src/packages.import.scss +5 -4
- package/src/style/all-style.scss +3 -3
- package/src/style/layout.scss +163 -163
- package/src/style/partial/core-utils.scss +5 -5
- package/src/style/partial/core.variables.scss +5 -5
- package/src/style/style.scss +19 -19
- package/src/theming/all-theme.scss +15 -14
- package/src/theming/material-theme-override.scss +39 -39
- package/src/theming/prebuilt-themes/blue-theme.scss +27 -27
- package/src/theming/prebuilt-themes/bluedark-theme.scss +60 -60
- package/src/theming/prebuilt-themes/bluedq-theme.scss +60 -60
- package/src/theming/prebuilt-themes/bluegrey-theme.scss +26 -26
- package/src/theming/prebuilt-themes/dark-theme.scss +26 -26
- package/src/theming/prebuilt-themes/deeppurple-theme.scss +26 -26
- package/src/theming/prebuilt-themes/indigo-theme.scss +26 -26
- package/src/theming/prebuilt-themes/orange-theme.scss +26 -26
- package/src/theming/prebuilt-themes/teal-theme.scss +26 -26
- package/src/theming/typography.scss +28 -28
- package/src/theming/utils/_foreground.scss +22 -22
- package/storage/index.d.ts +5 -0
- package/{lib/storage → storage}/storage.d.ts +1 -1
- package/{lib/storage → storage}/storage.service.d.ts +1 -1
- package/style/all-style.css +2 -1
- package/theming/prebuilt-themes/blue-theme.css +857 -994
- package/theming/prebuilt-themes/bluedark-theme.css +857 -994
- package/theming/prebuilt-themes/bluedq-theme.css +857 -994
- package/theming/prebuilt-themes/bluegrey-theme.css +857 -994
- package/theming/prebuilt-themes/dark-theme.css +857 -1001
- package/theming/prebuilt-themes/deeppurple-theme.css +857 -994
- package/theming/prebuilt-themes/indigo-theme.css +857 -994
- package/theming/prebuilt-themes/orange-theme.css +857 -994
- package/theming/prebuilt-themes/teal-theme.css +857 -994
- package/user/index.d.ts +5 -0
- package/esm2022/lib/activity/activity.interceptor.mjs +0 -32
- package/esm2022/lib/activity/activity.module.mjs +0 -30
- package/esm2022/lib/activity/activity.service.mjs +0 -32
- package/esm2022/lib/activity/index.mjs +0 -3
- package/esm2022/lib/analytics/index.mjs +0 -2
- package/esm2022/lib/analytics/shared/analytics.interface.mjs +0 -2
- package/esm2022/lib/analytics/shared/analytics.service.mjs +0 -87
- package/esm2022/lib/analytics/shared/index.mjs +0 -3
- package/esm2022/lib/compression/compressedData.interface.mjs +0 -2
- package/esm2022/lib/compression/compression.service.mjs +0 -142
- package/esm2022/lib/compression/index.mjs +0 -3
- package/esm2022/lib/config/config-deprecated.mjs +0 -27
- package/esm2022/lib/config/config.interface.mjs +0 -2
- package/esm2022/lib/config/config.module.mjs +0 -23
- package/esm2022/lib/config/config.provider.mjs +0 -21
- package/esm2022/lib/config/config.service.mjs +0 -97
- package/esm2022/lib/config/index.mjs +0 -4
- package/esm2022/lib/config/version.mjs +0 -5
- package/esm2022/lib/environment/environment.interface.mjs +0 -2
- package/esm2022/lib/environment/index.mjs +0 -2
- package/esm2022/lib/gesture/gesture.module.mjs +0 -29
- package/esm2022/lib/gesture/gesture.provider.mjs +0 -16
- package/esm2022/lib/language/index.mjs +0 -2
- package/esm2022/lib/language/language.module.mjs +0 -38
- package/esm2022/lib/language/shared/index.mjs +0 -5
- package/esm2022/lib/language/shared/language.interface.mjs +0 -2
- package/esm2022/lib/language/shared/language.loader.mjs +0 -31
- package/esm2022/lib/language/shared/language.provider.mjs +0 -22
- package/esm2022/lib/language/shared/language.service.mjs +0 -38
- package/esm2022/lib/language/shared/missing-translation.guard.mjs +0 -16
- package/esm2022/lib/media/index.mjs +0 -3
- package/esm2022/lib/media/media.enum.mjs +0 -12
- package/esm2022/lib/media/media.service.mjs +0 -82
- package/esm2022/lib/message/index.mjs +0 -2
- package/esm2022/lib/message/message.module.mjs +0 -59
- package/esm2022/lib/message/shared/index.mjs +0 -4
- package/esm2022/lib/message/shared/message.enum.mjs +0 -10
- package/esm2022/lib/message/shared/message.interface.mjs +0 -2
- package/esm2022/lib/message/shared/message.service.mjs +0 -224
- package/esm2022/lib/monitoring/index.mjs +0 -4
- package/esm2022/lib/monitoring/monitoring.provider.mjs +0 -20
- package/esm2022/lib/monitoring/sentry/index.mjs +0 -4
- package/esm2022/lib/monitoring/sentry/sentry.interface.mjs +0 -2
- package/esm2022/lib/monitoring/sentry/sentry.mjs +0 -29
- package/esm2022/lib/monitoring/sentry/sentry.provider.mjs +0 -31
- package/esm2022/lib/monitoring/sentry/sentry.utils.mjs +0 -12
- package/esm2022/lib/monitoring/shared/any-monitoring.interface.mjs +0 -2
- package/esm2022/lib/monitoring/shared/index.mjs +0 -3
- package/esm2022/lib/monitoring/shared/monitoring.interface.mjs +0 -2
- package/esm2022/lib/network/index.mjs +0 -3
- package/esm2022/lib/network/network.interfaces.mjs +0 -2
- package/esm2022/lib/network/network.service.mjs +0 -66
- package/esm2022/lib/regex/index.mjs +0 -3
- package/esm2022/lib/regex/regex.interface.mjs +0 -2
- package/esm2022/lib/regex/regex.service.mjs +0 -30
- package/esm2022/lib/request/error.interceptor.mjs +0 -72
- package/esm2022/lib/request/error.module.mjs +0 -39
- package/esm2022/lib/request/index.mjs +0 -3
- package/esm2022/lib/request/logging.interceptor.mjs +0 -29
- package/esm2022/lib/request/logging.module.mjs +0 -30
- package/esm2022/lib/route/route.interface.mjs +0 -2
- package/esm2022/lib/route/route.service.mjs +0 -75
- package/esm2022/lib/storage/index.mjs +0 -4
- package/esm2022/lib/storage/storage.interface.mjs +0 -13
- package/esm2022/lib/storage/storage.mjs +0 -76
- package/esm2022/lib/storage/storage.service.mjs +0 -21
- package/esm2022/lib/user/index.mjs +0 -2
- package/esm2022/lib/user/user.interface.mjs +0 -2
- package/lib/analytics/index.d.ts +0 -1
- package/lib/compression/compressedData.interface.d.ts +0 -5
- package/lib/compression/compression.service.d.ts +0 -15
- package/lib/compression/index.d.ts +0 -2
- package/lib/config/config.provider.d.ts +0 -23
- package/lib/environment/environment.interface.d.ts +0 -18
- package/lib/language/index.d.ts +0 -1
- package/lib/language/shared/language.interface.d.ts +0 -3
- package/lib/language/shared/language.loader.d.ts +0 -11
- package/lib/language/shared/language.provider.d.ts +0 -15
- package/lib/message/index.d.ts +0 -1
- package/lib/monitoring/shared/any-monitoring.interface.d.ts +0 -2
- package/{lib/activity → activity}/activity.interceptor.d.ts +0 -0
- package/{lib/activity → activity}/activity.module.d.ts +0 -0
- package/{lib/activity → activity}/activity.service.d.ts +0 -0
- package/{lib/analytics/shared/index.d.ts → analytics/public_api.d.ts} +1 -1
- /package/{lib/config → config}/config-deprecated.d.ts +0 -0
- /package/{lib/config → config}/version.d.ts +0 -0
- /package/{lib/environment/index.d.ts → environment/public_api.d.ts} +0 -0
- /package/{lib/gesture → gesture}/gesture.module.d.ts +0 -0
- /package/{lib/gesture → gesture}/gesture.provider.d.ts +0 -0
- /package/{lib/language → language}/shared/language.service.d.ts +0 -0
- /package/{lib/language → language}/shared/missing-translation.guard.d.ts +0 -0
- /package/{lib/media → media}/media.enum.d.ts +0 -0
- /package/{lib/media → media}/media.service.d.ts +0 -0
- /package/{lib/media/index.d.ts → media/public_api.d.ts} +0 -0
- /package/{lib/message → message}/shared/message.interface.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/monitoring.provider.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/sentry/index.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/sentry/sentry.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/sentry/sentry.interface.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/sentry/sentry.provider.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/shared/index.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/shared/monitoring.interface.d.ts +0 -0
- /package/{lib/network → network}/network.interfaces.d.ts +0 -0
- /package/{lib/network/index.d.ts → network/public_api.d.ts} +0 -0
- /package/{lib/regex/index.d.ts → regex/public_api.d.ts} +0 -0
- /package/{lib/regex → regex}/regex.interface.d.ts +0 -0
- /package/{lib/request → request}/error.module.d.ts +0 -0
- /package/{lib/request → request}/logging.interceptor.d.ts +0 -0
- /package/{lib/request → request}/logging.module.d.ts +0 -0
- /package/{lib/route → route}/route.interface.d.ts +0 -0
- /package/{lib/route → route}/route.service.d.ts +0 -0
- /package/{lib/storage/index.d.ts → storage/public_api.d.ts} +0 -0
- /package/{lib/storage → storage}/storage.interface.d.ts +0 -0
- /package/{lib/user/index.d.ts → user/public_api.d.ts} +0 -0
- /package/{lib/user → user}/user.interface.d.ts +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL21lc3NhZ2Uvc3JjL3NoYXJlZC9tZXNzYWdlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSW5kaXZpZHVhbENvbmZpZyB9IGZyb20gJ25neC10b2FzdHInO1xuXG5pbXBvcnQgeyBNZXNzYWdlVHlwZSB9IGZyb20gJy4vbWVzc2FnZS5lbnVtJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGh0bWw/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuICB0eXBlPzogTWVzc2FnZVR5cGU7XG4gIG9wdGlvbnM/OiBNZXNzYWdlT3B0aW9ucztcbiAgZm9ybWF0PzogJ3RleHQnIHwgJ2h0bWwnO1xuICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3Q7XG4gIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3Q7XG4gIHNob3dJY29uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlT3B0aW9ucyBleHRlbmRzIEluZGl2aWR1YWxDb25maWcge1xuICB0ZW1wbGF0ZT86IHN0cmluZztcbiAgZnJvbT86IERhdGUgfCBzdHJpbmc7XG4gIHRvPzogRGF0ZSB8IHN0cmluZztcbiAgaWQ/OiBudW1iZXI7XG4gIHNob3dPbkVhY2hMYXllclZpc2liaWxpdHk/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { provideToastr } from 'ngx-toastr';
|
|
3
|
+
const TOASTR_CONFIG = {
|
|
4
|
+
positionClass: 'toast-bottom-right',
|
|
5
|
+
timeOut: 10000,
|
|
6
|
+
extendedTimeOut: 10000,
|
|
7
|
+
titleClass: 'mat-subtitle-2',
|
|
8
|
+
messageClass: 'toast-message',
|
|
9
|
+
closeButton: true,
|
|
10
|
+
progressBar: true,
|
|
11
|
+
enableHtml: true,
|
|
12
|
+
tapToDismiss: true,
|
|
13
|
+
maxOpened: 4,
|
|
14
|
+
preventDuplicates: true,
|
|
15
|
+
resetTimeoutOnDuplicate: true,
|
|
16
|
+
countDuplicates: false,
|
|
17
|
+
includeTitleDuplicates: true
|
|
18
|
+
};
|
|
19
|
+
export function provideMessage() {
|
|
20
|
+
return makeEnvironmentProviders([provideToastr(TOASTR_CONFIG)]);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbWVzc2FnZS9zcmMvc2hhcmVkL21lc3NhZ2UucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3Qix3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV6RCxNQUFNLGFBQWEsR0FBMEI7SUFDM0MsYUFBYSxFQUFFLG9CQUFvQjtJQUNuQyxPQUFPLEVBQUUsS0FBSztJQUNkLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLFVBQVUsRUFBRSxnQkFBZ0I7SUFDNUIsWUFBWSxFQUFFLGVBQWU7SUFDN0IsV0FBVyxFQUFFLElBQUk7SUFDakIsV0FBVyxFQUFFLElBQUk7SUFDakIsVUFBVSxFQUFFLElBQUk7SUFDaEIsWUFBWSxFQUFFLElBQUk7SUFDbEIsU0FBUyxFQUFFLENBQUM7SUFDWixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLHVCQUF1QixFQUFFLElBQUk7SUFDN0IsZUFBZSxFQUFFLEtBQUs7SUFDdEIsc0JBQXNCLEVBQUUsSUFBSTtDQUM3QixDQUFDO0FBRUYsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50UHJvdmlkZXJzLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgR2xvYmFsQ29uZmlnLCBwcm92aWRlVG9hc3RyIH0gZnJvbSAnbmd4LXRvYXN0cic7XG5cbmNvbnN0IFRPQVNUUl9DT05GSUc6IFBhcnRpYWw8R2xvYmFsQ29uZmlnPiA9IHtcbiAgcG9zaXRpb25DbGFzczogJ3RvYXN0LWJvdHRvbS1yaWdodCcsXG4gIHRpbWVPdXQ6IDEwMDAwLFxuICBleHRlbmRlZFRpbWVPdXQ6IDEwMDAwLFxuICB0aXRsZUNsYXNzOiAnbWF0LXN1YnRpdGxlLTInLFxuICBtZXNzYWdlQ2xhc3M6ICd0b2FzdC1tZXNzYWdlJyxcbiAgY2xvc2VCdXR0b246IHRydWUsXG4gIHByb2dyZXNzQmFyOiB0cnVlLFxuICBlbmFibGVIdG1sOiB0cnVlLFxuICB0YXBUb0Rpc21pc3M6IHRydWUsXG4gIG1heE9wZW5lZDogNCxcbiAgcHJldmVudER1cGxpY2F0ZXM6IHRydWUsXG4gIHJlc2V0VGltZW91dE9uRHVwbGljYXRlOiB0cnVlLFxuICBjb3VudER1cGxpY2F0ZXM6IGZhbHNlLFxuICBpbmNsdWRlVGl0bGVEdXBsaWNhdGVzOiB0cnVlXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU1lc3NhZ2UoKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtwcm92aWRlVG9hc3RyKFRPQVNUUl9DT05GSUcpXSk7XG59XG4iXX0=
|
|
@@ -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.3.9", 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.3.9", ngImport: i0, type: MessageService, providedIn: 'root' });
|
|
215
|
+
}
|
|
216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", 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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ZixRQUFROzJHQU5QLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgQWN0aXZlVG9hc3QsIEluZGl2aWR1YWxDb25maWcsIFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi9tZXNzYWdlLmVudW0nO1xuaW1wb3J0IHsgTWVzc2FnZSwgTWVzc2FnZU9wdGlvbnMgfSBmcm9tICcuL21lc3NhZ2UuaW50ZXJmYWNlJztcblxuaW50ZXJmYWNlIEFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbiB7XG4gIGlkOiBudW1iZXI7XG4gIHRpdGxlS2V5OiBzdHJpbmc7XG4gIHRleHRLZXk6IHN0cmluZztcbiAgdGV4dEludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0O1xuICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0O1xufVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZVNlcnZpY2Uge1xuICBwdWJsaWMgbWVzc2FnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZXNzYWdlW10+KFtdKTtcbiAgcHJpdmF0ZSBvcHRpb25zPzogTWVzc2FnZU9wdGlvbnM7XG4gIHByaXZhdGUgYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uczogQWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEluamVjdG9yKSBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxuICApIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdtZXNzYWdlJyk7XG4gICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UubGFuZ3VhZ2UkLnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgaWYgKHRoaXMudG9hc3RyLnRvYXN0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5hY3RpdmVNZXNzYWdlVHJhbnNsYXRpb25zID0gW107XG4gICAgICB9XG4gICAgICB0aGlzLnRvYXN0ci50b2FzdHMubWFwKCh0b2FzdCkgPT4ge1xuICAgICAgICBjb25zdCBhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24gPSB0aGlzLmFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbnMuZmluZChcbiAgICAgICAgICAoYW10KSA9PiBhbXQuaWQgPT09IHRvYXN0LnRvYXN0SWRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbikge1xuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRUZXh0SW50ZXJwb2xhdGVQYXJhbXMgPSB7XG4gICAgICAgICAgICAuLi5hY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGV4dEludGVycG9sYXRlUGFyYW1zXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCB0cmFuc2xhdGVkVGl0bGVJbnRlcnBvbGF0ZVBhcmFtcyA9IHtcbiAgICAgICAgICAgIC4uLmFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUludGVycG9sYXRlUGFyYW1zXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmIChhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGV4dEludGVycG9sYXRlUGFyYW1zKSB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGV4dEludGVycG9sYXRlUGFyYW1zKS5tYXAoXG4gICAgICAgICAgICAgIChrKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGspIHtcbiAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRUZXh0SW50ZXJwb2xhdGVQYXJhbXNba10gPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGV4dEludGVycG9sYXRlUGFyYW1zW2tdXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUludGVycG9sYXRlUGFyYW1zKS5tYXAoXG4gICAgICAgICAgICAgIChrKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGspIHtcbiAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRUaXRsZUludGVycG9sYXRlUGFyYW1zW2tdID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXNba11cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9ya0pvaW4oW1xuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmdldChcbiAgICAgICAgICAgICAgYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRleHRLZXksXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZWRUZXh0SW50ZXJwb2xhdGVQYXJhbXNcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuZ2V0KFxuICAgICAgICAgICAgICBhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGl0bGVLZXksXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZWRUaXRsZUludGVycG9sYXRlUGFyYW1zXG4gICAgICAgICAgICApXG4gICAgICAgICAgXSlcbiAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXM6IFtzdHJpbmcsIHN0cmluZ10pID0+IHtcbiAgICAgICAgICAgICAgdG9hc3QudG9hc3RSZWYuY29tcG9uZW50SW5zdGFuY2UubWVzc2FnZSA9IHJlc1swXTtcbiAgICAgICAgICAgICAgdG9hc3QudG9hc3RSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSByZXNbMV07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldCB0b2FzdHIoKTogVG9hc3RyU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KFRvYXN0clNlcnZpY2UpO1xuICB9XG5cbiAgc2hvd0Vycm9yKGh0dHBFcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBodHRwRXJyb3IuZXJyb3IuY2F1Z2h0ID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcy5lcnJvcihodHRwRXJyb3IuZXJyb3IubWVzc2FnZSwgaHR0cEVycm9yLmVycm9yLnRpdGxlKTtcbiAgfVxuXG4gIG1lc3NhZ2UobWVzc2FnZTogTWVzc2FnZSkge1xuICAgIGNvbnN0IG1lc3NhZ2VUeXBlID0gbWVzc2FnZS50eXBlO1xuICAgIHRoaXMudG9hc3RyLnRvYXN0ckNvbmZpZy5pY29uQ2xhc3Nlc1ttZXNzYWdlVHlwZV0gPSBgdG9hc3QtJHttZXNzYWdlVHlwZX1gO1xuXG4gICAgdGhpcy5tZXNzYWdlcyQubmV4dCh0aGlzLm1lc3NhZ2VzJC52YWx1ZS5jb25jYXQoW21lc3NhZ2VdKSk7XG5cbiAgICBtZXNzYWdlLm9wdGlvbnMgPSBtZXNzYWdlLm9wdGlvbnMgfHwgKHt9IGFzIE1lc3NhZ2VPcHRpb25zKTtcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICBtZXNzYWdlLm9wdGlvbnMuZnJvbSA9IG1lc3NhZ2Uub3B0aW9ucy5mcm9tXG4gICAgICA/IG1lc3NhZ2Uub3B0aW9ucy5mcm9tXG4gICAgICA6IG5ldyBEYXRlKCcxIGphbiAxOTAwJyk7XG4gICAgbWVzc2FnZS5vcHRpb25zLnRvID0gbWVzc2FnZS5vcHRpb25zLnRvXG4gICAgICA/IG1lc3NhZ2Uub3B0aW9ucy50b1xuICAgICAgOiBuZXcgRGF0ZSgnMSBqYW4gMzAwMCcpO1xuICAgIGlmICh0eXBlb2YgbWVzc2FnZS5vcHRpb25zLmZyb20gPT09ICdzdHJpbmcnKSB7XG4gICAgICBtZXNzYWdlLm9wdGlvbnMuZnJvbSA9IG5ldyBEYXRlKFxuICAgICAgICBEYXRlLnBhcnNlKG1lc3NhZ2Uub3B0aW9ucy5mcm9tLnJlcGxhY2UoLy0vZywgJyAnKSlcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgbWVzc2FnZS5vcHRpb25zLnRvID09PSAnc3RyaW5nJykge1xuICAgICAgbWVzc2FnZS5vcHRpb25zLnRvID0gbmV3IERhdGUoXG4gICAgICAgIERhdGUucGFyc2UobWVzc2FnZS5vcHRpb25zLnRvLnJlcGxhY2UoLy0vZywgJyAnKSlcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGN1cnJlbnREYXRlID4gbWVzc2FnZS5vcHRpb25zLmZyb20gJiZcbiAgICAgIGN1cnJlbnREYXRlIDwgbWVzc2FnZS5vcHRpb25zLnRvXG4gICAgKSB7XG4gICAgICBpZiAobWVzc2FnZS5zaG93SWNvbiA9PT0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy50b2FzdHIudG9hc3RyQ29uZmlnLmljb25DbGFzc2VzW21lc3NhZ2VUeXBlXSA9XG4gICAgICAgICAgYHRvYXN0LSR7bWVzc2FnZVR5cGV9IHRvYXN0LW5vLWljb25gO1xuICAgICAgfVxuICAgICAgbWVzc2FnZSA9IHRoaXMuaGFuZGxlVGVtcGxhdGUobWVzc2FnZSk7XG5cbiAgICAgIGlmIChtZXNzYWdlLnRleHQpIHtcbiAgICAgICAgbGV0IG1lc3NhZ2VTaG93bjogQWN0aXZlVG9hc3Q8YW55PjtcbiAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLlNVQ0NFU1M6XG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLnN1Y2Nlc3MoXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dCxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZSxcbiAgICAgICAgICAgICAgbWVzc2FnZS5vcHRpb25zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZUludGVycG9sYXRlUGFyYW1zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5FUlJPUjpcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuZXJyb3IoXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dCxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZSxcbiAgICAgICAgICAgICAgbWVzc2FnZS5vcHRpb25zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZUludGVycG9sYXRlUGFyYW1zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5JTkZPOlxuICAgICAgICAgICAgbWVzc2FnZVNob3duID0gdGhpcy5pbmZvKFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHQsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGUsXG4gICAgICAgICAgICAgIG1lc3NhZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGUuU0hPVzpcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuc2hvdyhcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0LFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlLFxuICAgICAgICAgICAgICBtZXNzYWdlLm9wdGlvbnMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dEludGVycG9sYXRlUGFyYW1zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLkFMRVJUOlxuICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGUuV0FSTklORzpcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuYWxlcnQoXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dCxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZSxcbiAgICAgICAgICAgICAgbWVzc2FnZS5vcHRpb25zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZUludGVycG9sYXRlUGFyYW1zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuaW5mbyhcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0LFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlLFxuICAgICAgICAgICAgICBtZXNzYWdlLm9wdGlvbnMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dEludGVycG9sYXRlUGFyYW1zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBtZXNzYWdlLm9wdGlvbnMuaWQgPSBtZXNzYWdlU2hvd24udG9hc3RJZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdWNjZXNzKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nID0gJ2lnby5jb3JlLm1lc3NhZ2Uuc3VjY2VzcycsXG4gICAgb3B0aW9uczogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPiA9IHt9LFxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcbiAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0XG4gICk6IEFjdGl2ZVRvYXN0PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmhhbmRsZU5neFRvYXN0cihcbiAgICAgICdzdWNjZXNzJyxcbiAgICAgIHRleHQsXG4gICAgICB0aXRsZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXG4gICAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zXG4gICAgKTtcbiAgfVxuXG4gIGVycm9yKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nID0gJ2lnby5jb3JlLm1lc3NhZ2UuZXJyb3InLFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcbiAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QsXG4gICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdFxuICApOiBBY3RpdmVUb2FzdDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVOZ3hUb2FzdHIoXG4gICAgICAnZXJyb3InLFxuICAgICAgdGV4dCxcbiAgICAgIHRpdGxlLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcbiAgICApO1xuICB9XG5cbiAgaW5mbyhcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyA9ICdpZ28uY29yZS5tZXNzYWdlLmluZm8nLFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcbiAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QsXG4gICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdFxuICApOiBBY3RpdmVUb2FzdDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVOZ3hUb2FzdHIoXG4gICAgICAnaW5mbycsXG4gICAgICB0ZXh0LFxuICAgICAgdGl0bGUsXG4gICAgICBvcHRpb25zLFxuICAgICAgdGV4dEludGVycG9sYXRlUGFyYW1zLFxuICAgICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xuICAgICk7XG4gIH1cblxuICBhbGVydChcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyA9ICdpZ28uY29yZS5tZXNzYWdlLmFsZXJ0JyxcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge30sXG4gICAgdGV4dEludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0LFxuICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3RcbiAgKTogQWN0aXZlVG9hc3Q8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlTmd4VG9hc3RyKFxuICAgICAgJ2FsZXJ0JyxcbiAgICAgIHRleHQsXG4gICAgICB0aXRsZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXG4gICAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zXG4gICAgKTtcbiAgfVxuXG4gIHNob3coXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcgPSAnaWdvLmNvcmUubWVzc2FnZS5pbmZvJyxcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge30sXG4gICAgdGV4dEludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0LFxuICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3RcbiAgKTogQWN0aXZlVG9hc3Q8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlTmd4VG9hc3RyKFxuICAgICAgJ3Nob3cnLFxuICAgICAgdGV4dCxcbiAgICAgIHRpdGxlLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVOZ3hUb2FzdHIoXG4gICAgdHlwZTogJ2FsZXJ0JyB8ICdpbmZvJyB8ICdlcnJvcicgfCAnc3VjY2VzcycgfCAnc2hvdycsXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgb3B0aW9uczogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPiA9IHt9LFxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcbiAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0XG4gICk6IEFjdGl2ZVRvYXN0PGFueT4ge1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRUZXh0SW50ZXJwb2xhdGVQYXJhbXMgPSB7IC4uLnRleHRJbnRlcnBvbGF0ZVBhcmFtcyB9O1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRUaXRsZW50ZXJwb2xhdGVQYXJhbXMgPSB7IC4uLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXMgfTtcblxuICAgIGlmICh0ZXh0SW50ZXJwb2xhdGVQYXJhbXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKHRleHRJbnRlcnBvbGF0ZVBhcmFtcykubWFwKChrKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGV4dEludGVycG9sYXRlUGFyYW1zW2tdO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zW2tdID1cbiAgICAgICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgICAgPyB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh2YWx1ZSlcbiAgICAgICAgICAgICAgOiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aXRsZUludGVycG9sYXRlUGFyYW1zKSB7XG4gICAgICBPYmplY3Qua2V5cyh0aXRsZUludGVycG9sYXRlUGFyYW1zKS5tYXAoKGspID0+IHtcbiAgICAgICAgaWYgKGspIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRpdGxlSW50ZXJwb2xhdGVQYXJhbXNba107XG4gICAgICAgICAgdHJhbnNsYXRlZFRpdGxlbnRlcnBvbGF0ZVBhcmFtc1trXSA9XG4gICAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgID8gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQodmFsdWUpXG4gICAgICAgICAgICAgIDogdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgIHRleHQsXG4gICAgICB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zXG4gICAgKTtcbiAgICBjb25zdCB0cmFuc2xhdGVkVGl0bGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgIHRpdGxlLFxuICAgICAgdHJhbnNsYXRlZFRpdGxlbnRlcnBvbGF0ZVBhcmFtc1xuICAgICk7XG5cbiAgICBsZXQgYWN0aXZlVG9hc3Q7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgYWN0aXZlVG9hc3QgPSB0aGlzLnRvYXN0ci5zdWNjZXNzKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICBhY3RpdmVUb2FzdCA9IHRoaXMudG9hc3RyLmVycm9yKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2hvdyc6XG4gICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgYWN0aXZlVG9hc3QgPSB0aGlzLnRvYXN0ci5pbmZvKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWxlcnQnOlxuICAgICAgICBhY3RpdmVUb2FzdCA9IHRoaXMudG9hc3RyLndhcm5pbmcobWVzc2FnZSwgdHJhbnNsYXRlZFRpdGxlLCBvcHRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9ucy5wdXNoKHtcbiAgICAgIGlkOiBhY3RpdmVUb2FzdC50b2FzdElkLFxuICAgICAgdGl0bGVLZXk6IHRpdGxlLFxuICAgICAgdGV4dEtleTogdGV4dCxcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcbiAgICB9KTtcbiAgICByZXR1cm4gYWN0aXZlVG9hc3Q7XG4gIH1cblxuICByZW1vdmUoaWQ/OiBudW1iZXIpIHtcbiAgICB0aGlzLnRvYXN0ci5yZW1vdmUoaWQpO1xuICB9XG5cbiAgcmVtb3ZlQWxsQXJlTm90RXJyb3IoKSB7XG4gICAgZm9yIChjb25zdCBtZXNzIG9mIHRoaXMubWVzc2FnZXMkLnZhbHVlKSB7XG4gICAgICBpZiAobWVzcy50eXBlICE9PSBNZXNzYWdlVHlwZS5FUlJPUikge1xuICAgICAgICB0aGlzLnJlbW92ZShtZXNzLm9wdGlvbnMuaWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVGVtcGxhdGUobWVzc2FnZTogTWVzc2FnZSk6IE1lc3NhZ2Uge1xuICAgIGlmICghdGhpcy5vcHRpb25zPy50ZW1wbGF0ZSB8fCBtZXNzYWdlLmh0bWwpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH1cblxuICAgIGxldCBodG1sID0gdGhpcy5vcHRpb25zPy50ZW1wbGF0ZTtcbiAgICBodG1sID0gaHRtbC5yZXBsYWNlKCcke3RleHR9JywgbWVzc2FnZS50ZXh0KTtcbiAgICBodG1sID0gaHRtbC5yZXBsYWNlKCcke3RpdGxlfScsIG1lc3NhZ2UudGl0bGUpO1xuXG4gICAgbWVzc2FnZS5odG1sID0gdW5kZWZpbmVkO1xuICAgIG1lc3NhZ2UudGV4dCA9IGh0bWw7XG4gICAgbWVzc2FnZS50aXRsZSA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './monitoring-mock';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL21vbml0b3Jpbmcvc3JjL19fbW9ja3NfXy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb25pdG9yaW5nLW1vY2snO1xuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvcmluZy1tb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9tb25pdG9yaW5nL3NyYy9fX21vY2tzX18vbW9uaXRvcmluZy1tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUE0QjtJQUMxRCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsZ0RBQWdEO0lBQ3JELFlBQVksRUFBRSxJQUFJO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FDbEMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyB9IGZyb20gJy4uL3NlbnRyeSc7XG5pbXBvcnQgeyBBbnlNb25pdG9yaW5nT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZCc7XG5cbmV4cG9ydCBjb25zdCBNT0NLX1NFTlRSWV9PUFRJT05TOiBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyA9IHtcbiAgcHJvdmlkZXI6ICdzZW50cnknLFxuICBkc246ICdodHRwczovL2V4YW1wbGVQdWJsaWNLZXlAbzAuaW5nZXN0LnNlbnRyeS5pby8wJyxcbiAgaWRlbnRpZnlVc2VyOiB0cnVlXG59O1xuXG5leHBvcnQgY29uc3QgTU9DS19NT05JVE9SSU5HX09QVElPTlM6IEFueU1vbml0b3JpbmdPcHRpb25zID1cbiAgTU9DS19TRU5UUllfT1BUSU9OUztcbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvcmluZy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbW9uaXRvcmluZy9zcmMvbW9uaXRvcmluZy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR25FLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNsRCxvQkFBb0IsQ0FDckIsQ0FBQztBQUVGLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsT0FBb0M7SUFFcEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQWU7UUFDNUIsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtLQUNuRCxDQUFDO0lBRUYsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsS0FBSyxRQUFRO1lBQ1gsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDcEQsTUFBTTtRQUNSO1lBQ0UsTUFBTTtJQUNWLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHByb3ZpZGVTZW50cnlNb25pdG9yaW5nIH0gZnJvbSAnLi9zZW50cnkvc2VudHJ5LnByb3ZpZGVyJztcbmltcG9ydCB7IEFueU1vbml0b3JpbmdPcHRpb25zLCBNb25pdG9yaW5nT3B0aW9ucyB9IGZyb20gJy4vc2hhcmVkJztcblxuZXhwb3J0IGNvbnN0IE1PTklUT1JJTkdfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNb25pdG9yaW5nT3B0aW9ucyB8IG51bGw+KFxuICAnbW9uaXRvcmluZy5vcHRpb25zJ1xuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVNb25pdG9yaW5nKFxuICBvcHRpb25zOiBBbnlNb25pdG9yaW5nT3B0aW9ucyB8IG51bGxcbik6IFByb3ZpZGVyW10ge1xuICBpZiAoIW9wdGlvbnMpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbXG4gICAgeyBwcm92aWRlOiBNT05JVE9SSU5HX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH1cbiAgXTtcblxuICBzd2l0Y2ggKG9wdGlvbnMucHJvdmlkZXIpIHtcbiAgICBjYXNlICdzZW50cnknOlxuICAgICAgcHJvdmlkZXJzLnB1c2goLi4ucHJvdmlkZVNlbnRyeU1vbml0b3Jpbmcob3B0aW9ucykpO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIHByb3ZpZGVycztcbn1cbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbW9uaXRvcmluZy9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZW50cnknO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25pdG9yaW5nLnByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vX19tb2Nrc19fJztcbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL21vbml0b3Jpbmcvc3JjL3NlbnRyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VudHJ5LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlbnRyeS5wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3NlbnRyeS51dGlscyc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbW9uaXRvcmluZy9zcmMvc2VudHJ5L3NlbnRyeS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyb3dzZXJPcHRpb25zLCBFcnJvckhhbmRsZXJPcHRpb25zIH0gZnJvbSAnQHNlbnRyeS9hbmd1bGFyLWl2eSc7XG5cbmltcG9ydCB7IE1vbml0b3JpbmdPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL21vbml0b3JpbmcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHR5cGUgU2VudHJ5TW9uaXRvcmluZ09wdGlvbnMgPSBCcm93c2VyT3B0aW9ucyAmXG4gIE1vbml0b3JpbmdPcHRpb25zICYge1xuICAgIHByb3ZpZGVyOiAnc2VudHJ5JztcbiAgICBlcnJvckhhbmRsZXJPcHRpb25zPzogRXJyb3JIYW5kbGVyT3B0aW9ucztcbiAgICBlbmFibGVSZXBsYXk/OiBib29sZWFuO1xuICB9O1xuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9tb25pdG9yaW5nL3NyYy9zZW50cnkvc2VudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxjQUFjLEVBQ2QsTUFBTSxFQUVOLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsSUFBSSxFQUNKLHdCQUF3QixFQUN6QixNQUFNLHFCQUFxQixDQUFDO0FBRzdCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQ3RDLE9BQWdDLEVBQ1osRUFBRTtJQUN0QixPQUFPLGtCQUFrQixDQUFDO1FBQ3hCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztRQUM1QixHQUFHLENBQUMsT0FBTyxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztLQUN2QyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFnQyxFQUFRLEVBQUU7SUFDbkUsTUFBTSxNQUFNLEdBQUcsYUFBYSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0MsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsTUFBTSxVQUFVLEdBQW1CO1FBQ2pDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztRQUNoQixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7UUFDaEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLFlBQVksRUFBRTtZQUNaLGNBQWM7Z0JBQ1osSUFBSSxjQUFjLENBQUM7b0JBQ2pCLHNCQUFzQixFQUFFLHdCQUF3QjtpQkFDakQsQ0FBQztZQUNKLE9BQU8sQ0FBQyxZQUFZLElBQUksSUFBSSxNQUFNLEVBQUU7U0FDckMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0tBQ2xCLENBQUM7SUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQnJvd3Nlck9wdGlvbnMsXG4gIEJyb3dzZXJUcmFjaW5nLFxuICBSZXBsYXksXG4gIFNlbnRyeUVycm9ySGFuZGxlcixcbiAgY3JlYXRlRXJyb3JIYW5kbGVyLFxuICBnZXRDdXJyZW50SHViLFxuICBpbml0LFxuICBpbnN0cnVtZW50QW5ndWxhclJvdXRpbmdcbn0gZnJvbSAnQHNlbnRyeS9hbmd1bGFyLWl2eSc7XG5cbmltcG9ydCB7IFNlbnRyeU1vbml0b3JpbmdPcHRpb25zIH0gZnJvbSAnLi9zZW50cnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IGlzVHJhY2luZ0VuYWJsZWQgfSBmcm9tICcuL3NlbnRyeS51dGlscyc7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTZW50cnlFcnJvckhhbmRsZXIgPSAoXG4gIG9wdGlvbnM6IFNlbnRyeU1vbml0b3JpbmdPcHRpb25zXG4pOiBTZW50cnlFcnJvckhhbmRsZXIgPT4ge1xuICByZXR1cm4gY3JlYXRlRXJyb3JIYW5kbGVyKHtcbiAgICBsb2dFcnJvcnM6IG9wdGlvbnMubG9nRXJyb3JzLFxuICAgIC4uLihvcHRpb25zLmVycm9ySGFuZGxlck9wdGlvbnMgPz8ge30pXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGluaXRTZW50cnkgPSAob3B0aW9uczogU2VudHJ5TW9uaXRvcmluZ09wdGlvbnMpOiB2b2lkID0+IHtcbiAgY29uc3QgY2xpZW50ID0gZ2V0Q3VycmVudEh1YigpLmdldENsaWVudCgpO1xuICBpZiAoY2xpZW50KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgdHJhY2luZ0VuYWJsZWQgPSBpc1RyYWNpbmdFbmFibGVkKG9wdGlvbnMpO1xuICBjb25zdCBiYXNlQ29uZmlnOiBCcm93c2VyT3B0aW9ucyA9IHtcbiAgICBkc246IG9wdGlvbnMuZHNuLFxuICAgIGVudmlyb25tZW50OiBvcHRpb25zLmVudmlyb25tZW50LFxuICAgIHJlbGVhc2U6IG9wdGlvbnMucmVsZWFzZSxcbiAgICBpbnRlZ3JhdGlvbnM6IFtcbiAgICAgIHRyYWNpbmdFbmFibGVkICYmXG4gICAgICAgIG5ldyBCcm93c2VyVHJhY2luZyh7XG4gICAgICAgICAgcm91dGluZ0luc3RydW1lbnRhdGlvbjogaW5zdHJ1bWVudEFuZ3VsYXJSb3V0aW5nXG4gICAgICAgIH0pLFxuICAgICAgb3B0aW9ucy5lbmFibGVSZXBsYXkgJiYgbmV3IFJlcGxheSgpXG4gICAgXS5maWx0ZXIoQm9vbGVhbilcbiAgfTtcblxuICBpbml0KGJhc2VDb25maWcpO1xufTtcbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9tb25pdG9yaW5nL3NyYy9zZW50cnkvc2VudHJ5LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBRWYsWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxPQUFnQyxFQUNXLEVBQUU7SUFDN0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFcEIsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFakQsT0FBTztRQUNMO1lBQ0UsT0FBTyxFQUFFLFlBQVk7WUFDckIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQztTQUNwRDtRQUNELGNBQWMsSUFBSTtZQUNoQixPQUFPLEVBQUUsWUFBWTtZQUNyQixJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDZjtRQUNELHlFQUF5RTtRQUN6RSxjQUFjLElBQUk7WUFDaEIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUM7WUFDMUIsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO1lBQ3BCLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBUFBfSU5JVElBTElaRVIsXG4gIENvbnN0cnVjdG9yUHJvdmlkZXIsXG4gIEVycm9ySGFuZGxlcixcbiAgRmFjdG9yeVByb3ZpZGVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgVHJhY2VTZXJ2aWNlIH0gZnJvbSAnQHNlbnRyeS9hbmd1bGFyLWl2eSc7XG5cbmltcG9ydCB7IGNyZWF0ZVNlbnRyeUVycm9ySGFuZGxlciwgaW5pdFNlbnRyeSB9IGZyb20gJy4vc2VudHJ5JztcbmltcG9ydCB7IFNlbnRyeU1vbml0b3JpbmdPcHRpb25zIH0gZnJvbSAnLi9zZW50cnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IGlzVHJhY2luZ0VuYWJsZWQgfSBmcm9tICcuL3NlbnRyeS51dGlscyc7XG5cbmV4cG9ydCBjb25zdCBwcm92aWRlU2VudHJ5TW9uaXRvcmluZyA9IChcbiAgb3B0aW9uczogU2VudHJ5TW9uaXRvcmluZ09wdGlvbnNcbik6IChGYWN0b3J5UHJvdmlkZXIgfCBDb25zdHJ1Y3RvclByb3ZpZGVyKVtdID0+IHtcbiAgY29uc3QgaXNFbmFibGVkID0gb3B0aW9ucy5lbmFibGVkICE9PSB1bmRlZmluZWQgPyBvcHRpb25zLmVuYWJsZWQgOiB0cnVlO1xuICBpZiAoIWlzRW5hYmxlZCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGluaXRTZW50cnkob3B0aW9ucyk7XG5cbiAgY29uc3QgdHJhY2luZ0VuYWJsZWQgPSBpc1RyYWNpbmdFbmFibGVkKG9wdGlvbnMpO1xuXG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRXJyb3JIYW5kbGVyLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gY3JlYXRlU2VudHJ5RXJyb3JIYW5kbGVyKG9wdGlvbnMpXG4gICAgfSxcbiAgICB0cmFjaW5nRW5hYmxlZCAmJiB7XG4gICAgICBwcm92aWRlOiBUcmFjZVNlcnZpY2UsXG4gICAgICBkZXBzOiBbUm91dGVyXVxuICAgIH0sXG4gICAgLy8gRm9yY2UgaW5zdGFudGlhdGUgVHJhY2VTZXJ2aWNlIHRvIGF2b2lkIHJlcXVpcmUgaXQgaW4gYW55IGNvbnN0cnVjdG9yLlxuICAgIHRyYWNpbmdFbmFibGVkICYmIHtcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgIHVzZUZhY3Rvcnk6ICgpID0+ICgpID0+IHt9LFxuICAgICAgZGVwczogW1RyYWNlU2VydmljZV0sXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXS5maWx0ZXIoQm9vbGVhbik7XG59O1xuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9tb25pdG9yaW5nL3NyYy9zZW50cnkvc2VudHJ5LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUk5QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQWdDLEVBQVcsRUFBRSxDQUM1RSxPQUFPLENBQUMsYUFBYTtJQUNyQixDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtJQUMxQixDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztBQUUxQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQXFCLEVBQVEsRUFBRTtJQUNoRSxPQUFPLENBQ0wsSUFBSTtRQUNGLENBQUMsQ0FBQztZQUNFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM5QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDbEI7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUNULENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVXNlciB9IGZyb20gJ0BpZ28yL2NvcmUvdXNlcic7XG5cbmltcG9ydCB7IHNldFVzZXIgfSBmcm9tICdAc2VudHJ5L2FuZ3VsYXItaXZ5JztcblxuaW1wb3J0IHsgU2VudHJ5TW9uaXRvcmluZ09wdGlvbnMgfSBmcm9tICcuL3NlbnRyeS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgaXNUcmFjaW5nRW5hYmxlZCA9IChvcHRpb25zOiBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyk6IGJvb2xlYW4gPT5cbiAgb3B0aW9ucy5lbmFibGVUcmFjaW5nIHx8XG4gICEhb3B0aW9ucy50cmFjZXNTYW1wbGVSYXRlIHx8XG4gICEhb3B0aW9ucy50cmFjZXNTYW1wbGVyO1xuXG5leHBvcnQgY29uc3QgaWRlbnRpZnlTZW50cnlVc2VyID0gKHVzZXI6IEJhc2VVc2VyIHwgbnVsbCk6IHZvaWQgPT4ge1xuICBzZXRVc2VyKFxuICAgIHVzZXJcbiAgICAgID8ge1xuICAgICAgICAgIGlkOiB1c2VyLmlkLFxuICAgICAgICAgIHVzZXJuYW1lOiBgJHt1c2VyLmZpcnN0TmFtZX0gJHt1c2VyLmxhc3ROYW1lfWAsXG4gICAgICAgICAgZW1haWw6IHVzZXIuZW1haWxcbiAgICAgICAgfVxuICAgICAgOiBudWxsXG4gICk7XG59O1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW55LW1vbml0b3JpbmcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9tb25pdG9yaW5nL3NyYy9zaGFyZWQvYW55LW1vbml0b3JpbmcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZW50cnlNb25pdG9yaW5nT3B0aW9ucyB9IGZyb20gJy4uL3NlbnRyeS9zZW50cnkuaW50ZXJmYWNlJztcblxuZXhwb3J0IHR5cGUgQW55TW9uaXRvcmluZ09wdGlvbnMgPSBTZW50cnlNb25pdG9yaW5nT3B0aW9ucztcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './any-monitoring.interface';
|
|
2
|
+
export * from './monitoring.interface';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL21vbml0b3Jpbmcvc3JjL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FueS1tb25pdG9yaW5nLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL21vbml0b3JpbmcuaW50ZXJmYWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvcmluZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL21vbml0b3Jpbmcvc3JjL3NoYXJlZC9tb25pdG9yaW5nLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTW9uaXRvcmluZ1Byb3ZpZGVyID0gJ3NlbnRyeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9uaXRvcmluZ09wdGlvbnMge1xuICBwcm92aWRlcjogTW9uaXRvcmluZ1Byb3ZpZGVyO1xuICAvKiogQWRkIHRoZSB1c2VyIGluZm8oaWQsIG5hbWUsIGVtYWlsKSB0byB0aGUgZXZlbnQgcmVxdWVzdCAqL1xuICBpZGVudGlmeVVzZXI/OiBib29sZWFuO1xuICBsb2dFcnJvcnM/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9uZXR3b3JrL3NyYy9uZXR3b3JrLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdGlvblN0YXRlIHtcbiAgY29ubmVjdGlvbjogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -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.3.9", 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.3.9", ngImport: i0, type: NetworkService, providedIn: 'root' });
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9uZXR3b3JrL3NyYy9uZXR3b3JrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQTRCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPekQsTUFBTSxPQUFPLGNBQWM7SUFXZjtJQUNBO0lBWEYsdUJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFDOUQsa0JBQWtCLENBQWU7SUFDakMsbUJBQW1CLENBQWU7SUFDbEMsaUJBQWlCLENBQUM7SUFFbEIsS0FBSyxHQUFvQjtRQUMvQixVQUFVLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNO0tBQ3BDLENBQUM7SUFFRixZQUNVLGNBQThCLEVBQzlCLFFBQWtCO1FBRGxCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRTFCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNuRSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNyRCxDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3pDLGlDQUFpQyxFQUNqQywrQkFBK0IsQ0FDaEMsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3JELENBQUM7WUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDekMsa0NBQWtDLEVBQ2xDLGdDQUFnQyxDQUNqQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQztJQUNoQixDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJO1FBQzdCLE9BQU8sV0FBVztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FDL0IsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUN0QjtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7dUdBL0RVLGNBQWM7MkdBQWQsY0FBYyxjQUZiLE1BQU07OzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZXNzYWdlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdGUgfSBmcm9tICcuL25ldHdvcmsuaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5ldHdvcmtTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0ZUNoYW5nZUV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Q29ubmVjdGlvblN0YXRlPigpO1xuICBwcml2YXRlIG9ubGluZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIG9mZmxpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBwcmV2aW91c01lc3NhZ2VJZDtcblxuICBwcml2YXRlIHN0YXRlOiBDb25uZWN0aW9uU3RhdGUgPSB7XG4gICAgY29ubmVjdGlvbjogd2luZG93Lm5hdmlnYXRvci5vbkxpbmVcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICB0aGlzLmNoZWNrTmV0d29ya1N0YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrTmV0d29ya1N0YXRlKCkge1xuICAgIHRoaXMub25saW5lU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ29ubGluZScpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c01lc3NhZ2VJZCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnJlbW92ZSh0aGlzLnByZXZpb3VzTWVzc2FnZUlkKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1lc3NhZ2VPYmogPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8oXG4gICAgICAgICdpZ28uY29yZS5uZXR3b3JrLm9ubGluZS5tZXNzYWdlJyxcbiAgICAgICAgJ2lnby5jb3JlLm5ldHdvcmsub25saW5lLnRpdGxlJ1xuICAgICAgKTtcbiAgICAgIHRoaXMucHJldmlvdXNNZXNzYWdlSWQgPSBtZXNzYWdlT2JqLnRvYXN0SWQ7XG4gICAgICB0aGlzLnN0YXRlLmNvbm5lY3Rpb24gPSB0cnVlO1xuICAgICAgdGhpcy5lbWl0RXZlbnQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMub2ZmbGluZVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudCh3aW5kb3csICdvZmZsaW5lJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzTWVzc2FnZUlkKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UucmVtb3ZlKHRoaXMucHJldmlvdXNNZXNzYWdlSWQpO1xuICAgICAgfVxuICAgICAgY29uc3QgbWVzc2FnZU9iaiA9IHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhcbiAgICAgICAgJ2lnby5jb3JlLm5ldHdvcmsub2ZmbGluZS5tZXNzYWdlJyxcbiAgICAgICAgJ2lnby5jb3JlLm5ldHdvcmsub2ZmbGluZS50aXRsZSdcbiAgICAgICk7XG4gICAgICB0aGlzLnByZXZpb3VzTWVzc2FnZUlkID0gbWVzc2FnZU9iai50b2FzdElkO1xuICAgICAgdGhpcy5zdGF0ZS5jb25uZWN0aW9uID0gZmFsc2U7XG4gICAgICB0aGlzLmVtaXRFdmVudCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RXZlbnQoKSB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZUV2ZW50RW1pdHRlci5lbWl0KHRoaXMuc3RhdGUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMub2ZmbGluZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5vbmxpbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9IGNhdGNoIChlKSB7fVxuICB9XG5cbiAgY3VycmVudFN0YXRlKHJlcG9ydFN0YXRlID0gdHJ1ZSk6IE9ic2VydmFibGU8Q29ubmVjdGlvblN0YXRlPiB7XG4gICAgcmV0dXJuIHJlcG9ydFN0YXRlXG4gICAgICA/IHRoaXMuc3RhdGVDaGFuZ2VFdmVudEVtaXR0ZXIucGlwZShcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgICAgICBzdGFydFdpdGgodGhpcy5zdGF0ZSlcbiAgICAgICAgKVxuICAgICAgOiB0aGlzLnN0YXRlQ2hhbmdlRXZlbnRFbWl0dGVyLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './network.service';
|
|
2
|
+
export * from './network.interfaces';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbmV0d29yay9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25ldHdvcmsuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25ldHdvcmsuaW50ZXJmYWNlcyc7XG4iXX0=
|
package/esm2022/public_api.mjs
CHANGED
|
@@ -2,30 +2,6 @@
|
|
|
2
2
|
* Public API Surface of core
|
|
3
3
|
*/
|
|
4
4
|
export * from './lib/core.module';
|
|
5
|
-
|
|
6
|
-
export * from '
|
|
7
|
-
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGtCQUFrQjtBQUNsQix1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNvcmVcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlLm1vZHVsZSc7XG5cbi8qKiBAZGVwcmVjYXRlZCAqL1xuLy8gZXhwb3J0ICogZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG4iXX0=
|