@eui/core 15.4.0 → 15.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/LICENSE +296 -296
  2. package/README.md +26 -26
  3. package/assets/i18n-eui/bg.json +114 -114
  4. package/assets/i18n-eui/cs.json +114 -114
  5. package/assets/i18n-eui/da.json +114 -114
  6. package/assets/i18n-eui/de.json +114 -114
  7. package/assets/i18n-eui/el.json +114 -114
  8. package/assets/i18n-eui/en.json +113 -113
  9. package/assets/i18n-eui/es.json +114 -114
  10. package/assets/i18n-eui/et.json +114 -114
  11. package/assets/i18n-eui/fi.json +114 -114
  12. package/assets/i18n-eui/fr.json +114 -114
  13. package/assets/i18n-eui/ga.json +114 -114
  14. package/assets/i18n-eui/hr.json +114 -114
  15. package/assets/i18n-eui/hu.json +114 -114
  16. package/assets/i18n-eui/it.json +114 -114
  17. package/assets/i18n-eui/lt.json +114 -114
  18. package/assets/i18n-eui/lv.json +114 -114
  19. package/assets/i18n-eui/mt.json +114 -114
  20. package/assets/i18n-eui/nl.json +114 -114
  21. package/assets/i18n-eui/pl.json +114 -114
  22. package/assets/i18n-eui/pt.json +114 -114
  23. package/assets/i18n-eui/ro.json +114 -114
  24. package/assets/i18n-eui/sk.json +114 -114
  25. package/assets/i18n-eui/sl.json +114 -114
  26. package/assets/i18n-eui/sv.json +114 -114
  27. package/docs/classes/RouterMock.html +5 -5
  28. package/docs/dependencies.html +95 -7
  29. package/docs/index.html +36 -59
  30. package/docs/injectables/CoreAppEffects.html +51 -51
  31. package/docs/js/menu-wc.js +12 -7
  32. package/docs/js/menu-wc_es5.js +1 -1
  33. package/docs/js/search/search_index.js +2 -2
  34. package/docs/miscellaneous/variables.html +1211 -1211
  35. package/docs/overview.html +171 -0
  36. package/esm2020/eui-core.mjs +4 -4
  37. package/esm2020/index.mjs +13 -13
  38. package/esm2020/lib/eui-core.module.mjs +78 -78
  39. package/esm2020/lib/helpers/date-helpers.mjs +3 -3
  40. package/esm2020/lib/helpers/dom-helpers.mjs +87 -87
  41. package/esm2020/lib/helpers/event-helpers.mjs +9 -9
  42. package/esm2020/lib/helpers/form-helpers.mjs +42 -42
  43. package/esm2020/lib/helpers/format-helpers.mjs +66 -66
  44. package/esm2020/lib/helpers/http-helpers.mjs +7 -7
  45. package/esm2020/lib/helpers/index.mjs +8 -8
  46. package/esm2020/lib/helpers/utils.mjs +7 -7
  47. package/esm2020/lib/interceptors/add-lang-param.interceptor.mjs +35 -35
  48. package/esm2020/lib/interceptors/cache-prevention.interceptor.mjs +21 -21
  49. package/esm2020/lib/interceptors/cors-security.interceptor.mjs +15 -15
  50. package/esm2020/lib/interceptors/csrf-prevention.interceptor.mjs +15 -15
  51. package/esm2020/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +72 -72
  52. package/esm2020/lib/interceptors/index.mjs +8 -8
  53. package/esm2020/lib/interceptors/openid/index.mjs +4 -4
  54. package/esm2020/lib/interceptors/openid/openid-connect.interceptor.mjs +149 -149
  55. package/esm2020/lib/interceptors/openid/openid-connect.service.mjs +56 -56
  56. package/esm2020/lib/interceptors/openid/openid-connect.service.mock.mjs +8 -8
  57. package/esm2020/lib/interceptors/ux-request-error-model.interceptor.mjs +31 -31
  58. package/esm2020/lib/services/app/eui-init-app.mjs +29 -29
  59. package/esm2020/lib/services/app/eui-pre-init-app.mjs +43 -43
  60. package/esm2020/lib/services/app/eui-startup.mjs +40 -40
  61. package/esm2020/lib/services/app/factories/log.mjs +55 -55
  62. package/esm2020/lib/services/app/index.mjs +2 -2
  63. package/esm2020/lib/services/config/defaults.mjs +68 -68
  64. package/esm2020/lib/services/config/tokens.mjs +74 -74
  65. package/esm2020/lib/services/errors/eui.error.mjs +38 -38
  66. package/esm2020/lib/services/errors/global-error-handler.mjs +24 -24
  67. package/esm2020/lib/services/errors/http-error-handler-callback-functions.mjs +17 -17
  68. package/esm2020/lib/services/errors/http-error-handler.interceptor.mjs +55 -55
  69. package/esm2020/lib/services/errors/index.mjs +5 -5
  70. package/esm2020/lib/services/i18n/i18n.loader.mjs +198 -198
  71. package/esm2020/lib/services/i18n/i18n.resource.mjs +43 -43
  72. package/esm2020/lib/services/i18n/i18n.service.mjs +228 -228
  73. package/esm2020/lib/services/i18n/i18n.service.mock.mjs +38 -38
  74. package/esm2020/lib/services/i18n/index.mjs +6 -6
  75. package/esm2020/lib/services/index.mjs +19 -19
  76. package/esm2020/lib/services/locale/index.mjs +3 -3
  77. package/esm2020/lib/services/locale/locale.service.mjs +232 -232
  78. package/esm2020/lib/services/locale/locale.service.mock.mjs +43 -43
  79. package/esm2020/lib/services/log/index.mjs +4 -4
  80. package/esm2020/lib/services/log/log.module.mjs +38 -38
  81. package/esm2020/lib/services/log/log.service.mjs +51 -51
  82. package/esm2020/lib/services/log/log.service.mock.mjs +7 -7
  83. package/esm2020/lib/services/permission/permission.service.mjs +110 -110
  84. package/esm2020/lib/services/queue/api-queue.service.mjs +137 -137
  85. package/esm2020/lib/services/queue/api-queue.service.mock.mjs +23 -23
  86. package/esm2020/lib/services/queue/index.mjs +3 -3
  87. package/esm2020/lib/services/storage/async-storage.service.mjs +17 -17
  88. package/esm2020/lib/services/storage/async-storage.service.mock.mjs +22 -22
  89. package/esm2020/lib/services/storage/index.mjs +8 -8
  90. package/esm2020/lib/services/storage/local-forage.service.mjs +93 -93
  91. package/esm2020/lib/services/storage/local-storage.service.mjs +75 -75
  92. package/esm2020/lib/services/storage/session-storage.service.mjs +75 -75
  93. package/esm2020/lib/services/storage/storage.service.mjs +6 -6
  94. package/esm2020/lib/services/storage/storage.service.mock.mjs +12 -12
  95. package/esm2020/lib/services/store/actions/app.actions.mjs +74 -74
  96. package/esm2020/lib/services/store/actions/i18n.actions.mjs +11 -11
  97. package/esm2020/lib/services/store/actions/index.mjs +6 -6
  98. package/esm2020/lib/services/store/actions/locale.actions.mjs +11 -11
  99. package/esm2020/lib/services/store/actions/notifications.actions.mjs +11 -11
  100. package/esm2020/lib/services/store/actions/user.actions.mjs +39 -39
  101. package/esm2020/lib/services/store/effects/app.effects.mjs +55 -55
  102. package/esm2020/lib/services/store/effects/index.mjs +4 -4
  103. package/esm2020/lib/services/store/index.mjs +6 -6
  104. package/esm2020/lib/services/store/reducers/app.reducers.mjs +56 -56
  105. package/esm2020/lib/services/store/reducers/core.reducers.mjs +13 -13
  106. package/esm2020/lib/services/store/reducers/i18n.reducers.mjs +16 -16
  107. package/esm2020/lib/services/store/reducers/index.mjs +8 -8
  108. package/esm2020/lib/services/store/reducers/locale.reducers.mjs +16 -16
  109. package/esm2020/lib/services/store/reducers/meta.reducers.mjs +89 -89
  110. package/esm2020/lib/services/store/reducers/notifications.reducers.mjs +13 -13
  111. package/esm2020/lib/services/store/reducers/user.reducers.mjs +43 -43
  112. package/esm2020/lib/services/store/store.service.mjs +112 -112
  113. package/esm2020/lib/services/store/store.service.mock.mjs +22 -22
  114. package/esm2020/lib/services/user/index.mjs +3 -3
  115. package/esm2020/lib/services/user/user.service.mjs +64 -64
  116. package/esm2020/lib/services/user/user.service.mock.mjs +32 -32
  117. package/esm2020/lib/services/ux-app-shell.service.mjs +690 -690
  118. package/esm2020/lib/services/ux-dynamic-component/ux-dynamic-component.service.mjs +63 -63
  119. package/esm2020/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs +66 -66
  120. package/esm2020/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +99 -99
  121. package/esm2020/lib/services/ux-error-feedback/ux-error-handler.operator.mjs +16 -16
  122. package/esm2020/lib/services/ux-timezone.service.mjs +716 -716
  123. package/fesm2015/eui-core.mjs +4484 -4484
  124. package/fesm2015/eui-core.mjs.map +1 -1
  125. package/fesm2020/eui-core.mjs +4538 -4538
  126. package/fesm2020/eui-core.mjs.map +1 -1
  127. package/index.d.ts +5 -5
  128. package/lib/eui-core.module.d.ts +20 -20
  129. package/lib/helpers/date-helpers.d.ts +2 -2
  130. package/lib/helpers/dom-helpers.d.ts +26 -26
  131. package/lib/helpers/event-helpers.d.ts +1 -1
  132. package/lib/helpers/form-helpers.d.ts +10 -10
  133. package/lib/helpers/format-helpers.d.ts +12 -12
  134. package/lib/helpers/http-helpers.d.ts +2 -2
  135. package/lib/helpers/index.d.ts +7 -7
  136. package/lib/helpers/utils.d.ts +6 -6
  137. package/lib/interceptors/add-lang-param.interceptor.d.ts +16 -16
  138. package/lib/interceptors/cache-prevention.interceptor.d.ts +8 -8
  139. package/lib/interceptors/cors-security.interceptor.d.ts +8 -8
  140. package/lib/interceptors/csrf-prevention.interceptor.d.ts +8 -8
  141. package/lib/interceptors/eu-login-session-timeout-handling.interceptor.d.ts +12 -12
  142. package/lib/interceptors/index.d.ts +7 -7
  143. package/lib/interceptors/openid/index.d.ts +3 -3
  144. package/lib/interceptors/openid/openid-connect.interceptor.d.ts +14 -14
  145. package/lib/interceptors/openid/openid-connect.service.d.ts +17 -17
  146. package/lib/interceptors/openid/openid-connect.service.mock.d.ts +5 -5
  147. package/lib/interceptors/ux-request-error-model.interceptor.d.ts +13 -13
  148. package/lib/services/app/eui-init-app.d.ts +2 -2
  149. package/lib/services/app/eui-pre-init-app.d.ts +16 -16
  150. package/lib/services/app/eui-startup.d.ts +4 -4
  151. package/lib/services/app/factories/log.d.ts +25 -25
  152. package/lib/services/app/index.d.ts +1 -1
  153. package/lib/services/config/defaults.d.ts +11 -11
  154. package/lib/services/config/tokens.d.ts +19 -19
  155. package/lib/services/errors/eui.error.d.ts +15 -15
  156. package/lib/services/errors/global-error-handler.d.ts +10 -10
  157. package/lib/services/errors/http-error-handler-callback-functions.d.ts +6 -6
  158. package/lib/services/errors/http-error-handler.interceptor.d.ts +22 -22
  159. package/lib/services/errors/index.d.ts +4 -4
  160. package/lib/services/i18n/i18n.loader.d.ts +79 -79
  161. package/lib/services/i18n/i18n.resource.d.ts +35 -35
  162. package/lib/services/i18n/i18n.service.d.ts +73 -73
  163. package/lib/services/i18n/i18n.service.mock.d.ts +19 -19
  164. package/lib/services/i18n/index.d.ts +4 -4
  165. package/lib/services/index.d.ts +18 -18
  166. package/lib/services/locale/index.d.ts +2 -2
  167. package/lib/services/locale/locale.service.d.ts +68 -68
  168. package/lib/services/locale/locale.service.mock.d.ts +15 -15
  169. package/lib/services/log/index.d.ts +3 -3
  170. package/lib/services/log/log.module.d.ts +15 -15
  171. package/lib/services/log/log.service.d.ts +27 -27
  172. package/lib/services/log/log.service.mock.d.ts +4 -4
  173. package/lib/services/permission/permission.service.d.ts +52 -52
  174. package/lib/services/queue/api-queue.service.d.ts +76 -76
  175. package/lib/services/queue/api-queue.service.mock.d.ts +13 -13
  176. package/lib/services/queue/index.d.ts +2 -2
  177. package/lib/services/storage/async-storage.service.d.ts +44 -44
  178. package/lib/services/storage/async-storage.service.mock.d.ts +11 -11
  179. package/lib/services/storage/index.d.ts +7 -7
  180. package/lib/services/storage/local-forage.service.d.ts +48 -48
  181. package/lib/services/storage/local-storage.service.d.ts +34 -34
  182. package/lib/services/storage/session-storage.service.d.ts +34 -34
  183. package/lib/services/storage/storage.service.d.ts +28 -28
  184. package/lib/services/storage/storage.service.mock.d.ts +7 -7
  185. package/lib/services/store/actions/app.actions.d.ts +82 -82
  186. package/lib/services/store/actions/i18n.actions.d.ts +11 -11
  187. package/lib/services/store/actions/index.d.ts +5 -5
  188. package/lib/services/store/actions/locale.actions.d.ts +11 -11
  189. package/lib/services/store/actions/notifications.actions.d.ts +10 -10
  190. package/lib/services/store/actions/user.actions.d.ts +35 -35
  191. package/lib/services/store/effects/app.effects.d.ts +19 -19
  192. package/lib/services/store/effects/index.d.ts +3 -3
  193. package/lib/services/store/index.d.ts +5 -5
  194. package/lib/services/store/reducers/app.reducers.d.ts +3 -3
  195. package/lib/services/store/reducers/core.reducers.d.ts +3 -3
  196. package/lib/services/store/reducers/i18n.reducers.d.ts +3 -3
  197. package/lib/services/store/reducers/index.d.ts +7 -7
  198. package/lib/services/store/reducers/locale.reducers.d.ts +3 -3
  199. package/lib/services/store/reducers/meta.reducers.d.ts +17 -17
  200. package/lib/services/store/reducers/notifications.reducers.d.ts +3 -3
  201. package/lib/services/store/reducers/user.reducers.d.ts +3 -3
  202. package/lib/services/store/store.service.d.ts +43 -43
  203. package/lib/services/store/store.service.mock.d.ts +12 -12
  204. package/lib/services/user/index.d.ts +2 -2
  205. package/lib/services/user/user.service.d.ts +15 -15
  206. package/lib/services/user/user.service.mock.d.ts +16 -16
  207. package/lib/services/ux-app-shell.service.d.ts +155 -155
  208. package/lib/services/ux-dynamic-component/ux-dynamic-component.service.d.ts +36 -36
  209. package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts +14 -14
  210. package/lib/services/ux-error-feedback/ux-error-feedback.service.d.ts +35 -35
  211. package/lib/services/ux-error-feedback/ux-error-handler.operator.d.ts +3 -3
  212. package/lib/services/ux-timezone.service.d.ts +269 -269
  213. package/package.json +2 -2
@@ -1,42 +1,42 @@
1
- import { FormArray, FormGroup } from '@angular/forms';
2
- const forOwn = (object, iteratee) => {
3
- object = Object(object);
4
- Object.keys(object).forEach((key) => iteratee(object[key], key, object));
5
- };
6
- export const markFormGroupTouched = (FormControls) => {
7
- const markFormGroupTouchedRecursive = (controls) => {
8
- forOwn(controls, (c) => {
9
- if (c instanceof FormGroup || c instanceof FormArray) {
10
- markFormGroupTouchedRecursive(c.controls);
11
- }
12
- else {
13
- c.markAsTouched();
14
- c.updateValueAndValidity();
15
- }
16
- });
17
- };
18
- markFormGroupTouchedRecursive(FormControls);
19
- };
20
- export const markControlsTouched = (group) => {
21
- Object.keys(group.controls).forEach((key) => {
22
- const abstractControl = group.controls[key];
23
- if (abstractControl instanceof FormGroup || abstractControl instanceof FormArray) {
24
- markControlsTouched(abstractControl);
25
- }
26
- else {
27
- abstractControl.markAsTouched();
28
- }
29
- });
30
- };
31
- export const validateEmail = (c) => {
32
- const EMAIL_REGEXP =
33
- // eslint-disable-next-line max-len, no-useless-escape
34
- /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
35
- const error = {
36
- validateEmail: {
37
- valid: false,
38
- },
39
- };
40
- return EMAIL_REGEXP.test(c.value) ? null : error;
41
- };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwZXJzL2Zvcm0taGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBZSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRixNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsWUFBb0UsRUFBUSxFQUFFO0lBQy9HLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxRQUFnRSxFQUFRLEVBQUU7UUFDN0csTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLFNBQVMsSUFBSSxDQUFDLFlBQVksU0FBUyxFQUFFO2dCQUNsRCw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDN0M7aUJBQU07Z0JBQ0gsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixDQUFDLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzthQUM5QjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0lBQ0YsNkJBQTZCLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUE0QixFQUFRLEVBQUU7SUFDdEUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7UUFDaEQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFJLGVBQWUsWUFBWSxTQUFTLElBQUksZUFBZSxZQUFZLFNBQVMsRUFBRTtZQUM5RSxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0gsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ25DO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFjLEVBQUUsRUFBRTtJQUM1QyxNQUFNLFlBQVk7SUFDZCxzREFBc0Q7SUFDdEQsd0pBQXdKLENBQUM7SUFFN0osTUFBTSxLQUFLLEdBQUc7UUFDVixhQUFhLEVBQUU7WUFDWCxLQUFLLEVBQUUsS0FBSztTQUNmO0tBQ0osQ0FBQztJQUNGLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3JELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5jb25zdCBmb3JPd24gPSAob2JqZWN0LCBpdGVyYXRlZSkgPT4ge1xuICAgIG9iamVjdCA9IE9iamVjdChvYmplY3QpO1xuICAgIE9iamVjdC5rZXlzKG9iamVjdCkuZm9yRWFjaCgoa2V5KSA9PiBpdGVyYXRlZShvYmplY3Rba2V5XSwga2V5LCBvYmplY3QpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrRm9ybUdyb3VwVG91Y2hlZCA9IChGb3JtQ29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0gfCBBYnN0cmFjdENvbnRyb2xbXSk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IG1hcmtGb3JtR3JvdXBUb3VjaGVkUmVjdXJzaXZlID0gKGNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbCB9IHwgQWJzdHJhY3RDb250cm9sW10pOiB2b2lkID0+IHtcbiAgICAgICAgZm9yT3duKGNvbnRyb2xzLCAoYykgPT4ge1xuICAgICAgICAgICAgaWYgKGMgaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgYyBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgICAgICAgICAgIG1hcmtGb3JtR3JvdXBUb3VjaGVkUmVjdXJzaXZlKGMuY29udHJvbHMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgICAgICAgICBjLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBtYXJrRm9ybUdyb3VwVG91Y2hlZFJlY3Vyc2l2ZShGb3JtQ29udHJvbHMpO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtDb250cm9sc1RvdWNoZWQgPSAoZ3JvdXA6IEZvcm1Hcm91cCB8IEZvcm1BcnJheSk6IHZvaWQgPT4ge1xuICAgIE9iamVjdC5rZXlzKGdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBhYnN0cmFjdENvbnRyb2wgPSBncm91cC5jb250cm9sc1trZXldO1xuICAgICAgICBpZiAoYWJzdHJhY3RDb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwIHx8IGFic3RyYWN0Q29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgICAgICAgbWFya0NvbnRyb2xzVG91Y2hlZChhYnN0cmFjdENvbnRyb2wpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWJzdHJhY3RDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlRW1haWwgPSAoYzogRm9ybUNvbnRyb2wpID0+IHtcbiAgICBjb25zdCBFTUFJTF9SRUdFWFAgPVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlbiwgbm8tdXNlbGVzcy1lc2NhcGVcbiAgICAgICAgL14oKFtePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC87XG5cbiAgICBjb25zdCBlcnJvciA9IHtcbiAgICAgICAgdmFsaWRhdGVFbWFpbDoge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgIH07XG4gICAgcmV0dXJuIEVNQUlMX1JFR0VYUC50ZXN0KGMudmFsdWUpID8gbnVsbCA6IGVycm9yO1xufTtcbiJdfQ==
1
+ import { FormArray, FormGroup } from '@angular/forms';
2
+ const forOwn = (object, iteratee) => {
3
+ object = Object(object);
4
+ Object.keys(object).forEach((key) => iteratee(object[key], key, object));
5
+ };
6
+ export const markFormGroupTouched = (FormControls) => {
7
+ const markFormGroupTouchedRecursive = (controls) => {
8
+ forOwn(controls, (c) => {
9
+ if (c instanceof FormGroup || c instanceof FormArray) {
10
+ markFormGroupTouchedRecursive(c.controls);
11
+ }
12
+ else {
13
+ c.markAsTouched();
14
+ c.updateValueAndValidity();
15
+ }
16
+ });
17
+ };
18
+ markFormGroupTouchedRecursive(FormControls);
19
+ };
20
+ export const markControlsTouched = (group) => {
21
+ Object.keys(group.controls).forEach((key) => {
22
+ const abstractControl = group.controls[key];
23
+ if (abstractControl instanceof FormGroup || abstractControl instanceof FormArray) {
24
+ markControlsTouched(abstractControl);
25
+ }
26
+ else {
27
+ abstractControl.markAsTouched();
28
+ }
29
+ });
30
+ };
31
+ export const validateEmail = (c) => {
32
+ const EMAIL_REGEXP =
33
+ // eslint-disable-next-line max-len, no-useless-escape
34
+ /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
35
+ const error = {
36
+ validateEmail: {
37
+ valid: false,
38
+ },
39
+ };
40
+ return EMAIL_REGEXP.test(c.value) ? null : error;
41
+ };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwZXJzL2Zvcm0taGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBZSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRixNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsWUFBb0UsRUFBUSxFQUFFO0lBQy9HLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxRQUFnRSxFQUFRLEVBQUU7UUFDN0csTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLFNBQVMsSUFBSSxDQUFDLFlBQVksU0FBUyxFQUFFO2dCQUNsRCw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDN0M7aUJBQU07Z0JBQ0gsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixDQUFDLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzthQUM5QjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0lBQ0YsNkJBQTZCLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUE0QixFQUFRLEVBQUU7SUFDdEUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7UUFDaEQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFJLGVBQWUsWUFBWSxTQUFTLElBQUksZUFBZSxZQUFZLFNBQVMsRUFBRTtZQUM5RSxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0gsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ25DO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFjLEVBQUUsRUFBRTtJQUM1QyxNQUFNLFlBQVk7SUFDZCxzREFBc0Q7SUFDdEQsd0pBQXdKLENBQUM7SUFFN0osTUFBTSxLQUFLLEdBQUc7UUFDVixhQUFhLEVBQUU7WUFDWCxLQUFLLEVBQUUsS0FBSztTQUNmO0tBQ0osQ0FBQztJQUNGLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3JELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuY29uc3QgZm9yT3duID0gKG9iamVjdCwgaXRlcmF0ZWUpID0+IHtcclxuICAgIG9iamVjdCA9IE9iamVjdChvYmplY3QpO1xyXG4gICAgT2JqZWN0LmtleXMob2JqZWN0KS5mb3JFYWNoKChrZXkpID0+IGl0ZXJhdGVlKG9iamVjdFtrZXldLCBrZXksIG9iamVjdCkpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IG1hcmtGb3JtR3JvdXBUb3VjaGVkID0gKEZvcm1Db250cm9sczogeyBba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2wgfSB8IEFic3RyYWN0Q29udHJvbFtdKTogdm9pZCA9PiB7XHJcbiAgICBjb25zdCBtYXJrRm9ybUdyb3VwVG91Y2hlZFJlY3Vyc2l2ZSA9IChjb250cm9sczogeyBba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2wgfSB8IEFic3RyYWN0Q29udHJvbFtdKTogdm9pZCA9PiB7XHJcbiAgICAgICAgZm9yT3duKGNvbnRyb2xzLCAoYykgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYyBpbnN0YW5jZW9mIEZvcm1Hcm91cCB8fCBjIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICBtYXJrRm9ybUdyb3VwVG91Y2hlZFJlY3Vyc2l2ZShjLmNvbnRyb2xzKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGMubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICAgICAgYy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH07XHJcbiAgICBtYXJrRm9ybUdyb3VwVG91Y2hlZFJlY3Vyc2l2ZShGb3JtQ29udHJvbHMpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IG1hcmtDb250cm9sc1RvdWNoZWQgPSAoZ3JvdXA6IEZvcm1Hcm91cCB8IEZvcm1BcnJheSk6IHZvaWQgPT4ge1xyXG4gICAgT2JqZWN0LmtleXMoZ3JvdXAuY29udHJvbHMpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYWJzdHJhY3RDb250cm9sID0gZ3JvdXAuY29udHJvbHNba2V5XTtcclxuICAgICAgICBpZiAoYWJzdHJhY3RDb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwIHx8IGFic3RyYWN0Q29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICBtYXJrQ29udHJvbHNUb3VjaGVkKGFic3RyYWN0Q29udHJvbCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgYWJzdHJhY3RDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUVtYWlsID0gKGM6IEZvcm1Db250cm9sKSA9PiB7XHJcbiAgICBjb25zdCBFTUFJTF9SRUdFWFAgPVxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuLCBuby11c2VsZXNzLWVzY2FwZVxyXG4gICAgICAgIC9eKChbXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvO1xyXG5cclxuICAgIGNvbnN0IGVycm9yID0ge1xyXG4gICAgICAgIHZhbGlkYXRlRW1haWw6IHtcclxuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIEVNQUlMX1JFR0VYUC50ZXN0KGMudmFsdWUpID8gbnVsbCA6IGVycm9yO1xyXG59O1xyXG4iXX0=
@@ -1,66 +1,66 @@
1
- /**
2
- * returns a random string with radix=36
3
- */
4
- export const uniqueId = () => Math.random().toString(36).substr(2, 9);
5
- /**
6
- * Its job is to parse number and format it based on given input.
7
- * @param value can be a number or a string number
8
- * @param fractionSize size of fraction of a number e.g. 1000.88 fraction is 2 (88) default is 2
9
- * @param inDecimalSeparator separator for decimal part of the number default is ','
10
- * @param inThousandSeparator separator for the whole part of the number default is ''
11
- */
12
- export const formatNumber = (value, fractionSize = 2, inDecimalSeparator = ',', inThousandSeparator = '') => {
13
- if (inDecimalSeparator || inThousandSeparator) {
14
- console.warn('The inDecimalSeparator and inThousandSeparator are deprecated. They will be a ' +
15
- 'BREAKING CHANGE for eUI 9 and be replaced by localization strategy.');
16
- }
17
- let decimalSeparator = '';
18
- let thousandsSeparator = '';
19
- if (value === null || value === undefined) {
20
- return null;
21
- }
22
- if (typeof value === 'string') {
23
- // get all non characters
24
- let nonChars = value.match(/[^0-9]+/g) || [];
25
- // get all unique chars
26
- let uniqueChars = nonChars.reduce((acc, e) => acc.set(e, (acc.get(e) || 0) + 1), new Map());
27
- // get separators
28
- let separators = Array.from(uniqueChars.keys());
29
- // sense where decimal separator and where thousand separator is
30
- if (separators.length > 1) {
31
- // left detected separator will be thousand and second will be decimal
32
- thousandsSeparator = separators[0];
33
- decimalSeparator = separators[1];
34
- }
35
- else if (separators.length > 0) {
36
- // in case there is only one separator you don't know exactly who this separator is.
37
- // in case there are more than two occurrences means we have a thousand otherwise we'll
38
- // agree by conventions that is decimal
39
- if (nonChars.length > 1) {
40
- return value
41
- .split(separators[0])
42
- .join('')
43
- .replace(/\B(?=(\d{3})+(?!\d))/g, inThousandSeparator);
44
- }
45
- else {
46
- return value.replace(separators[0], inDecimalSeparator).replace(/\B(?=(\d{3})+(?!\d))/g, inThousandSeparator);
47
- }
48
- }
49
- else {
50
- // in case there are no separators then only format based on thousand one
51
- return value.replace(/\B(?=(\d{3})+(?!\d))/g, inThousandSeparator);
52
- }
53
- // do the replacement of separators and parseInt
54
- // Beware! Always replace thousand separator first and then decimal
55
- value = value.split(thousandsSeparator).join('').replace(decimalSeparator, '.');
56
- }
57
- decimalSeparator = inDecimalSeparator;
58
- thousandsSeparator = inThousandSeparator;
59
- const maxFraction = '0'.repeat(fractionSize);
60
- let [integer, fraction = maxFraction] = (value || '0').toString().split('.');
61
- fraction = fractionSize > 0 ? (fraction + maxFraction).substring(0, fractionSize) : '';
62
- // this rule makes sense only in number in case fraction is all zero
63
- fraction = typeof value === 'number' && fraction === maxFraction ? '' : decimalSeparator + fraction;
64
- return integer.replace(/\B(?=(\d{3})+(?!\d))/g, thousandsSeparator) + fraction;
65
- };
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2hlbHBlcnMvZm9ybWF0LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTlFOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUN4QixLQUFzQixFQUN0QixlQUF1QixDQUFDLEVBQ3hCLHFCQUE2QixHQUFHLEVBQ2hDLHNCQUE4QixFQUFFLEVBQzFCLEVBQUU7SUFDUixJQUFJLGtCQUFrQixJQUFJLG1CQUFtQixFQUFFO1FBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQ1IsZ0ZBQWdGO1lBQzVFLHFFQUFxRSxDQUM1RSxDQUFDO0tBQ0w7SUFFRCxJQUFJLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUMxQixJQUFJLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUU1QixJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtRQUN2QyxPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDM0IseUJBQXlCO1FBQ3pCLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTdDLHVCQUF1QjtRQUN2QixJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUU1RixpQkFBaUI7UUFDakIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBUyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV4RCxnRUFBZ0U7UUFDaEUsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QixzRUFBc0U7WUFDdEUsa0JBQWtCLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwQzthQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDOUIsb0ZBQW9GO1lBQ3BGLHVGQUF1RjtZQUN2Rix1Q0FBdUM7WUFDdkMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDckIsT0FBTyxLQUFLO3FCQUNQLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUM7cUJBQ1IsT0FBTyxDQUFDLHVCQUF1QixFQUFFLG1CQUFtQixDQUFDLENBQUM7YUFDOUQ7aUJBQU07Z0JBQ0gsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO2FBQ2pIO1NBQ0o7YUFBTTtZQUNILHlFQUF5RTtZQUN6RSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztTQUN0RTtRQUVELGdEQUFnRDtRQUNoRCxtRUFBbUU7UUFDbkUsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ25GO0lBRUQsZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUM7SUFDdEMsa0JBQWtCLEdBQUcsbUJBQW1CLENBQUM7SUFFekMsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUU3QyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0UsUUFBUSxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUV2RixvRUFBb0U7SUFDcEUsUUFBUSxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztJQUVwRyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxRQUFRLENBQUM7QUFDbkYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiByZXR1cm5zIGEgcmFuZG9tIHN0cmluZyB3aXRoIHJhZGl4PTM2XG4gKi9cbmV4cG9ydCBjb25zdCB1bmlxdWVJZCA9ICgpOiBzdHJpbmcgPT4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpO1xuXG4vKipcbiAqIEl0cyBqb2IgaXMgdG8gcGFyc2UgbnVtYmVyIGFuZCBmb3JtYXQgaXQgYmFzZWQgb24gZ2l2ZW4gaW5wdXQuXG4gKiBAcGFyYW0gdmFsdWUgY2FuIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nIG51bWJlclxuICogQHBhcmFtIGZyYWN0aW9uU2l6ZSBzaXplIG9mIGZyYWN0aW9uIG9mIGEgbnVtYmVyIGUuZy4gMTAwMC44OCBmcmFjdGlvbiBpcyAyICg4OCkgIGRlZmF1bHQgaXMgMlxuICogQHBhcmFtIGluRGVjaW1hbFNlcGFyYXRvciBzZXBhcmF0b3IgZm9yIGRlY2ltYWwgcGFydCBvZiB0aGUgbnVtYmVyIGRlZmF1bHQgaXMgJywnXG4gKiBAcGFyYW0gaW5UaG91c2FuZFNlcGFyYXRvciBzZXBhcmF0b3IgZm9yIHRoZSB3aG9sZSBwYXJ0IG9mIHRoZSBudW1iZXIgZGVmYXVsdCBpcyAnJ1xuICovXG5leHBvcnQgY29uc3QgZm9ybWF0TnVtYmVyID0gKFxuICAgIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsXG4gICAgZnJhY3Rpb25TaXplOiBudW1iZXIgPSAyLFxuICAgIGluRGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nID0gJywnLFxuICAgIGluVGhvdXNhbmRTZXBhcmF0b3I6IHN0cmluZyA9ICcnXG4pOiBzdHJpbmcgPT4ge1xuICAgIGlmIChpbkRlY2ltYWxTZXBhcmF0b3IgfHwgaW5UaG91c2FuZFNlcGFyYXRvcikge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAnVGhlIGluRGVjaW1hbFNlcGFyYXRvciBhbmQgaW5UaG91c2FuZFNlcGFyYXRvciBhcmUgZGVwcmVjYXRlZC4gVGhleSB3aWxsIGJlIGEgJyArXG4gICAgICAgICAgICAgICAgJ0JSRUFLSU5HIENIQU5HRSBmb3IgZVVJIDkgYW5kIGJlIHJlcGxhY2VkIGJ5IGxvY2FsaXphdGlvbiBzdHJhdGVneS4nXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGRlY2ltYWxTZXBhcmF0b3IgPSAnJztcbiAgICBsZXQgdGhvdXNhbmRzU2VwYXJhdG9yID0gJyc7XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAvLyBnZXQgYWxsIG5vbiBjaGFyYWN0ZXJzXG4gICAgICAgIGxldCBub25DaGFycyA9IHZhbHVlLm1hdGNoKC9bXjAtOV0rL2cpIHx8IFtdO1xuXG4gICAgICAgIC8vIGdldCBhbGwgdW5pcXVlIGNoYXJzXG4gICAgICAgIGxldCB1bmlxdWVDaGFycyA9IG5vbkNoYXJzLnJlZHVjZSgoYWNjLCBlKSA9PiBhY2Muc2V0KGUsIChhY2MuZ2V0KGUpIHx8IDApICsgMSksIG5ldyBNYXAoKSk7XG5cbiAgICAgICAgLy8gZ2V0IHNlcGFyYXRvcnNcbiAgICAgICAgbGV0IHNlcGFyYXRvcnMgPSBBcnJheS5mcm9tPHN0cmluZz4odW5pcXVlQ2hhcnMua2V5cygpKTtcblxuICAgICAgICAvLyBzZW5zZSB3aGVyZSBkZWNpbWFsIHNlcGFyYXRvciBhbmQgd2hlcmUgdGhvdXNhbmQgc2VwYXJhdG9yIGlzXG4gICAgICAgIGlmIChzZXBhcmF0b3JzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIC8vIGxlZnQgZGV0ZWN0ZWQgc2VwYXJhdG9yIHdpbGwgYmUgdGhvdXNhbmQgYW5kIHNlY29uZCB3aWxsIGJlIGRlY2ltYWxcbiAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvciA9IHNlcGFyYXRvcnNbMF07XG4gICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yID0gc2VwYXJhdG9yc1sxXTtcbiAgICAgICAgfSBlbHNlIGlmIChzZXBhcmF0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIC8vIGluIGNhc2UgdGhlcmUgaXMgb25seSBvbmUgc2VwYXJhdG9yIHlvdSBkb24ndCBrbm93IGV4YWN0bHkgd2hvIHRoaXMgc2VwYXJhdG9yIGlzLlxuICAgICAgICAgICAgLy8gaW4gY2FzZSB0aGVyZSBhcmUgbW9yZSB0aGFuIHR3byBvY2N1cnJlbmNlcyBtZWFucyB3ZSBoYXZlIGEgdGhvdXNhbmQgb3RoZXJ3aXNlIHdlJ2xsXG4gICAgICAgICAgICAvLyBhZ3JlZSBieSBjb252ZW50aW9ucyB0aGF0IGlzIGRlY2ltYWxcbiAgICAgICAgICAgIGlmIChub25DaGFycy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdChzZXBhcmF0b3JzWzBdKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignJylcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIGluVGhvdXNhbmRTZXBhcmF0b3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZShzZXBhcmF0b3JzWzBdLCBpbkRlY2ltYWxTZXBhcmF0b3IpLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIGluVGhvdXNhbmRTZXBhcmF0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaW4gY2FzZSB0aGVyZSBhcmUgbm8gc2VwYXJhdG9ycyB0aGVuIG9ubHkgZm9ybWF0IGJhc2VkIG9uIHRob3VzYW5kIG9uZVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIGluVGhvdXNhbmRTZXBhcmF0b3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZG8gdGhlIHJlcGxhY2VtZW50IG9mIHNlcGFyYXRvcnMgYW5kIHBhcnNlSW50XG4gICAgICAgIC8vIEJld2FyZSEgQWx3YXlzIHJlcGxhY2UgdGhvdXNhbmQgc2VwYXJhdG9yIGZpcnN0IGFuZCB0aGVuIGRlY2ltYWxcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5zcGxpdCh0aG91c2FuZHNTZXBhcmF0b3IpLmpvaW4oJycpLnJlcGxhY2UoZGVjaW1hbFNlcGFyYXRvciwgJy4nKTtcbiAgICB9XG5cbiAgICBkZWNpbWFsU2VwYXJhdG9yID0gaW5EZWNpbWFsU2VwYXJhdG9yO1xuICAgIHRob3VzYW5kc1NlcGFyYXRvciA9IGluVGhvdXNhbmRTZXBhcmF0b3I7XG5cbiAgICBjb25zdCBtYXhGcmFjdGlvbiA9ICcwJy5yZXBlYXQoZnJhY3Rpb25TaXplKTtcblxuICAgIGxldCBbaW50ZWdlciwgZnJhY3Rpb24gPSBtYXhGcmFjdGlvbl0gPSAodmFsdWUgfHwgJzAnKS50b1N0cmluZygpLnNwbGl0KCcuJyk7XG4gICAgZnJhY3Rpb24gPSBmcmFjdGlvblNpemUgPiAwID8gKGZyYWN0aW9uICsgbWF4RnJhY3Rpb24pLnN1YnN0cmluZygwLCBmcmFjdGlvblNpemUpIDogJyc7XG5cbiAgICAvLyB0aGlzIHJ1bGUgbWFrZXMgc2Vuc2Ugb25seSBpbiBudW1iZXIgaW4gY2FzZSBmcmFjdGlvbiBpcyBhbGwgemVyb1xuICAgIGZyYWN0aW9uID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBmcmFjdGlvbiA9PT0gbWF4RnJhY3Rpb24gPyAnJyA6IGRlY2ltYWxTZXBhcmF0b3IgKyBmcmFjdGlvbjtcblxuICAgIHJldHVybiBpbnRlZ2VyLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRob3VzYW5kc1NlcGFyYXRvcikgKyBmcmFjdGlvbjtcbn07XG4iXX0=
1
+ /**
2
+ * returns a random string with radix=36
3
+ */
4
+ export const uniqueId = () => Math.random().toString(36).substr(2, 9);
5
+ /**
6
+ * Its job is to parse number and format it based on given input.
7
+ * @param value can be a number or a string number
8
+ * @param fractionSize size of fraction of a number e.g. 1000.88 fraction is 2 (88) default is 2
9
+ * @param inDecimalSeparator separator for decimal part of the number default is ','
10
+ * @param inThousandSeparator separator for the whole part of the number default is ''
11
+ */
12
+ export const formatNumber = (value, fractionSize = 2, inDecimalSeparator = ',', inThousandSeparator = '') => {
13
+ if (inDecimalSeparator || inThousandSeparator) {
14
+ console.warn('The inDecimalSeparator and inThousandSeparator are deprecated. They will be a ' +
15
+ 'BREAKING CHANGE for eUI 9 and be replaced by localization strategy.');
16
+ }
17
+ let decimalSeparator = '';
18
+ let thousandsSeparator = '';
19
+ if (value === null || value === undefined) {
20
+ return null;
21
+ }
22
+ if (typeof value === 'string') {
23
+ // get all non characters
24
+ let nonChars = value.match(/[^0-9]+/g) || [];
25
+ // get all unique chars
26
+ let uniqueChars = nonChars.reduce((acc, e) => acc.set(e, (acc.get(e) || 0) + 1), new Map());
27
+ // get separators
28
+ let separators = Array.from(uniqueChars.keys());
29
+ // sense where decimal separator and where thousand separator is
30
+ if (separators.length > 1) {
31
+ // left detected separator will be thousand and second will be decimal
32
+ thousandsSeparator = separators[0];
33
+ decimalSeparator = separators[1];
34
+ }
35
+ else if (separators.length > 0) {
36
+ // in case there is only one separator you don't know exactly who this separator is.
37
+ // in case there are more than two occurrences means we have a thousand otherwise we'll
38
+ // agree by conventions that is decimal
39
+ if (nonChars.length > 1) {
40
+ return value
41
+ .split(separators[0])
42
+ .join('')
43
+ .replace(/\B(?=(\d{3})+(?!\d))/g, inThousandSeparator);
44
+ }
45
+ else {
46
+ return value.replace(separators[0], inDecimalSeparator).replace(/\B(?=(\d{3})+(?!\d))/g, inThousandSeparator);
47
+ }
48
+ }
49
+ else {
50
+ // in case there are no separators then only format based on thousand one
51
+ return value.replace(/\B(?=(\d{3})+(?!\d))/g, inThousandSeparator);
52
+ }
53
+ // do the replacement of separators and parseInt
54
+ // Beware! Always replace thousand separator first and then decimal
55
+ value = value.split(thousandsSeparator).join('').replace(decimalSeparator, '.');
56
+ }
57
+ decimalSeparator = inDecimalSeparator;
58
+ thousandsSeparator = inThousandSeparator;
59
+ const maxFraction = '0'.repeat(fractionSize);
60
+ let [integer, fraction = maxFraction] = (value || '0').toString().split('.');
61
+ fraction = fractionSize > 0 ? (fraction + maxFraction).substring(0, fractionSize) : '';
62
+ // this rule makes sense only in number in case fraction is all zero
63
+ fraction = typeof value === 'number' && fraction === maxFraction ? '' : decimalSeparator + fraction;
64
+ return integer.replace(/\B(?=(\d{3})+(?!\d))/g, thousandsSeparator) + fraction;
65
+ };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2hlbHBlcnMvZm9ybWF0LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTlFOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUN4QixLQUFzQixFQUN0QixlQUF1QixDQUFDLEVBQ3hCLHFCQUE2QixHQUFHLEVBQ2hDLHNCQUE4QixFQUFFLEVBQzFCLEVBQUU7SUFDUixJQUFJLGtCQUFrQixJQUFJLG1CQUFtQixFQUFFO1FBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQ1IsZ0ZBQWdGO1lBQzVFLHFFQUFxRSxDQUM1RSxDQUFDO0tBQ0w7SUFFRCxJQUFJLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUMxQixJQUFJLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUU1QixJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtRQUN2QyxPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDM0IseUJBQXlCO1FBQ3pCLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTdDLHVCQUF1QjtRQUN2QixJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUU1RixpQkFBaUI7UUFDakIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBUyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV4RCxnRUFBZ0U7UUFDaEUsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QixzRUFBc0U7WUFDdEUsa0JBQWtCLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwQzthQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDOUIsb0ZBQW9GO1lBQ3BGLHVGQUF1RjtZQUN2Rix1Q0FBdUM7WUFDdkMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDckIsT0FBTyxLQUFLO3FCQUNQLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUM7cUJBQ1IsT0FBTyxDQUFDLHVCQUF1QixFQUFFLG1CQUFtQixDQUFDLENBQUM7YUFDOUQ7aUJBQU07Z0JBQ0gsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO2FBQ2pIO1NBQ0o7YUFBTTtZQUNILHlFQUF5RTtZQUN6RSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztTQUN0RTtRQUVELGdEQUFnRDtRQUNoRCxtRUFBbUU7UUFDbkUsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ25GO0lBRUQsZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUM7SUFDdEMsa0JBQWtCLEdBQUcsbUJBQW1CLENBQUM7SUFFekMsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUU3QyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0UsUUFBUSxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUV2RixvRUFBb0U7SUFDcEUsUUFBUSxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztJQUVwRyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxRQUFRLENBQUM7QUFDbkYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIHJldHVybnMgYSByYW5kb20gc3RyaW5nIHdpdGggcmFkaXg9MzZcclxuICovXHJcbmV4cG9ydCBjb25zdCB1bmlxdWVJZCA9ICgpOiBzdHJpbmcgPT4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpO1xyXG5cclxuLyoqXHJcbiAqIEl0cyBqb2IgaXMgdG8gcGFyc2UgbnVtYmVyIGFuZCBmb3JtYXQgaXQgYmFzZWQgb24gZ2l2ZW4gaW5wdXQuXHJcbiAqIEBwYXJhbSB2YWx1ZSBjYW4gYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcgbnVtYmVyXHJcbiAqIEBwYXJhbSBmcmFjdGlvblNpemUgc2l6ZSBvZiBmcmFjdGlvbiBvZiBhIG51bWJlciBlLmcuIDEwMDAuODggZnJhY3Rpb24gaXMgMiAoODgpICBkZWZhdWx0IGlzIDJcclxuICogQHBhcmFtIGluRGVjaW1hbFNlcGFyYXRvciBzZXBhcmF0b3IgZm9yIGRlY2ltYWwgcGFydCBvZiB0aGUgbnVtYmVyIGRlZmF1bHQgaXMgJywnXHJcbiAqIEBwYXJhbSBpblRob3VzYW5kU2VwYXJhdG9yIHNlcGFyYXRvciBmb3IgdGhlIHdob2xlIHBhcnQgb2YgdGhlIG51bWJlciBkZWZhdWx0IGlzICcnXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZm9ybWF0TnVtYmVyID0gKFxyXG4gICAgdmFsdWU6IG51bWJlciB8IHN0cmluZyxcclxuICAgIGZyYWN0aW9uU2l6ZTogbnVtYmVyID0gMixcclxuICAgIGluRGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nID0gJywnLFxyXG4gICAgaW5UaG91c2FuZFNlcGFyYXRvcjogc3RyaW5nID0gJydcclxuKTogc3RyaW5nID0+IHtcclxuICAgIGlmIChpbkRlY2ltYWxTZXBhcmF0b3IgfHwgaW5UaG91c2FuZFNlcGFyYXRvcikge1xyXG4gICAgICAgIGNvbnNvbGUud2FybihcclxuICAgICAgICAgICAgJ1RoZSBpbkRlY2ltYWxTZXBhcmF0b3IgYW5kIGluVGhvdXNhbmRTZXBhcmF0b3IgYXJlIGRlcHJlY2F0ZWQuIFRoZXkgd2lsbCBiZSBhICcgK1xyXG4gICAgICAgICAgICAgICAgJ0JSRUFLSU5HIENIQU5HRSBmb3IgZVVJIDkgYW5kIGJlIHJlcGxhY2VkIGJ5IGxvY2FsaXphdGlvbiBzdHJhdGVneS4nXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZGVjaW1hbFNlcGFyYXRvciA9ICcnO1xyXG4gICAgbGV0IHRob3VzYW5kc1NlcGFyYXRvciA9ICcnO1xyXG5cclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAvLyBnZXQgYWxsIG5vbiBjaGFyYWN0ZXJzXHJcbiAgICAgICAgbGV0IG5vbkNoYXJzID0gdmFsdWUubWF0Y2goL1teMC05XSsvZykgfHwgW107XHJcblxyXG4gICAgICAgIC8vIGdldCBhbGwgdW5pcXVlIGNoYXJzXHJcbiAgICAgICAgbGV0IHVuaXF1ZUNoYXJzID0gbm9uQ2hhcnMucmVkdWNlKChhY2MsIGUpID0+IGFjYy5zZXQoZSwgKGFjYy5nZXQoZSkgfHwgMCkgKyAxKSwgbmV3IE1hcCgpKTtcclxuXHJcbiAgICAgICAgLy8gZ2V0IHNlcGFyYXRvcnNcclxuICAgICAgICBsZXQgc2VwYXJhdG9ycyA9IEFycmF5LmZyb208c3RyaW5nPih1bmlxdWVDaGFycy5rZXlzKCkpO1xyXG5cclxuICAgICAgICAvLyBzZW5zZSB3aGVyZSBkZWNpbWFsIHNlcGFyYXRvciBhbmQgd2hlcmUgdGhvdXNhbmQgc2VwYXJhdG9yIGlzXHJcbiAgICAgICAgaWYgKHNlcGFyYXRvcnMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAvLyBsZWZ0IGRldGVjdGVkIHNlcGFyYXRvciB3aWxsIGJlIHRob3VzYW5kIGFuZCBzZWNvbmQgd2lsbCBiZSBkZWNpbWFsXHJcbiAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvciA9IHNlcGFyYXRvcnNbMF07XHJcbiAgICAgICAgICAgIGRlY2ltYWxTZXBhcmF0b3IgPSBzZXBhcmF0b3JzWzFdO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc2VwYXJhdG9ycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIC8vIGluIGNhc2UgdGhlcmUgaXMgb25seSBvbmUgc2VwYXJhdG9yIHlvdSBkb24ndCBrbm93IGV4YWN0bHkgd2hvIHRoaXMgc2VwYXJhdG9yIGlzLlxyXG4gICAgICAgICAgICAvLyBpbiBjYXNlIHRoZXJlIGFyZSBtb3JlIHRoYW4gdHdvIG9jY3VycmVuY2VzIG1lYW5zIHdlIGhhdmUgYSB0aG91c2FuZCBvdGhlcndpc2Ugd2UnbGxcclxuICAgICAgICAgICAgLy8gYWdyZWUgYnkgY29udmVudGlvbnMgdGhhdCBpcyBkZWNpbWFsXHJcbiAgICAgICAgICAgIGlmIChub25DaGFycy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVcclxuICAgICAgICAgICAgICAgICAgICAuc3BsaXQoc2VwYXJhdG9yc1swXSlcclxuICAgICAgICAgICAgICAgICAgICAuam9pbignJylcclxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZywgaW5UaG91c2FuZFNlcGFyYXRvcik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZShzZXBhcmF0b3JzWzBdLCBpbkRlY2ltYWxTZXBhcmF0b3IpLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIGluVGhvdXNhbmRTZXBhcmF0b3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gaW4gY2FzZSB0aGVyZSBhcmUgbm8gc2VwYXJhdG9ycyB0aGVuIG9ubHkgZm9ybWF0IGJhc2VkIG9uIHRob3VzYW5kIG9uZVxyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZywgaW5UaG91c2FuZFNlcGFyYXRvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBkbyB0aGUgcmVwbGFjZW1lbnQgb2Ygc2VwYXJhdG9ycyBhbmQgcGFyc2VJbnRcclxuICAgICAgICAvLyBCZXdhcmUhIEFsd2F5cyByZXBsYWNlIHRob3VzYW5kIHNlcGFyYXRvciBmaXJzdCBhbmQgdGhlbiBkZWNpbWFsXHJcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5zcGxpdCh0aG91c2FuZHNTZXBhcmF0b3IpLmpvaW4oJycpLnJlcGxhY2UoZGVjaW1hbFNlcGFyYXRvciwgJy4nKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWNpbWFsU2VwYXJhdG9yID0gaW5EZWNpbWFsU2VwYXJhdG9yO1xyXG4gICAgdGhvdXNhbmRzU2VwYXJhdG9yID0gaW5UaG91c2FuZFNlcGFyYXRvcjtcclxuXHJcbiAgICBjb25zdCBtYXhGcmFjdGlvbiA9ICcwJy5yZXBlYXQoZnJhY3Rpb25TaXplKTtcclxuXHJcbiAgICBsZXQgW2ludGVnZXIsIGZyYWN0aW9uID0gbWF4RnJhY3Rpb25dID0gKHZhbHVlIHx8ICcwJykudG9TdHJpbmcoKS5zcGxpdCgnLicpO1xyXG4gICAgZnJhY3Rpb24gPSBmcmFjdGlvblNpemUgPiAwID8gKGZyYWN0aW9uICsgbWF4RnJhY3Rpb24pLnN1YnN0cmluZygwLCBmcmFjdGlvblNpemUpIDogJyc7XHJcblxyXG4gICAgLy8gdGhpcyBydWxlIG1ha2VzIHNlbnNlIG9ubHkgaW4gbnVtYmVyIGluIGNhc2UgZnJhY3Rpb24gaXMgYWxsIHplcm9cclxuICAgIGZyYWN0aW9uID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBmcmFjdGlvbiA9PT0gbWF4RnJhY3Rpb24gPyAnJyA6IGRlY2ltYWxTZXBhcmF0b3IgKyBmcmFjdGlvbjtcclxuXHJcbiAgICByZXR1cm4gaW50ZWdlci5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCB0aG91c2FuZHNTZXBhcmF0b3IpICsgZnJhY3Rpb247XHJcbn07XHJcbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { throwError } from 'rxjs';
2
- export const handleError = (error) => {
3
- let errMsg = error.message ? error.message : error.status ? `${error.status} - ${error.statusText}` : 'Server error';
4
- // console.error(errMsg);
5
- return throwError(errMsg);
6
- };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwZXJzL2h0dHAtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQVUsRUFBcUIsRUFBRTtJQUN6RCxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDckgseUJBQXlCO0lBQ3pCLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IGhhbmRsZUVycm9yID0gKGVycm9yOiBhbnkpOiBPYnNlcnZhYmxlPG5ldmVyPiA9PiB7XG4gICAgbGV0IGVyck1zZyA9IGVycm9yLm1lc3NhZ2UgPyBlcnJvci5tZXNzYWdlIDogZXJyb3Iuc3RhdHVzID8gYCR7ZXJyb3Iuc3RhdHVzfSAtICR7ZXJyb3Iuc3RhdHVzVGV4dH1gIDogJ1NlcnZlciBlcnJvcic7XG4gICAgLy8gY29uc29sZS5lcnJvcihlcnJNc2cpO1xuICAgIHJldHVybiB0aHJvd0Vycm9yKGVyck1zZyk7XG59O1xuIl19
1
+ import { throwError } from 'rxjs';
2
+ export const handleError = (error) => {
3
+ let errMsg = error.message ? error.message : error.status ? `${error.status} - ${error.statusText}` : 'Server error';
4
+ // console.error(errMsg);
5
+ return throwError(errMsg);
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwZXJzL2h0dHAtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQVUsRUFBcUIsRUFBRTtJQUN6RCxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDckgseUJBQXlCO0lBQ3pCLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBjb25zdCBoYW5kbGVFcnJvciA9IChlcnJvcjogYW55KTogT2JzZXJ2YWJsZTxuZXZlcj4gPT4ge1xyXG4gICAgbGV0IGVyck1zZyA9IGVycm9yLm1lc3NhZ2UgPyBlcnJvci5tZXNzYWdlIDogZXJyb3Iuc3RhdHVzID8gYCR7ZXJyb3Iuc3RhdHVzfSAtICR7ZXJyb3Iuc3RhdHVzVGV4dH1gIDogJ1NlcnZlciBlcnJvcic7XHJcbiAgICAvLyBjb25zb2xlLmVycm9yKGVyck1zZyk7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJNc2cpO1xyXG59O1xyXG4iXX0=
@@ -1,8 +1,8 @@
1
- export * from './date-helpers';
2
- export * from './dom-helpers';
3
- export * from './event-helpers';
4
- export * from './form-helpers';
5
- export * from './format-helpers';
6
- export * from './http-helpers';
7
- export * from './utils';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlLWhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9kb20taGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50LWhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQtaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2h0dHAtaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbiJdfQ==
1
+ export * from './date-helpers';
2
+ export * from './dom-helpers';
3
+ export * from './event-helpers';
4
+ export * from './form-helpers';
5
+ export * from './format-helpers';
6
+ export * from './http-helpers';
7
+ export * from './utils';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlLWhlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RvbS1oZWxwZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9ldmVudC1oZWxwZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWhlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC1oZWxwZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9odHRwLWhlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcclxuIl19
@@ -1,7 +1,7 @@
1
- /**
2
- * check if a value is null or undefined. If it's not both returns true otherwise false
3
- *
4
- * @param value
5
- */
6
- export const isDefined = (value) => value !== undefined && value !== null;
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2hlbHBlcnMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFJLEtBQTJCLEVBQWMsRUFBRSxDQUFJLEtBQUssS0FBSyxTQUFTLElBQU8sS0FBSyxLQUFLLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogY2hlY2sgaWYgYSB2YWx1ZSBpcyBudWxsIG9yIHVuZGVmaW5lZC4gSWYgaXQncyBub3QgYm90aCByZXR1cm5zIHRydWUgb3RoZXJ3aXNlIGZhbHNlXG4gKlxuICogQHBhcmFtIHZhbHVlXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RlZmluZWQgPSA8VD4odmFsdWU6IFQgfCB1bmRlZmluZWQgfCBudWxsKTogdmFsdWUgaXMgVCA9PiA8VD52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIDxUPnZhbHVlICE9PSBudWxsO1xuIl19
1
+ /**
2
+ * check if a value is null or undefined. If it's not both returns true otherwise false
3
+ *
4
+ * @param value
5
+ */
6
+ export const isDefined = (value) => value !== undefined && value !== null;
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2hlbHBlcnMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFJLEtBQTJCLEVBQWMsRUFBRSxDQUFJLEtBQUssS0FBSyxTQUFTLElBQU8sS0FBSyxLQUFLLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBjaGVjayBpZiBhIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLiBJZiBpdCdzIG5vdCBib3RoIHJldHVybnMgdHJ1ZSBvdGhlcndpc2UgZmFsc2VcclxuICpcclxuICogQHBhcmFtIHZhbHVlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNEZWZpbmVkID0gPFQ+KHZhbHVlOiBUIHwgdW5kZWZpbmVkIHwgbnVsbCk6IHZhbHVlIGlzIFQgPT4gPFQ+dmFsdWUgIT09IHVuZGVmaW5lZCAmJiA8VD52YWx1ZSAhPT0gbnVsbDtcclxuIl19
@@ -1,35 +1,35 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@ngx-translate/core";
4
- export const LANG_PARAM_KEY = 'X-Lang-Param';
5
- /**
6
- * Interceptor for adding the current language as parameter
7
- * Add the header (LANG_PARAM_KEY, <language parameter>) to your request http headers
8
- */
9
- export class AddLangParamInterceptor {
10
- constructor(translateService) {
11
- this.translateService = translateService;
12
- }
13
- intercept(req, next) {
14
- // take the lang param name from header, if specified
15
- const langParam = req.headers.get(LANG_PARAM_KEY);
16
- // if not specified, do nothing
17
- if (!langParam) {
18
- return next.handle(req);
19
- }
20
- // take the current language from the translate service
21
- const langValue = this.translateService.currentLang;
22
- return next.handle(req.clone({
23
- // remove the lang param header from headers
24
- headers: req.headers.delete(LANG_PARAM_KEY),
25
- // set the lang value as new parameter
26
- params: req.params.set(langParam, langValue),
27
- }));
28
- }
29
- }
30
- /** @nocollapse */ AddLangParamInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AddLangParamInterceptor, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
31
- /** @nocollapse */ AddLangParamInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AddLangParamInterceptor });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AddLangParamInterceptor, decorators: [{
33
- type: Injectable
34
- }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxhbmctcGFyYW0uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2ludGVyY2VwdG9ycy9hZGQtbGFuZy1wYXJhbS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQztBQUU3Qzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLFlBQXNCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUU1RCxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUM5QyxxREFBcUQ7UUFDckQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFbEQsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFFRCx1REFBdUQ7UUFDdkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztRQUVwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2QsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNOLDRDQUE0QztZQUM1QyxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO1lBQzNDLHNDQUFzQztZQUN0QyxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQztTQUMvQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7O3VJQXZCUSx1QkFBdUI7MklBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuZXhwb3J0IGNvbnN0IExBTkdfUEFSQU1fS0VZID0gJ1gtTGFuZy1QYXJhbSc7XG5cbi8qKlxuICogSW50ZXJjZXB0b3IgZm9yIGFkZGluZyB0aGUgY3VycmVudCBsYW5ndWFnZSBhcyBwYXJhbWV0ZXJcbiAqIEFkZCB0aGUgaGVhZGVyIChMQU5HX1BBUkFNX0tFWSwgPGxhbmd1YWdlIHBhcmFtZXRlcj4pIHRvIHlvdXIgcmVxdWVzdCBodHRwIGhlYWRlcnNcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFkZExhbmdQYXJhbUludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICAvLyB0YWtlIHRoZSBsYW5nIHBhcmFtIG5hbWUgZnJvbSBoZWFkZXIsIGlmIHNwZWNpZmllZFxuICAgICAgICBjb25zdCBsYW5nUGFyYW0gPSByZXEuaGVhZGVycy5nZXQoTEFOR19QQVJBTV9LRVkpO1xuXG4gICAgICAgIC8vIGlmIG5vdCBzcGVjaWZpZWQsIGRvIG5vdGhpbmdcbiAgICAgICAgaWYgKCFsYW5nUGFyYW0pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGFrZSB0aGUgY3VycmVudCBsYW5ndWFnZSBmcm9tIHRoZSB0cmFuc2xhdGUgc2VydmljZVxuICAgICAgICBjb25zdCBsYW5nVmFsdWUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmc7XG5cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKFxuICAgICAgICAgICAgcmVxLmNsb25lKHtcbiAgICAgICAgICAgICAgICAvLyByZW1vdmUgdGhlIGxhbmcgcGFyYW0gaGVhZGVyIGZyb20gaGVhZGVyc1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzLmRlbGV0ZShMQU5HX1BBUkFNX0tFWSksXG4gICAgICAgICAgICAgICAgLy8gc2V0IHRoZSBsYW5nIHZhbHVlIGFzIG5ldyBwYXJhbWV0ZXJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHJlcS5wYXJhbXMuc2V0KGxhbmdQYXJhbSwgbGFuZ1ZhbHVlKSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ngx-translate/core";
4
+ export const LANG_PARAM_KEY = 'X-Lang-Param';
5
+ /**
6
+ * Interceptor for adding the current language as parameter
7
+ * Add the header (LANG_PARAM_KEY, <language parameter>) to your request http headers
8
+ */
9
+ export class AddLangParamInterceptor {
10
+ constructor(translateService) {
11
+ this.translateService = translateService;
12
+ }
13
+ intercept(req, next) {
14
+ // take the lang param name from header, if specified
15
+ const langParam = req.headers.get(LANG_PARAM_KEY);
16
+ // if not specified, do nothing
17
+ if (!langParam) {
18
+ return next.handle(req);
19
+ }
20
+ // take the current language from the translate service
21
+ const langValue = this.translateService.currentLang;
22
+ return next.handle(req.clone({
23
+ // remove the lang param header from headers
24
+ headers: req.headers.delete(LANG_PARAM_KEY),
25
+ // set the lang value as new parameter
26
+ params: req.params.set(langParam, langValue),
27
+ }));
28
+ }
29
+ }
30
+ /** @nocollapse */ AddLangParamInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AddLangParamInterceptor, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
31
+ /** @nocollapse */ AddLangParamInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AddLangParamInterceptor });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AddLangParamInterceptor, decorators: [{
33
+ type: Injectable
34
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxhbmctcGFyYW0uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2ludGVyY2VwdG9ycy9hZGQtbGFuZy1wYXJhbS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQztBQUU3Qzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLFlBQXNCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUU1RCxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUM5QyxxREFBcUQ7UUFDckQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFbEQsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFFRCx1REFBdUQ7UUFDdkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztRQUVwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2QsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNOLDRDQUE0QztZQUM1QyxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO1lBQzNDLHNDQUFzQztZQUN0QyxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQztTQUMvQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7O3VJQXZCUSx1QkFBdUI7MklBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmV4cG9ydCBjb25zdCBMQU5HX1BBUkFNX0tFWSA9ICdYLUxhbmctUGFyYW0nO1xyXG5cclxuLyoqXHJcbiAqIEludGVyY2VwdG9yIGZvciBhZGRpbmcgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYXMgcGFyYW1ldGVyXHJcbiAqIEFkZCB0aGUgaGVhZGVyIChMQU5HX1BBUkFNX0tFWSwgPGxhbmd1YWdlIHBhcmFtZXRlcj4pIHRvIHlvdXIgcmVxdWVzdCBodHRwIGhlYWRlcnNcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFkZExhbmdQYXJhbUludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxyXG5cclxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgICAgIC8vIHRha2UgdGhlIGxhbmcgcGFyYW0gbmFtZSBmcm9tIGhlYWRlciwgaWYgc3BlY2lmaWVkXHJcbiAgICAgICAgY29uc3QgbGFuZ1BhcmFtID0gcmVxLmhlYWRlcnMuZ2V0KExBTkdfUEFSQU1fS0VZKTtcclxuXHJcbiAgICAgICAgLy8gaWYgbm90IHNwZWNpZmllZCwgZG8gbm90aGluZ1xyXG4gICAgICAgIGlmICghbGFuZ1BhcmFtKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gdGFrZSB0aGUgY3VycmVudCBsYW5ndWFnZSBmcm9tIHRoZSB0cmFuc2xhdGUgc2VydmljZVxyXG4gICAgICAgIGNvbnN0IGxhbmdWYWx1ZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZztcclxuXHJcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKFxyXG4gICAgICAgICAgICByZXEuY2xvbmUoe1xyXG4gICAgICAgICAgICAgICAgLy8gcmVtb3ZlIHRoZSBsYW5nIHBhcmFtIGhlYWRlciBmcm9tIGhlYWRlcnNcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzLmRlbGV0ZShMQU5HX1BBUkFNX0tFWSksXHJcbiAgICAgICAgICAgICAgICAvLyBzZXQgdGhlIGxhbmcgdmFsdWUgYXMgbmV3IHBhcmFtZXRlclxyXG4gICAgICAgICAgICAgICAgcGFyYW1zOiByZXEucGFyYW1zLnNldChsYW5nUGFyYW0sIGxhbmdWYWx1ZSksXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,21 +1,21 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CachePreventionInterceptor {
4
- intercept(req, next) {
5
- // if Cache-Control is already specified
6
- if (req.headers.get('Cache-Control')) {
7
- // keep the current configuration
8
- return next.handle(req);
9
- }
10
- return next.handle(req.clone({
11
- // prevent the cache
12
- headers: req.headers.set('Cache-Control', 'No-Cache'),
13
- }));
14
- }
15
- }
16
- /** @nocollapse */ CachePreventionInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CachePreventionInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
- /** @nocollapse */ CachePreventionInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CachePreventionInterceptor });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CachePreventionInterceptor, decorators: [{
19
- type: Injectable
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtcHJldmVudGlvbi5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJjZXB0b3JzL2NhY2hlLXByZXZlbnRpb24uaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLDBCQUEwQjtJQUNuQyxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUM5Qyx3Q0FBd0M7UUFDeEMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNsQyxpQ0FBaUM7WUFDakMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNkLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDTixvQkFBb0I7WUFDcEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUM7U0FDeEQsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOzswSUFkUSwwQkFBMEI7OElBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhY2hlUHJldmVudGlvbkludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgLy8gaWYgQ2FjaGUtQ29udHJvbCBpcyBhbHJlYWR5IHNwZWNpZmllZFxuICAgICAgICBpZiAocmVxLmhlYWRlcnMuZ2V0KCdDYWNoZS1Db250cm9sJykpIHtcbiAgICAgICAgICAgIC8vIGtlZXAgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvblxuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoXG4gICAgICAgICAgICByZXEuY2xvbmUoe1xuICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgdGhlIGNhY2hlXG4gICAgICAgICAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMuc2V0KCdDYWNoZS1Db250cm9sJywgJ05vLUNhY2hlJyksXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CachePreventionInterceptor {
4
+ intercept(req, next) {
5
+ // if Cache-Control is already specified
6
+ if (req.headers.get('Cache-Control')) {
7
+ // keep the current configuration
8
+ return next.handle(req);
9
+ }
10
+ return next.handle(req.clone({
11
+ // prevent the cache
12
+ headers: req.headers.set('Cache-Control', 'No-Cache'),
13
+ }));
14
+ }
15
+ }
16
+ /** @nocollapse */ CachePreventionInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CachePreventionInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
+ /** @nocollapse */ CachePreventionInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CachePreventionInterceptor });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CachePreventionInterceptor, decorators: [{
19
+ type: Injectable
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtcHJldmVudGlvbi5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJjZXB0b3JzL2NhY2hlLXByZXZlbnRpb24uaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLDBCQUEwQjtJQUNuQyxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUM5Qyx3Q0FBd0M7UUFDeEMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNsQyxpQ0FBaUM7WUFDakMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNkLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDTixvQkFBb0I7WUFDcEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUM7U0FDeEQsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOzswSUFkUSwwQkFBMEI7OElBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDYWNoZVByZXZlbnRpb25JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgICAgICAvLyBpZiBDYWNoZS1Db250cm9sIGlzIGFscmVhZHkgc3BlY2lmaWVkXHJcbiAgICAgICAgaWYgKHJlcS5oZWFkZXJzLmdldCgnQ2FjaGUtQ29udHJvbCcpKSB7XHJcbiAgICAgICAgICAgIC8vIGtlZXAgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvblxyXG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShcclxuICAgICAgICAgICAgcmVxLmNsb25lKHtcclxuICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgdGhlIGNhY2hlXHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVycy5zZXQoJ0NhY2hlLUNvbnRyb2wnLCAnTm8tQ2FjaGUnKSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,15 +1,15 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CorsSecurityInterceptor {
4
- intercept(request, next) {
5
- return next.handle(request.clone({
6
- withCredentials: true,
7
- }));
8
- }
9
- }
10
- /** @nocollapse */ CorsSecurityInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorsSecurityInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11
- /** @nocollapse */ CorsSecurityInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorsSecurityInterceptor });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorsSecurityInterceptor, decorators: [{
13
- type: Injectable
14
- }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycy1zZWN1cml0eS5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJjZXB0b3JzL2NvcnMtc2VjdXJpdHkuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNWLGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7dUlBUFEsdUJBQXVCOzJJQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb3JzU2VjdXJpdHlJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gICAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoXG4gICAgICAgICAgICByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CorsSecurityInterceptor {
4
+ intercept(request, next) {
5
+ return next.handle(request.clone({
6
+ withCredentials: true,
7
+ }));
8
+ }
9
+ }
10
+ /** @nocollapse */ CorsSecurityInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorsSecurityInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11
+ /** @nocollapse */ CorsSecurityInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorsSecurityInterceptor });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorsSecurityInterceptor, decorators: [{
13
+ type: Injectable
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycy1zZWN1cml0eS5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJjZXB0b3JzL2NvcnMtc2VjdXJpdHkuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNWLGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7dUlBUFEsdUJBQXVCOzJJQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29yc1NlY3VyaXR5SW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG4gICAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShcclxuICAgICAgICAgICAgcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,15 +1,15 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CsrfPreventionInterceptor {
4
- intercept(request, next) {
5
- return next.handle(request.clone({
6
- headers: request.headers.set('X-Requested-With', 'XMLHttpRequest'),
7
- }));
8
- }
9
- }
10
- /** @nocollapse */ CsrfPreventionInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CsrfPreventionInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11
- /** @nocollapse */ CsrfPreventionInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CsrfPreventionInterceptor });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CsrfPreventionInterceptor, decorators: [{
13
- type: Injectable
14
- }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NyZi1wcmV2ZW50aW9uLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9pbnRlcmNlcHRvcnMvY3NyZi1wcmV2ZW50aW9uLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUM7U0FDckUsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOzt5SUFQUSx5QkFBeUI7NklBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENzcmZQcmV2ZW50aW9uSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKFxuICAgICAgICAgICAgcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXJzLnNldCgnWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CsrfPreventionInterceptor {
4
+ intercept(request, next) {
5
+ return next.handle(request.clone({
6
+ headers: request.headers.set('X-Requested-With', 'XMLHttpRequest'),
7
+ }));
8
+ }
9
+ }
10
+ /** @nocollapse */ CsrfPreventionInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CsrfPreventionInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11
+ /** @nocollapse */ CsrfPreventionInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CsrfPreventionInterceptor });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CsrfPreventionInterceptor, decorators: [{
13
+ type: Injectable
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NyZi1wcmV2ZW50aW9uLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9pbnRlcmNlcHRvcnMvY3NyZi1wcmV2ZW50aW9uLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUM7U0FDckUsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOzt5SUFQUSx5QkFBeUI7NklBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDc3JmUHJldmVudGlvbkludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoXHJcbiAgICAgICAgICAgIHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICAgICAgICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXJzLnNldCgnWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19