@stemy/ngx-utils 13.6.16 → 17.0.0

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 (268) hide show
  1. package/esm2022/ngx-utils/common-types.mjs +123 -0
  2. package/esm2022/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +210 -0
  3. package/esm2022/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +101 -0
  4. package/esm2022/ngx-utils/components/unordered-list/unordered-list.component.mjs +65 -0
  5. package/esm2022/ngx-utils/directives/async-method.base.mjs +82 -0
  6. package/{esm2020 → esm2022}/ngx-utils/directives/async-method.directive.mjs +21 -21
  7. package/esm2022/ngx-utils/directives/background.directive.mjs +51 -0
  8. package/{esm2020 → esm2022}/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -20
  9. package/{esm2020 → esm2022}/ngx-utils/directives/global-template.directive.mjs +30 -30
  10. package/esm2022/ngx-utils/directives/icon.directive.mjs +67 -0
  11. package/esm2022/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
  12. package/{esm2020 → esm2022}/ngx-utils/directives/pagination-item.directive.mjs +34 -34
  13. package/esm2022/ngx-utils/directives/pagination.directive.mjs +84 -0
  14. package/esm2022/ngx-utils/directives/resource-if.directive.mjs +50 -0
  15. package/esm2022/ngx-utils/directives/sticky-class.directive.mjs +34 -0
  16. package/{esm2020 → esm2022}/ngx-utils/directives/sticky.directive.mjs +55 -55
  17. package/{esm2020 → esm2022}/ngx-utils/directives/unordered-list-item.directive.mjs +79 -79
  18. package/{esm2020 → esm2022}/ngx-utils/directives/unordered-list-template.directive.mjs +20 -20
  19. package/{esm2020 → esm2022}/ngx-utils/ngx-utils.imports.mjs +174 -174
  20. package/esm2022/ngx-utils/ngx-utils.module.mjs +202 -0
  21. package/esm2022/ngx-utils/pipes/chunk.pipe.mjs +25 -0
  22. package/{esm2020 → esm2022}/ngx-utils/pipes/entries.pipe.mjs +28 -28
  23. package/{esm2020 → esm2022}/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -31
  24. package/esm2022/ngx-utils/pipes/filter.pipe.mjs +37 -0
  25. package/esm2022/ngx-utils/pipes/find.pipe.mjs +29 -0
  26. package/{esm2020 → esm2022}/ngx-utils/pipes/format-number.pipe.mjs +21 -21
  27. package/{esm2020 → esm2022}/ngx-utils/pipes/get-offset.pipe.mjs +17 -17
  28. package/{esm2020 → esm2022}/ngx-utils/pipes/get-type.pipe.mjs +16 -16
  29. package/esm2022/ngx-utils/pipes/global-template.pipe.mjs +41 -0
  30. package/{esm2020 → esm2022}/ngx-utils/pipes/group-by.pipe.mjs +27 -27
  31. package/{esm2020 → esm2022}/ngx-utils/pipes/is-type.pipe.mjs +16 -16
  32. package/{esm2020 → esm2022}/ngx-utils/pipes/join.pipe.mjs +19 -19
  33. package/{esm2020 → esm2022}/ngx-utils/pipes/keys.pipe.mjs +22 -22
  34. package/{esm2020 → esm2022}/ngx-utils/pipes/map.pipe.mjs +29 -29
  35. package/{esm2020 → esm2022}/ngx-utils/pipes/max.pipe.mjs +26 -26
  36. package/{esm2020 → esm2022}/ngx-utils/pipes/min.pipe.mjs +26 -26
  37. package/{esm2020 → esm2022}/ngx-utils/pipes/pop.pipe.mjs +16 -16
  38. package/{esm2020 → esm2022}/ngx-utils/pipes/reduce.pipe.mjs +30 -30
  39. package/esm2022/ngx-utils/pipes/remap.pipe.mjs +32 -0
  40. package/{esm2020 → esm2022}/ngx-utils/pipes/replace.pipe.mjs +17 -17
  41. package/esm2022/ngx-utils/pipes/reverse.pipe.mjs +24 -0
  42. package/{esm2020 → esm2022}/ngx-utils/pipes/round.pipe.mjs +21 -21
  43. package/esm2022/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
  44. package/{esm2020 → esm2022}/ngx-utils/pipes/shift.pipe.mjs +16 -16
  45. package/{esm2020 → esm2022}/ngx-utils/pipes/split.pipe.mjs +16 -16
  46. package/esm2022/ngx-utils/pipes/translate.pipe.mjs +86 -0
  47. package/{esm2020 → esm2022}/ngx-utils/pipes/values.pipe.mjs +22 -22
  48. package/esm2022/ngx-utils/plugins/resize-event.plugin.mjs +78 -0
  49. package/esm2022/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
  50. package/{esm2020 → esm2022}/ngx-utils/services/acl.service.mjs +84 -83
  51. package/esm2022/ngx-utils/services/api.service.mjs +42 -0
  52. package/{esm2020 → esm2022}/ngx-utils/services/auth.service.mjs +13 -13
  53. package/esm2022/ngx-utils/services/base-http.client.mjs +47 -0
  54. package/esm2022/ngx-utils/services/base-http.service.mjs +305 -0
  55. package/esm2022/ngx-utils/services/config.service.mjs +130 -0
  56. package/esm2022/ngx-utils/services/error-handler.service.mjs +49 -0
  57. package/{esm2020 → esm2022}/ngx-utils/services/events.service.mjs +26 -26
  58. package/{esm2020 → esm2022}/ngx-utils/services/formatter.service.mjs +49 -49
  59. package/esm2022/ngx-utils/services/global-template.service.mjs +37 -0
  60. package/esm2022/ngx-utils/services/icon.service.mjs +26 -0
  61. package/esm2022/ngx-utils/services/language.service.mjs +124 -0
  62. package/{esm2020 → esm2022}/ngx-utils/services/local-http.service.mjs +47 -47
  63. package/{esm2020 → esm2022}/ngx-utils/services/open-api.service.mjs +40 -40
  64. package/{esm2020 → esm2022}/ngx-utils/services/promise.service.mjs +55 -55
  65. package/esm2022/ngx-utils/services/state.service.mjs +177 -0
  66. package/{esm2020 → esm2022}/ngx-utils/services/static-language.service.mjs +166 -166
  67. package/esm2022/ngx-utils/services/storage.service.mjs +49 -0
  68. package/{esm2020 → esm2022}/ngx-utils/services/toaster.service.mjs +32 -32
  69. package/esm2022/ngx-utils/services/translated-url.serializer.mjs +73 -0
  70. package/esm2022/ngx-utils/services/universal.service.mjs +81 -0
  71. package/{esm2020 → esm2022}/ngx-utils/services/wasm.service.mjs +46 -46
  72. package/esm2022/ngx-utils/utils/ajax-request-handler.mjs +40 -0
  73. package/esm2022/ngx-utils/utils/array.utils.mjs +107 -0
  74. package/esm2022/ngx-utils/utils/auth.guard.mjs +181 -0
  75. package/esm2022/ngx-utils/utils/cached-factory.mjs +30 -0
  76. package/esm2022/ngx-utils/utils/canvas.utils.mjs +388 -0
  77. package/esm2022/ngx-utils/utils/date.utils.mjs +29 -0
  78. package/{esm2020 → esm2022}/ngx-utils/utils/file-system.mjs +24 -24
  79. package/esm2022/ngx-utils/utils/file.utils.mjs +90 -0
  80. package/{esm2020 → esm2022}/ngx-utils/utils/generic-value.mjs +20 -20
  81. package/esm2022/ngx-utils/utils/geometry.mjs +132 -0
  82. package/{esm2020 → esm2022}/ngx-utils/utils/initializer.mjs +20 -20
  83. package/esm2022/ngx-utils/utils/jsonfn.mjs +45 -0
  84. package/esm2022/ngx-utils/utils/loader.utils.mjs +55 -0
  85. package/esm2022/ngx-utils/utils/math.utils.mjs +44 -0
  86. package/esm2022/ngx-utils/utils/object.utils.mjs +320 -0
  87. package/{esm2020 → esm2022}/ngx-utils/utils/observable.utils.mjs +63 -63
  88. package/esm2022/ngx-utils/utils/reflect.utils.mjs +33 -0
  89. package/esm2022/ngx-utils/utils/set.utils.mjs +20 -0
  90. package/esm2022/ngx-utils/utils/string.utils.mjs +41 -0
  91. package/{esm2020 → esm2022}/ngx-utils/utils/timer.utils.mjs +51 -51
  92. package/esm2022/ngx-utils/utils/unique.utils.mjs +24 -0
  93. package/esm2022/ngx-utils/utils/vector.mjs +77 -0
  94. package/esm2022/ngx-utils/utils/wasi.mjs +159 -0
  95. package/esm2022/ngx-utils/utils/wasm-worker-proxy.mjs +99 -0
  96. package/{esm2020 → esm2022}/ngx-utils/utils/with-options-provider.mjs +23 -23
  97. package/{esm2020 → esm2022}/public_api.mjs +94 -94
  98. package/{esm2020 → esm2022}/stemy-ngx-utils.mjs +4 -4
  99. package/esm2022/tools/config.mjs +71 -0
  100. package/{esm2020 → esm2022}/tools/public_api.mjs +1 -1
  101. package/{esm2020 → esm2022}/tools/stemy-ngx-utils-tools.mjs +4 -4
  102. package/{fesm2020 → fesm2022}/stemy-ngx-utils-tools.mjs +71 -71
  103. package/{fesm2015 → fesm2022}/stemy-ngx-utils-tools.mjs.map +1 -1
  104. package/{fesm2020 → fesm2022}/stemy-ngx-utils.mjs +5639 -5633
  105. package/fesm2022/stemy-ngx-utils.mjs.map +1 -0
  106. package/{stemy-ngx-utils.d.ts → index.d.ts} +5 -5
  107. package/ng.mjs +5 -0
  108. package/ngx-utils/common-types.d.ts +378 -377
  109. package/ngx-utils/components/dynamic-table/dynamic-table.component.d.ts +56 -55
  110. package/ngx-utils/components/pagination-menu/pagination-menu.component.d.ts +31 -31
  111. package/ngx-utils/components/unordered-list/unordered-list.component.d.ts +25 -25
  112. package/ngx-utils/directives/async-method.base.d.ts +19 -19
  113. package/ngx-utils/directives/async-method.directive.d.ts +9 -9
  114. package/ngx-utils/directives/background.directive.d.ts +17 -17
  115. package/ngx-utils/directives/dynamic-table-template.directive.d.ts +11 -11
  116. package/ngx-utils/directives/global-template.directive.d.ts +13 -13
  117. package/ngx-utils/directives/icon.directive.d.ts +23 -23
  118. package/ngx-utils/directives/ngx-template-outlet.directive.d.ts +17 -17
  119. package/ngx-utils/directives/pagination-item.directive.d.ts +15 -15
  120. package/ngx-utils/directives/pagination.directive.d.ts +25 -25
  121. package/ngx-utils/directives/resource-if.directive.d.ts +19 -19
  122. package/ngx-utils/directives/sticky-class.directive.d.ts +15 -15
  123. package/ngx-utils/directives/sticky.directive.d.ts +19 -19
  124. package/ngx-utils/directives/unordered-list-item.directive.d.ts +28 -28
  125. package/ngx-utils/directives/unordered-list-template.directive.d.ts +11 -11
  126. package/ngx-utils/ngx-utils.imports.d.ts +74 -0
  127. package/ngx-utils/ngx-utils.module.d.ts +58 -58
  128. package/ngx-utils/pipes/chunk.pipe.d.ts +7 -7
  129. package/ngx-utils/pipes/entries.pipe.d.ts +12 -12
  130. package/ngx-utils/pipes/extra-item-properties.pipe.d.ts +8 -8
  131. package/ngx-utils/pipes/filter.pipe.d.ts +8 -8
  132. package/ngx-utils/pipes/find.pipe.d.ts +8 -8
  133. package/ngx-utils/pipes/format-number.pipe.d.ts +10 -10
  134. package/ngx-utils/pipes/get-offset.pipe.d.ts +7 -7
  135. package/ngx-utils/pipes/get-type.pipe.d.ts +7 -7
  136. package/ngx-utils/pipes/global-template.pipe.d.ts +16 -16
  137. package/ngx-utils/pipes/group-by.pipe.d.ts +8 -8
  138. package/ngx-utils/pipes/is-type.pipe.d.ts +7 -7
  139. package/ngx-utils/pipes/join.pipe.d.ts +7 -7
  140. package/ngx-utils/pipes/keys.pipe.d.ts +7 -7
  141. package/ngx-utils/pipes/map.pipe.d.ts +8 -8
  142. package/ngx-utils/pipes/max.pipe.d.ts +7 -7
  143. package/ngx-utils/pipes/min.pipe.d.ts +7 -7
  144. package/ngx-utils/pipes/pop.pipe.d.ts +7 -7
  145. package/ngx-utils/pipes/reduce.pipe.d.ts +8 -8
  146. package/ngx-utils/pipes/remap.pipe.d.ts +7 -7
  147. package/ngx-utils/pipes/replace.pipe.d.ts +7 -7
  148. package/ngx-utils/pipes/reverse.pipe.d.ts +7 -7
  149. package/ngx-utils/pipes/round.pipe.d.ts +10 -10
  150. package/ngx-utils/pipes/safe-html.pipe.d.ts +10 -10
  151. package/ngx-utils/pipes/shift.pipe.d.ts +7 -7
  152. package/ngx-utils/pipes/split.pipe.d.ts +7 -7
  153. package/ngx-utils/pipes/translate.pipe.d.ts +19 -19
  154. package/ngx-utils/pipes/values.pipe.d.ts +7 -7
  155. package/ngx-utils/plugins/resize-event.plugin.d.ts +17 -17
  156. package/ngx-utils/plugins/scroll-event.plugin.d.ts +13 -13
  157. package/ngx-utils/services/acl.service.d.ts +14 -14
  158. package/ngx-utils/services/api.service.d.ts +17 -17
  159. package/ngx-utils/services/auth.service.d.ts +8 -8
  160. package/ngx-utils/services/base-http.client.d.ts +15 -15
  161. package/ngx-utils/services/base-http.service.d.ts +53 -53
  162. package/ngx-utils/services/config.service.d.ts +30 -30
  163. package/ngx-utils/services/error-handler.service.d.ts +13 -13
  164. package/ngx-utils/services/events.service.d.ts +14 -14
  165. package/ngx-utils/services/formatter.service.d.ts +15 -15
  166. package/ngx-utils/services/global-template.service.d.ts +19 -19
  167. package/ngx-utils/services/icon.service.d.ts +13 -13
  168. package/ngx-utils/services/language.service.d.ts +21 -21
  169. package/ngx-utils/services/local-http.service.d.ts +14 -14
  170. package/ngx-utils/services/open-api.service.d.ts +11 -11
  171. package/ngx-utils/services/promise.service.d.ts +19 -19
  172. package/ngx-utils/services/state.service.d.ts +49 -49
  173. package/ngx-utils/services/static-language.service.d.ts +46 -46
  174. package/ngx-utils/services/storage.service.d.ts +15 -15
  175. package/ngx-utils/services/toaster.service.d.ts +13 -13
  176. package/ngx-utils/services/translated-url.serializer.d.ts +19 -19
  177. package/ngx-utils/services/universal.service.d.ts +28 -28
  178. package/ngx-utils/services/wasm.service.d.ts +25 -25
  179. package/ngx-utils/utils/ajax-request-handler.d.ts +11 -11
  180. package/ngx-utils/utils/array.utils.d.ts +11 -11
  181. package/ngx-utils/utils/auth.guard.d.ts +29 -29
  182. package/ngx-utils/utils/cached-factory.d.ts +2 -2
  183. package/ngx-utils/utils/canvas.utils.d.ts +13 -13
  184. package/ngx-utils/utils/date.utils.d.ts +8 -8
  185. package/ngx-utils/utils/file-system.d.ts +16 -16
  186. package/ngx-utils/utils/file.utils.d.ts +14 -14
  187. package/ngx-utils/utils/generic-value.d.ts +8 -8
  188. package/ngx-utils/utils/geometry.d.ts +50 -50
  189. package/ngx-utils/utils/initializer.d.ts +12 -12
  190. package/ngx-utils/utils/jsonfn.d.ts +6 -6
  191. package/ngx-utils/utils/loader.utils.d.ts +7 -7
  192. package/ngx-utils/utils/math.utils.d.ts +8 -8
  193. package/ngx-utils/utils/object.utils.d.ts +35 -35
  194. package/ngx-utils/utils/observable.utils.d.ts +13 -13
  195. package/ngx-utils/utils/reflect.utils.d.ts +9 -9
  196. package/ngx-utils/utils/set.utils.d.ts +4 -4
  197. package/ngx-utils/utils/string.utils.d.ts +9 -9
  198. package/ngx-utils/utils/timer.utils.d.ts +6 -6
  199. package/ngx-utils/utils/unique.utils.d.ts +5 -5
  200. package/ngx-utils/utils/vector.d.ts +23 -23
  201. package/ngx-utils/utils/wasi.d.ts +26 -26
  202. package/ngx-utils/utils/wasm-worker-proxy.d.ts +17 -17
  203. package/ngx-utils/utils/with-options-provider.d.ts +3 -3
  204. package/package.json +21 -29
  205. package/public_api.d.ts +93 -93
  206. package/tools/config.d.ts +7 -7
  207. package/tools/{stemy-ngx-utils-tools.d.ts → index.d.ts} +5 -5
  208. package/tools/public_api.d.ts +1 -1
  209. package/esm2020/ngx-utils/common-types.mjs +0 -123
  210. package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +0 -207
  211. package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +0 -101
  212. package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +0 -65
  213. package/esm2020/ngx-utils/directives/async-method.base.mjs +0 -82
  214. package/esm2020/ngx-utils/directives/background.directive.mjs +0 -51
  215. package/esm2020/ngx-utils/directives/icon.directive.mjs +0 -67
  216. package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +0 -90
  217. package/esm2020/ngx-utils/directives/pagination.directive.mjs +0 -84
  218. package/esm2020/ngx-utils/directives/resource-if.directive.mjs +0 -50
  219. package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +0 -34
  220. package/esm2020/ngx-utils/ngx-utils.module.mjs +0 -204
  221. package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +0 -25
  222. package/esm2020/ngx-utils/pipes/filter.pipe.mjs +0 -37
  223. package/esm2020/ngx-utils/pipes/find.pipe.mjs +0 -29
  224. package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +0 -41
  225. package/esm2020/ngx-utils/pipes/remap.pipe.mjs +0 -32
  226. package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +0 -24
  227. package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +0 -34
  228. package/esm2020/ngx-utils/pipes/translate.pipe.mjs +0 -86
  229. package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +0 -78
  230. package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +0 -39
  231. package/esm2020/ngx-utils/services/api.service.mjs +0 -42
  232. package/esm2020/ngx-utils/services/base-http.client.mjs +0 -47
  233. package/esm2020/ngx-utils/services/base-http.service.mjs +0 -305
  234. package/esm2020/ngx-utils/services/config.service.mjs +0 -130
  235. package/esm2020/ngx-utils/services/error-handler.service.mjs +0 -49
  236. package/esm2020/ngx-utils/services/global-template.service.mjs +0 -37
  237. package/esm2020/ngx-utils/services/icon.service.mjs +0 -26
  238. package/esm2020/ngx-utils/services/language.service.mjs +0 -124
  239. package/esm2020/ngx-utils/services/state.service.mjs +0 -173
  240. package/esm2020/ngx-utils/services/storage.service.mjs +0 -49
  241. package/esm2020/ngx-utils/services/translated-url.serializer.mjs +0 -73
  242. package/esm2020/ngx-utils/services/universal.service.mjs +0 -81
  243. package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +0 -40
  244. package/esm2020/ngx-utils/utils/array.utils.mjs +0 -107
  245. package/esm2020/ngx-utils/utils/auth.guard.mjs +0 -181
  246. package/esm2020/ngx-utils/utils/cached-factory.mjs +0 -30
  247. package/esm2020/ngx-utils/utils/canvas.utils.mjs +0 -388
  248. package/esm2020/ngx-utils/utils/date.utils.mjs +0 -29
  249. package/esm2020/ngx-utils/utils/file.utils.mjs +0 -90
  250. package/esm2020/ngx-utils/utils/geometry.mjs +0 -132
  251. package/esm2020/ngx-utils/utils/jsonfn.mjs +0 -45
  252. package/esm2020/ngx-utils/utils/loader.utils.mjs +0 -55
  253. package/esm2020/ngx-utils/utils/math.utils.mjs +0 -44
  254. package/esm2020/ngx-utils/utils/object.utils.mjs +0 -320
  255. package/esm2020/ngx-utils/utils/reflect.utils.mjs +0 -33
  256. package/esm2020/ngx-utils/utils/set.utils.mjs +0 -20
  257. package/esm2020/ngx-utils/utils/string.utils.mjs +0 -41
  258. package/esm2020/ngx-utils/utils/unique.utils.mjs +0 -24
  259. package/esm2020/ngx-utils/utils/vector.mjs +0 -77
  260. package/esm2020/ngx-utils/utils/wasi.mjs +0 -159
  261. package/esm2020/ngx-utils/utils/wasm-worker-proxy.mjs +0 -99
  262. package/esm2020/tools/config.mjs +0 -71
  263. package/fesm2015/stemy-ngx-utils-tools.mjs +0 -77
  264. package/fesm2015/stemy-ngx-utils.mjs +0 -5891
  265. package/fesm2015/stemy-ngx-utils.mjs.map +0 -1
  266. package/fesm2020/stemy-ngx-utils-tools.mjs.map +0 -1
  267. package/fesm2020/stemy-ngx-utils.mjs.map +0 -1
  268. package/tools/package.json +0 -10
@@ -1,26 +0,0 @@
1
- import { EventEmitter, Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class IconService {
4
- constructor() {
5
- this.iconsLoaded = new EventEmitter();
6
- this.disabled = false;
7
- }
8
- get isDisabled() {
9
- return this.disabled;
10
- }
11
- set isDisabled(value) {
12
- this.disabled = value;
13
- this.iconsLoaded.emit();
14
- }
15
- getIcon(icon, activeIcon, active) {
16
- icon = typeof icons == "undefined" ? icon : (icons[icon] || icon);
17
- activeIcon = typeof icons == "undefined" ? activeIcon : (icons[activeIcon] || icon);
18
- return Promise.resolve(active ? activeIcon : icon);
19
- }
20
- }
21
- IconService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
- IconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: IconService });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: IconService, decorators: [{
24
- type: Injectable
25
- }], ctorParameters: function () { return []; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9zZXJ2aWNlcy9pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBUXZELE1BQU0sT0FBTyxXQUFXO0lBZXBCO1FBQ0ksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFoQkQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQVdELE9BQU8sQ0FBQyxJQUFZLEVBQUUsVUFBa0IsRUFBRSxNQUFlO1FBQ3JELElBQUksR0FBRyxPQUFPLEtBQUssSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDbEUsVUFBVSxHQUFHLE9BQU8sS0FBSyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNwRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O3dHQXhCUSxXQUFXOzRHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0lJY29uU2VydmljZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuZGVjbGFyZSBjb25zdCBpY29uczoge1xyXG4gICAgW2ljb246IHN0cmluZ106IHN0cmluZztcclxufTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEljb25TZXJ2aWNlIGltcGxlbWVudHMgSUljb25TZXJ2aWNlIHtcclxuXHJcbiAgICBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgaXNEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmljb25zTG9hZGVkLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWNvbnNMb2FkZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIHByb3RlY3RlZCBkaXNhYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmljb25zTG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEljb24oaWNvbjogc3RyaW5nLCBhY3RpdmVJY29uOiBzdHJpbmcsIGFjdGl2ZTogYm9vbGVhbik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgaWNvbiA9IHR5cGVvZiBpY29ucyA9PSBcInVuZGVmaW5lZFwiID8gaWNvbiA6IChpY29uc1tpY29uXSB8fCBpY29uKTtcclxuICAgICAgICBhY3RpdmVJY29uID0gdHlwZW9mIGljb25zID09IFwidW5kZWZpbmVkXCIgPyBhY3RpdmVJY29uIDogKGljb25zW2FjdGl2ZUljb25dIHx8IGljb24pO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoYWN0aXZlID8gYWN0aXZlSWNvbiA6IGljb24pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,124 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { BehaviorSubject, combineLatest } from "rxjs";
3
- import { map } from "rxjs/operators";
4
- import { StaticLanguageService } from "./static-language.service";
5
- import * as i0 from "@angular/core";
6
- export class LanguageService extends StaticLanguageService {
7
- get currentLanguage() {
8
- return this.currentLang || this.defaultLanguage;
9
- }
10
- set currentLanguage(lang) {
11
- this.useLanguage(lang).then(() => {
12
- this.events.languageChanged.emit(lang);
13
- });
14
- }
15
- get settings() {
16
- const settings = this.languageSettings.value;
17
- return !settings ? {} : settings.settings[this.currentLanguage] || {};
18
- }
19
- get $settings() {
20
- this.loadSettings().then(s => this.languageSettings.next(s));
21
- return combineLatest([this.languageSettings, this.events.languageChanged]).pipe(map(([settings, lang]) => {
22
- return !settings ? {} : settings.settings[lang] || {};
23
- }));
24
- }
25
- initService() {
26
- this.client.setExtraRequestParam("language", "de");
27
- this.translationRequests = {};
28
- this.languageSettings = new BehaviorSubject(null);
29
- if (this.universal.isServer)
30
- return;
31
- window["setLanguage"] = (lang) => {
32
- this.currentLanguage = lang;
33
- };
34
- }
35
- async initFromSettings() {
36
- const defaultLanguage = this.defaultLanguage;
37
- const settings = await this.loadSettings();
38
- this.languageSettings.next(settings);
39
- const devLanguages = settings.devLanguages || [];
40
- this.languageList = (settings.languages || []).filter(lang => {
41
- const unavailable = settings.settings[lang]?.unavailable;
42
- if (unavailable) {
43
- const parts = unavailable.split("/");
44
- const value = parts[0] || parts[1];
45
- const flags = parts.length > 1 ? parts[parts.length - 1] : "g";
46
- if (new RegExp(value, flags).test(this.config.baseDomain))
47
- return false;
48
- }
49
- return devLanguages.indexOf(lang) < 0;
50
- });
51
- if (this.languageList.length === 0) {
52
- this.languageList = [defaultLanguage];
53
- }
54
- const lang = this.languages.indexOf(defaultLanguage) < 0 ? settings.defaultLanguage || this.languageList[0] : defaultLanguage;
55
- await this.useLanguage(lang);
56
- this.events.languageChanged.emit(lang);
57
- }
58
- async getTranslation(key, params = null) {
59
- if (!key)
60
- return "";
61
- try {
62
- const lowerKey = key.toLocaleLowerCase();
63
- const dict = await this.loadDictionary();
64
- if (lowerKey in dict) {
65
- return this.interpolate(dict[lowerKey], params);
66
- }
67
- return this.interpolate(key, params);
68
- }
69
- catch (reason) {
70
- console.log("ERROR IN TRANSLATIONS", reason);
71
- return key;
72
- }
73
- }
74
- async useLanguage(lang) {
75
- lang = this.languages.indexOf(lang) < 0 ? this.languages[0] : lang;
76
- this.client.setExtraRequestParam("language", lang);
77
- if (lang == this.currentLang)
78
- return this.dictionary;
79
- this.storage.set("language", lang);
80
- this.currentLang = lang;
81
- const dict = await this.loadDictionary();
82
- this.translations[lang] = dict;
83
- return dict;
84
- }
85
- loadDictionary() {
86
- const lang = this.currentLanguage;
87
- this.translationRequests[lang] = this.translationRequests[lang] || new Promise(resolve => {
88
- this.httpClient.get(`${this.config.translationUrl}${lang}`).toPromise().then(response => {
89
- response = response || {};
90
- resolve(Object.keys(response).reduce((result, key) => {
91
- result[key.toLocaleLowerCase()] = response[key];
92
- return result;
93
- }, {}));
94
- }, () => {
95
- resolve({});
96
- });
97
- });
98
- return this.translationRequests[lang];
99
- }
100
- loadSettings() {
101
- this.settingsPromise = this.settingsPromise || (this.client.get(`${this.config.translationUrl}languageSettings`).toPromise())
102
- .then((settings) => {
103
- return settings;
104
- }, () => {
105
- return {
106
- languages: ["de", "en", "hu"],
107
- devLanguages: [],
108
- defaultLanguage: "de",
109
- settings: {
110
- de: {},
111
- hu: {},
112
- en: {}
113
- }
114
- };
115
- });
116
- return this.settingsPromise;
117
- }
118
- }
119
- LanguageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: LanguageService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
120
- LanguageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: LanguageService });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: LanguageService, decorators: [{
122
- type: Injectable
123
- }] });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvbGFuZ3VhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFHaEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEscUJBQXFCO0lBTXRELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxJQUFZO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztRQUM3QyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0Is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QUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3hILElBQUksQ0FDRCxDQUFDLFFBQTJCLEVBQUUsRUFBRTtZQUM1QixPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDLEVBQUUsR0FBRyxFQUFFO1lBQ0osT0FBTztnQkFDSCxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztnQkFDN0IsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUU7b0JBQ04sRUFBRSxFQUFFLEVBQUU7b0JBQ04sRUFBRSxFQUFFLEVBQUU7b0JBQ04sRUFBRSxFQUFFLEVBQUU7aUJBQ1Q7YUFDSixDQUFDO1FBQ04sQ0FBQyxDQUNKLENBQUM7UUFDTixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQzs7NEdBMUhRLGVBQWU7Z0hBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHttYXB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQge0lMYW5ndWFnZVNldHRpbmcsIElMYW5ndWFnZVNldHRpbmdzLCBJVHJhbnNsYXRpb25zfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7U3RhdGljTGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9zdGF0aWMtbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VTZXJ2aWNlIGV4dGVuZHMgU3RhdGljTGFuZ3VhZ2VTZXJ2aWNlIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRpb25SZXF1ZXN0czogSVRyYW5zbGF0aW9ucztcclxuICAgIHByb3RlY3RlZCBzZXR0aW5nc1Byb21pc2U6IFByb21pc2U8SUxhbmd1YWdlU2V0dGluZ3M+O1xyXG4gICAgcHJvdGVjdGVkIGxhbmd1YWdlU2V0dGluZ3M6IEJlaGF2aW9yU3ViamVjdDxJTGFuZ3VhZ2VTZXR0aW5ncz47XHJcblxyXG4gICAgZ2V0IGN1cnJlbnRMYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRMYW5nIHx8IHRoaXMuZGVmYXVsdExhbmd1YWdlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBjdXJyZW50TGFuZ3VhZ2UobGFuZzogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy51c2VMYW5ndWFnZShsYW5nKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ldmVudHMubGFuZ3VhZ2VDaGFuZ2VkLmVtaXQobGFuZyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNldHRpbmdzKCk6IElMYW5ndWFnZVNldHRpbmcge1xyXG4gICAgICAgIGNvbnN0IHNldHRpbmdzID0gdGhpcy5sYW5ndWFnZVNldHRpbmdzLnZhbHVlO1xyXG4gICAgICAgIHJldHVybiAhc2V0dGluZ3MgPyB7fSA6IHNldHRpbmdzLnNldHRpbmdzW3RoaXMuY3VycmVudExhbmd1YWdlXSB8fCB7fTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgJHNldHRpbmdzKCk6IE9ic2VydmFibGU8SUxhbmd1YWdlU2V0dGluZz4ge1xyXG4gICAgICAgIHRoaXMubG9hZFNldHRpbmdzKCkudGhlbihzID0+IHRoaXMubGFuZ3VhZ2VTZXR0aW5ncy5uZXh0KHMpKTtcclxuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5sYW5ndWFnZVNldHRpbmdzLCB0aGlzLmV2ZW50cy5sYW5ndWFnZUNoYW5nZWRdKS5waXBlKG1hcCgoW3NldHRpbmdzLCBsYW5nXSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gIXNldHRpbmdzID8ge30gOiBzZXR0aW5ncy5zZXR0aW5nc1tsYW5nIGFzIHN0cmluZ10gfHwge307XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBpbml0U2VydmljZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNsaWVudC5zZXRFeHRyYVJlcXVlc3RQYXJhbShcImxhbmd1YWdlXCIsIFwiZGVcIik7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblJlcXVlc3RzID0ge307XHJcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNldHRpbmdzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJTGFuZ3VhZ2VTZXR0aW5ncz4obnVsbCk7XHJcbiAgICAgICAgaWYgKHRoaXMudW5pdmVyc2FsLmlzU2VydmVyKSByZXR1cm47XHJcbiAgICAgICAgd2luZG93W1wic2V0TGFuZ3VhZ2VcIl0gPSAobGFuZzogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudExhbmd1YWdlID0gbGFuZztcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGluaXRGcm9tU2V0dGluZ3MoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0TGFuZ3VhZ2UgPSB0aGlzLmRlZmF1bHRMYW5ndWFnZTtcclxuICAgICAgICBjb25zdCBzZXR0aW5ncyA9IGF3YWl0IHRoaXMubG9hZFNldHRpbmdzKCk7XHJcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNldHRpbmdzLm5leHQoc2V0dGluZ3MpO1xyXG4gICAgICAgIGNvbnN0IGRldkxhbmd1YWdlcyA9IHNldHRpbmdzLmRldkxhbmd1YWdlcyB8fCBbXTtcclxuICAgICAgICB0aGlzLmxhbmd1YWdlTGlzdCA9IChzZXR0aW5ncy5sYW5ndWFnZXMgfHwgW10pLmZpbHRlcihsYW5nID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdW5hdmFpbGFibGUgPSBzZXR0aW5ncy5zZXR0aW5nc1tsYW5nXT8udW5hdmFpbGFibGU7XHJcbiAgICAgICAgICAgIGlmICh1bmF2YWlsYWJsZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGFydHMgPSB1bmF2YWlsYWJsZS5zcGxpdChcIi9cIik7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcnRzWzBdIHx8IHBhcnRzWzFdO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmxhZ3MgPSBwYXJ0cy5sZW5ndGggPiAxID8gcGFydHNbcGFydHMubGVuZ3RoIC0gMV0gOiBcImdcIjtcclxuICAgICAgICAgICAgICAgIGlmIChuZXcgUmVnRXhwKHZhbHVlLCBmbGFncykudGVzdCh0aGlzLmNvbmZpZy5iYXNlRG9tYWluKSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBkZXZMYW5ndWFnZXMuaW5kZXhPZihsYW5nKSA8IDA7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHRoaXMubGFuZ3VhZ2VMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlTGlzdCA9IFtkZWZhdWx0TGFuZ3VhZ2VdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBsYW5nID0gdGhpcy5sYW5ndWFnZXMuaW5kZXhPZihkZWZhdWx0TGFuZ3VhZ2UpIDwgMCA/IHNldHRpbmdzLmRlZmF1bHRMYW5ndWFnZSB8fCB0aGlzLmxhbmd1YWdlTGlzdFswXSA6IGRlZmF1bHRMYW5ndWFnZTtcclxuICAgICAgICBhd2FpdCB0aGlzLnVzZUxhbmd1YWdlKGxhbmcpO1xyXG4gICAgICAgIHRoaXMuZXZlbnRzLmxhbmd1YWdlQ2hhbmdlZC5lbWl0KGxhbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldFRyYW5zbGF0aW9uKGtleTogc3RyaW5nLCBwYXJhbXM6IGFueSA9IG51bGwpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIGlmICgha2V5KSByZXR1cm4gXCJcIjtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBsb3dlcktleSA9IGtleS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICBjb25zdCBkaWN0ID0gYXdhaXQgdGhpcy5sb2FkRGljdGlvbmFyeSgpO1xyXG4gICAgICAgICAgICBpZiAobG93ZXJLZXkgaW4gZGljdCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJwb2xhdGUoZGljdFtsb3dlcktleV0sIHBhcmFtcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJwb2xhdGUoa2V5LCBwYXJhbXMpO1xyXG4gICAgICAgIH0gY2F0Y2ggKHJlYXNvbikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkVSUk9SIElOIFRSQU5TTEFUSU9OU1wiLCByZWFzb24pO1xyXG4gICAgICAgICAgICByZXR1cm4ga2V5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgdXNlTGFuZ3VhZ2UobGFuZzogc3RyaW5nKTogUHJvbWlzZTxJVHJhbnNsYXRpb25zPiB7XHJcbiAgICAgICAgbGFuZyA9IHRoaXMubGFuZ3VhZ2VzLmluZGV4T2YobGFuZykgPCAwID8gdGhpcy5sYW5ndWFnZXNbMF0gOiBsYW5nO1xyXG4gICAgICAgIHRoaXMuY2xpZW50LnNldEV4dHJhUmVxdWVzdFBhcmFtKFwibGFuZ3VhZ2VcIiwgbGFuZyk7XHJcbiAgICAgICAgaWYgKGxhbmcgPT0gdGhpcy5jdXJyZW50TGFuZykgcmV0dXJuIHRoaXMuZGljdGlvbmFyeTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0KFwibGFuZ3VhZ2VcIiwgbGFuZyk7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGFuZyA9IGxhbmc7XHJcbiAgICAgICAgY29uc3QgZGljdCA9IGF3YWl0IHRoaXMubG9hZERpY3Rpb25hcnkoKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uc1tsYW5nXSA9IGRpY3Q7XHJcbiAgICAgICAgcmV0dXJuIGRpY3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGxvYWREaWN0aW9uYXJ5KCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc3QgbGFuZyA9IHRoaXMuY3VycmVudExhbmd1YWdlO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRpb25SZXF1ZXN0c1tsYW5nXSA9IHRoaXMudHJhbnNsYXRpb25SZXF1ZXN0c1tsYW5nXSB8fCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZy50cmFuc2xhdGlvblVybH0ke2xhbmd9YCkudG9Qcm9taXNlKCkudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNwb25zZSA9IHJlc3BvbnNlIHx8IHt9O1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShPYmplY3Qua2V5cyhyZXNwb25zZSkucmVkdWNlKChyZXN1bHQsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtrZXkudG9Mb2NhbGVMb3dlckNhc2UoKV0gPSByZXNwb25zZVtrZXldO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICB9LCB7fSkpO1xyXG4gICAgICAgICAgICB9LCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKHt9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25SZXF1ZXN0c1tsYW5nXTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgbG9hZFNldHRpbmdzKCk6IFByb21pc2U8SUxhbmd1YWdlU2V0dGluZ3M+IHtcclxuICAgICAgICB0aGlzLnNldHRpbmdzUHJvbWlzZSA9IHRoaXMuc2V0dGluZ3NQcm9taXNlIHx8ICh0aGlzLmNsaWVudC5nZXQoYCR7dGhpcy5jb25maWcudHJhbnNsYXRpb25Vcmx9bGFuZ3VhZ2VTZXR0aW5nc2ApLnRvUHJvbWlzZSgpKVxyXG4gICAgICAgICAgICAudGhlbihcclxuICAgICAgICAgICAgICAgIChzZXR0aW5nczogSUxhbmd1YWdlU2V0dGluZ3MpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0dGluZ3M7XHJcbiAgICAgICAgICAgICAgICB9LCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2VzOiBbXCJkZVwiLCBcImVuXCIsIFwiaHVcIl0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldkxhbmd1YWdlczogW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRMYW5ndWFnZTogXCJkZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGU6IHt9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHU6IHt9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW46IHt9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzUHJvbWlzZTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,173 +0,0 @@
1
- import { Injectable, Injector, NgZone, Optional } from "@angular/core";
2
- import { ActivatedRouteSnapshot, NavigationEnd, Router } from "@angular/router";
3
- import { BehaviorSubject, Observable } from "rxjs";
4
- import { skipWhile } from "rxjs/operators";
5
- import { ObjectUtils } from "../utils/object.utils";
6
- import { UniversalService } from "./universal.service";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./universal.service";
9
- import * as i2 from "@angular/router";
10
- export const emptySnapshot = new ActivatedRouteSnapshot();
11
- export const emptyData = { id: "" };
12
- export const emptyParams = {};
13
- export const emptySegments = [];
14
- export const emptyComponents = [];
15
- export class StateService extends BehaviorSubject {
16
- constructor(injector, zone, universal, router = null) {
17
- super(null);
18
- this.injector = injector;
19
- this.zone = zone;
20
- this.universal = universal;
21
- this.router = router;
22
- this.handleRouterEvent = (event) => {
23
- if (!(event instanceof NavigationEnd))
24
- return;
25
- const routerStateSnapshot = this.router.routerState.snapshot;
26
- let snapshot = routerStateSnapshot.root;
27
- let context = this.contexts?.getContext("primary");
28
- let segments = snapshot.url;
29
- const components = [];
30
- const snapshots = [];
31
- while (snapshot) {
32
- snapshots.push(snapshot);
33
- segments = segments.concat(snapshot.url);
34
- if (context) {
35
- if (context.outlet && context.outlet.isActivated)
36
- components.push(context.outlet.component);
37
- context = context.children.getContext("primary");
38
- }
39
- snapshot = snapshot.firstChild;
40
- }
41
- this.comp = components[components.length - 1];
42
- this.shot = snapshots[snapshots.length - 1];
43
- this.stateInfo = {
44
- url: routerStateSnapshot.url,
45
- segments: segments,
46
- components: components
47
- };
48
- this.next(this.shot);
49
- };
50
- if (!this.router)
51
- return;
52
- this.globalExtras = {
53
- queryParamsHandling: "merge"
54
- };
55
- this.router.events.subscribe(this.handleRouterEvent);
56
- this.stateInfo = {
57
- url: "",
58
- segments: [],
59
- components: []
60
- };
61
- this.contexts = router.rootContexts;
62
- }
63
- static toPath(route, params) {
64
- let path = route.path || "";
65
- ObjectUtils.iterate(params, (value, key) => {
66
- path = path.replace(`:${key}`, `${value}`);
67
- });
68
- return path;
69
- }
70
- get component() {
71
- return this.comp;
72
- }
73
- get snapshot() {
74
- return this.shot || emptySnapshot;
75
- }
76
- get route() {
77
- return this.snapshot.routeConfig;
78
- }
79
- get data() {
80
- return this.snapshot.data || emptyData;
81
- }
82
- get params() {
83
- return this.snapshot.params || emptyParams;
84
- }
85
- get queryParams() {
86
- return this.snapshot.queryParams || emptyParams;
87
- }
88
- get url() {
89
- return this.stateInfo.url || "";
90
- }
91
- get urlSegments() {
92
- return this.stateInfo.segments || emptySegments;
93
- }
94
- get components() {
95
- return this.stateInfo.components || emptyComponents;
96
- }
97
- get routerConfig() {
98
- return this.router.config;
99
- }
100
- async reload() {
101
- const routerStateSnapshot = this.router.routerState.snapshot;
102
- const resolvers = this.route.resolve || {};
103
- const keys = Object.keys(resolvers);
104
- for (const key of keys) {
105
- const resolver = this.injector.get(resolvers[key]);
106
- let resolved = resolver.resolve(this.snapshot, routerStateSnapshot);
107
- if (resolved instanceof Observable) {
108
- resolved = resolved.toPromise();
109
- }
110
- if (resolved instanceof Promise) {
111
- resolved = await resolved;
112
- }
113
- this.data[key] = resolved;
114
- }
115
- }
116
- async navigateByUrl(url, navigationExtras = {}) {
117
- return this.navigate(url, navigationExtras);
118
- }
119
- async navigate(url, navigationExtras = {}) {
120
- if (!this.router)
121
- return false;
122
- const [tree, extras] = this.createUrlTree(url, navigationExtras);
123
- return this.zone.run(() => {
124
- return this.router.navigateByUrl(tree, extras);
125
- });
126
- }
127
- async open(url, target = "_blank", navigationExtras = {}) {
128
- if (!this.router)
129
- return false;
130
- const [tree, extras] = this.createUrlTree(url, navigationExtras);
131
- return this.zone.run(() => {
132
- return this.openInNewWindow(tree, target) || this.router.navigateByUrl(tree, extras);
133
- });
134
- }
135
- subscribeImmediately(next, error, complete) {
136
- return this.pipe(skipWhile(v => v == null)).subscribe(next, error, complete);
137
- }
138
- openInNewWindow(tree, target) {
139
- if (!this.universal.isBrowser)
140
- return false;
141
- const baseUrl = window.location.href.replace(this.router.url, "");
142
- try {
143
- const serialized = this.router.serializeUrl(tree);
144
- const separator = serialized.startsWith("/") ? "" : "/";
145
- window.open(baseUrl + separator + serialized, target);
146
- return true;
147
- }
148
- catch (e) {
149
- console.log(`Can't open new window: ${e}`);
150
- return false;
151
- }
152
- }
153
- createUrlTree(url, extras) {
154
- if (!this.router)
155
- return null;
156
- extras = Object.assign(extras, this.globalExtras, extras || {});
157
- if (ObjectUtils.isArray(url)) {
158
- return [this.router.createUrlTree(url, extras), extras];
159
- }
160
- if (ObjectUtils.isString(url)) {
161
- return [this.router.parseUrl(url), extras];
162
- }
163
- return [url, extras];
164
- }
165
- }
166
- StateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: StateService, deps: [{ token: i0.Injector }, { token: i0.NgZone }, { token: i1.UniversalService }, { token: i2.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
167
- StateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: StateService });
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: StateService, decorators: [{
169
- type: Injectable
170
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.NgZone }, { type: i1.UniversalService }, { type: i2.Router, decorators: [{
171
- type: Optional
172
- }] }]; } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxzQkFBc0IsRUFJdEIsYUFBYSxFQU1iLE1BQU0sRUFHVCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBQyxlQUFlLEVBQUUsVUFBVSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFFckQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEyQixJQUFJLHNCQUFzQixFQUFFLENBQUM7QUFDbEYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFTLEVBQUMsRUFBRSxFQUFFLEVBQUUsRUFBQyxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBVyxFQUFFLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFpQixFQUFFLENBQUM7QUFDOUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFVLEVBQUUsQ0FBQztBQVN6QyxNQUFNLE9BQU8sWUFBYSxTQUFRLGVBQW9CO0lBeURsRCxZQUFxQixRQUFrQixFQUNsQixJQUFZLEVBQ1osU0FBMkIsRUFDZixTQUFpQixJQUFJO1FBQ2xELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUpLLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQWtC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Q0FBQyxDQUFDO1lBQ3RELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0MsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBRVMsYUFBYSxDQUFDLEdBQXVCLEVBQUUsTUFBeUI7UUFDdEUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1NBQzFEO1FBQ0QsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM5QztRQUNELE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7eUdBNUlRLFlBQVk7NkdBQVosWUFBWTsyRkFBWixZQUFZO2tCQUR4QixVQUFVOzswQkE2RE0sUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSwgT3B0aW9uYWx9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgQ2hpbGRyZW5PdXRsZXRDb250ZXh0cyxcclxuICAgIERhdGEsXHJcbiAgICBFdmVudCxcclxuICAgIE5hdmlnYXRpb25FbmQsXHJcbiAgICBOYXZpZ2F0aW9uRXh0cmFzLFxyXG4gICAgT3V0bGV0Q29udGV4dCxcclxuICAgIFBhcmFtcyxcclxuICAgIFJlc29sdmUsXHJcbiAgICBSb3V0ZSxcclxuICAgIFJvdXRlcixcclxuICAgIFVybFNlZ21lbnQsXHJcbiAgICBVcmxUcmVlXHJcbn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge3NraXBXaGlsZX0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuaW1wb3J0IHtJUm91dGUsIE5hdmlnYXRpb25VcmxQYXJhbX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZW1wdHlTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9IG5ldyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KCk7XHJcbmV4cG9ydCBjb25zdCBlbXB0eURhdGE6IERhdGEgPSB7aWQ6IFwiXCJ9O1xyXG5leHBvcnQgY29uc3QgZW1wdHlQYXJhbXM6IFBhcmFtcyA9IHt9O1xyXG5leHBvcnQgY29uc3QgZW1wdHlTZWdtZW50czogVXJsU2VnbWVudFtdID0gW107XHJcbmV4cG9ydCBjb25zdCBlbXB0eUNvbXBvbmVudHM6IGFueVtdID0gW107XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTdGF0ZUluZm8ge1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbiAgICBzZWdtZW50czogVXJsU2VnbWVudFtdO1xyXG4gICAgY29tcG9uZW50czogYW55W107XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN0YXRlU2VydmljZSBleHRlbmRzIEJlaGF2aW9yU3ViamVjdDxhbnk+IHtcclxuXHJcbiAgICByZWFkb25seSBnbG9iYWxFeHRyYXM6IE5hdmlnYXRpb25FeHRyYXM7XHJcblxyXG4gICAgcHJpdmF0ZSBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90O1xyXG4gICAgcHJpdmF0ZSBjb21wOiBhbnk7XHJcbiAgICBwcml2YXRlIHN0YXRlSW5mbzogSVN0YXRlSW5mbztcclxuICAgIHByaXZhdGUgY29udGV4dHM6IENoaWxkcmVuT3V0bGV0Q29udGV4dHM7XHJcblxyXG4gICAgc3RhdGljIHRvUGF0aChyb3V0ZTogUm91dGUsIHBhcmFtczogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgcGF0aCA9IHJvdXRlLnBhdGggfHwgXCJcIjtcclxuICAgICAgICBPYmplY3RVdGlscy5pdGVyYXRlKHBhcmFtcywgKHZhbHVlOiBhbnksIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoYDoke2tleX1gLCBgJHt2YWx1ZX1gKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcGF0aDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tcG9uZW50KCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc25hcHNob3QoKTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvdCB8fCBlbXB0eVNuYXBzaG90O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByb3V0ZSgpOiBJUm91dGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNuYXBzaG90LnJvdXRlQ29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkYXRhKCk6IERhdGEge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNuYXBzaG90LmRhdGEgfHwgZW1wdHlEYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBwYXJhbXMoKTogUGFyYW1zIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zbmFwc2hvdC5wYXJhbXMgfHwgZW1wdHlQYXJhbXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHF1ZXJ5UGFyYW1zKCk6IFBhcmFtcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hcHNob3QucXVlcnlQYXJhbXMgfHwgZW1wdHlQYXJhbXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHVybCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5mby51cmwgfHwgXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdXJsU2VnbWVudHMoKTogVXJsU2VnbWVudFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUluZm8uc2VnbWVudHMgfHwgZW1wdHlTZWdtZW50cztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tcG9uZW50cygpOiBhbnlbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbmZvLmNvbXBvbmVudHMgfHwgZW1wdHlDb21wb25lbnRzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByb3V0ZXJDb25maWcoKTogSVJvdXRlW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5jb25maWc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgem9uZTogTmdab25lLFxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgdW5pdmVyc2FsOiBVbml2ZXJzYWxTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIgPSBudWxsKSB7XHJcbiAgICAgICAgc3VwZXIobnVsbCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJvdXRlcikgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuZ2xvYmFsRXh0cmFzID0ge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiBcIm1lcmdlXCJcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUodGhpcy5oYW5kbGVSb3V0ZXJFdmVudCk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZUluZm8gPSB7XHJcbiAgICAgICAgICAgIHVybDogXCJcIixcclxuICAgICAgICAgICAgc2VnbWVudHM6IFtdLFxyXG4gICAgICAgICAgICBjb21wb25lbnRzOiBbXVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5jb250ZXh0cyA9ICg8YW55PnJvdXRlcikucm9vdENvbnRleHRzO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlbG9hZCgpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHJvdXRlclN0YXRlU25hcHNob3QgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdDtcclxuICAgICAgICBjb25zdCByZXNvbHZlcnMgPSB0aGlzLnJvdXRlLnJlc29sdmUgfHwge307XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlc29sdmVycyk7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xyXG4gICAgICAgICAgICBjb25zdCByZXNvbHZlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KHJlc29sdmVyc1trZXldKSBhcyBSZXNvbHZlPGFueT47XHJcbiAgICAgICAgICAgIGxldCByZXNvbHZlZCA9IHJlc29sdmVyLnJlc29sdmUodGhpcy5zbmFwc2hvdCwgcm91dGVyU3RhdGVTbmFwc2hvdCk7XHJcbiAgICAgICAgICAgIGlmIChyZXNvbHZlZCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmVkID0gcmVzb2x2ZWQudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHJlc29sdmVkIGluc3RhbmNlb2YgUHJvbWlzZSkge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZWQgPSBhd2FpdCByZXNvbHZlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRhdGFba2V5XSA9IHJlc29sdmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBuYXZpZ2F0ZUJ5VXJsKHVybDogc3RyaW5nIHwgVXJsVHJlZSwgbmF2aWdhdGlvbkV4dHJhczogTmF2aWdhdGlvbkV4dHJhcyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGUodXJsLCBuYXZpZ2F0aW9uRXh0cmFzKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBuYXZpZ2F0ZSh1cmw6IE5hdmlnYXRpb25VcmxQYXJhbSwgbmF2aWdhdGlvbkV4dHJhczogTmF2aWdhdGlvbkV4dHJhcyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJvdXRlcikgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IFt0cmVlLCBleHRyYXNdID0gdGhpcy5jcmVhdGVVcmxUcmVlKHVybCwgbmF2aWdhdGlvbkV4dHJhcyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0cmVlLCBleHRyYXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG9wZW4odXJsOiBOYXZpZ2F0aW9uVXJsUGFyYW0sIHRhcmdldCA9IFwiX2JsYW5rXCIsIG5hdmlnYXRpb25FeHRyYXM6IE5hdmlnYXRpb25FeHRyYXMgPSB7fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yb3V0ZXIpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBjb25zdCBbdHJlZSwgZXh0cmFzXSA9IHRoaXMuY3JlYXRlVXJsVHJlZSh1cmwsIG5hdmlnYXRpb25FeHRyYXMpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3BlbkluTmV3V2luZG93KHRyZWUsIHRhcmdldCkgfHwgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0cmVlLCBleHRyYXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN1YnNjcmliZUltbWVkaWF0ZWx5KG5leHQ/OiAodmFsdWU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHZvaWQsIGVycm9yPzogKGVycm9yOiBhbnkpID0+IHZvaWQsIGNvbXBsZXRlPzogKCkgPT4gdm9pZCk6IFN1YnNjcmlwdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucGlwZShza2lwV2hpbGUodiA9PiB2ID09IG51bGwpKS5zdWJzY3JpYmUobmV4dCwgZXJyb3IsIGNvbXBsZXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb3BlbkluTmV3V2luZG93KHRyZWU6IFVybFRyZWUsIHRhcmdldDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnVuaXZlcnNhbC5pc0Jyb3dzZXIpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBjb25zdCBiYXNlVXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYucmVwbGFjZSh0aGlzLnJvdXRlci51cmwsIFwiXCIpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSB0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodHJlZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlcGFyYXRvciA9IHNlcmlhbGl6ZWQuc3RhcnRzV2l0aChcIi9cIikgPyBcIlwiIDogXCIvXCI7XHJcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGJhc2VVcmwgKyBzZXBhcmF0b3IgKyBzZXJpYWxpemVkLCB0YXJnZXQpO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDYW4ndCBvcGVuIG5ldyB3aW5kb3c6ICR7ZX1gKTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgY3JlYXRlVXJsVHJlZSh1cmw6IE5hdmlnYXRpb25VcmxQYXJhbSwgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyk6IFtVcmxUcmVlLCBOYXZpZ2F0aW9uRXh0cmFzXSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJvdXRlcikgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgZXh0cmFzID0gT2JqZWN0LmFzc2lnbihleHRyYXMsIHRoaXMuZ2xvYmFsRXh0cmFzLCBleHRyYXMgfHwge30pO1xyXG4gICAgICAgIGlmIChPYmplY3RVdGlscy5pc0FycmF5KHVybCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFt0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHVybCwgZXh0cmFzKSwgZXh0cmFzXVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoT2JqZWN0VXRpbHMuaXNTdHJpbmcodXJsKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gW3RoaXMucm91dGVyLnBhcnNlVXJsKHVybCksIGV4dHJhc107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBbdXJsLCBleHRyYXNdO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBoYW5kbGVSb3V0ZXJFdmVudCA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcclxuICAgICAgICBpZiAoIShldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKSByZXR1cm47XHJcbiAgICAgICAgY29uc3Qgcm91dGVyU3RhdGVTbmFwc2hvdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90O1xyXG4gICAgICAgIGxldCBzbmFwc2hvdCA9IHJvdXRlclN0YXRlU25hcHNob3Qucm9vdDtcclxuICAgICAgICBsZXQgY29udGV4dDogT3V0bGV0Q29udGV4dCA9IHRoaXMuY29udGV4dHM/LmdldENvbnRleHQoXCJwcmltYXJ5XCIpO1xyXG4gICAgICAgIGxldCBzZWdtZW50cyA9IHNuYXBzaG90LnVybDtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRzOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHNuYXBzaG90czogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFtdID0gW107XHJcbiAgICAgICAgd2hpbGUgKHNuYXBzaG90KSB7XHJcbiAgICAgICAgICAgIHNuYXBzaG90cy5wdXNoKHNuYXBzaG90KTtcclxuICAgICAgICAgICAgc2VnbWVudHMgPSBzZWdtZW50cy5jb25jYXQoc25hcHNob3QudXJsKTtcclxuICAgICAgICAgICAgaWYgKGNvbnRleHQpIHtcclxuICAgICAgICAgICAgICAgIGlmIChjb250ZXh0Lm91dGxldCAmJiBjb250ZXh0Lm91dGxldC5pc0FjdGl2YXRlZClcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzLnB1c2goY29udGV4dC5vdXRsZXQuY29tcG9uZW50KTtcclxuICAgICAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNoaWxkcmVuLmdldENvbnRleHQoXCJwcmltYXJ5XCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNuYXBzaG90ID0gc25hcHNob3QuZmlyc3RDaGlsZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb21wID0gY29tcG9uZW50c1tjb21wb25lbnRzLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgIHRoaXMuc2hvdCA9IHNuYXBzaG90c1tzbmFwc2hvdHMubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgdGhpcy5zdGF0ZUluZm8gPSB7XHJcbiAgICAgICAgICAgIHVybDogcm91dGVyU3RhdGVTbmFwc2hvdC51cmwsXHJcbiAgICAgICAgICAgIHNlZ21lbnRzOiBzZWdtZW50cyxcclxuICAgICAgICAgICAgY29tcG9uZW50czogY29tcG9uZW50c1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5uZXh0KHRoaXMuc2hvdCk7XHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { StorageMode } from "../common-types";
3
- import { UniversalService } from "./universal.service";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./universal.service";
6
- /**
7
- * Use this service instead of Storage to avoid Angular Universal breaks on server environment
8
- */
9
- export class StorageService {
10
- constructor(universal) {
11
- this.universal = universal;
12
- }
13
- get(key, defaultValue, mode = StorageMode.Local) {
14
- if (!this.universal.isBrowser)
15
- return defaultValue;
16
- const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
17
- const item = storage.getItem(key);
18
- if (!item)
19
- return defaultValue;
20
- try {
21
- return JSON.parse(item);
22
- }
23
- catch (e) {
24
- return item;
25
- }
26
- }
27
- set(key, value, mode = StorageMode.Local) {
28
- if (!this.universal.isBrowser)
29
- return;
30
- const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
31
- if (typeof value == "string") {
32
- storage.setItem(key, value);
33
- return;
34
- }
35
- storage.setItem(key, JSON.stringify(value));
36
- }
37
- remove(key, mode = StorageMode.Local) {
38
- if (!this.universal.isBrowser)
39
- return;
40
- const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
41
- storage.removeItem(key);
42
- }
43
- }
44
- StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: StorageService, deps: [{ token: i1.UniversalService }], target: i0.ɵɵFactoryTarget.Injectable });
45
- StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: StorageService });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: StorageService, decorators: [{
47
- type: Injectable
48
- }], ctorParameters: function () { return [{ type: i1.UniversalService }]; } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7OztBQUVyRDs7R0FFRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBRXZCLFlBQXFCLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQ2hELENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLFlBQWtCLEVBQUUsT0FBb0IsV0FBVyxDQUFDLEtBQUs7UUFDdEUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUztZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUMxRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxZQUFZLENBQUM7UUFDL0IsSUFBSTtZQUNBLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMzQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVUsRUFBRSxPQUFvQixXQUFXLENBQUMsS0FBSztRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDMUUsSUFBSSxPQUFPLEtBQUssSUFBSSxRQUFRLEVBQUU7WUFDMUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDNUIsT0FBTztTQUNWO1FBQ0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVyxFQUFFLE9BQW9CLFdBQVcsQ0FBQyxLQUFLO1FBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUMxRSxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzJHQS9CUSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdG9yYWdlTW9kZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XHJcblxyXG4vKipcclxuICogVXNlIHRoaXMgc2VydmljZSBpbnN0ZWFkIG9mIFN0b3JhZ2UgdG8gYXZvaWQgQW5ndWxhciBVbml2ZXJzYWwgYnJlYWtzIG9uIHNlcnZlciBlbnZpcm9ubWVudFxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3RvcmFnZVNlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHVuaXZlcnNhbDogVW5pdmVyc2FsU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIGdldChrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogYW55LCBtb2RlOiBTdG9yYWdlTW9kZSA9IFN0b3JhZ2VNb2RlLkxvY2FsKTogYW55IHtcclxuICAgICAgICBpZiAoIXRoaXMudW5pdmVyc2FsLmlzQnJvd3NlcikgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuICAgICAgICBjb25zdCBzdG9yYWdlID0gbW9kZSA9PSBTdG9yYWdlTW9kZS5Mb2NhbCA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlO1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSBzdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgICAgICBpZiAoIWl0ZW0pIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoaXRlbSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBtb2RlOiBTdG9yYWdlTW9kZSA9IFN0b3JhZ2VNb2RlLkxvY2FsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnVuaXZlcnNhbC5pc0Jyb3dzZXIpIHJldHVybjtcclxuICAgICAgICBjb25zdCBzdG9yYWdlID0gbW9kZSA9PSBTdG9yYWdlTW9kZS5Mb2NhbCA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgICAgICBzdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmUoa2V5OiBzdHJpbmcsIG1vZGU6IFN0b3JhZ2VNb2RlID0gU3RvcmFnZU1vZGUuTG9jYWwpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMudW5pdmVyc2FsLmlzQnJvd3NlcikgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IHN0b3JhZ2UgPSBtb2RlID09IFN0b3JhZ2VNb2RlLkxvY2FsID8gbG9jYWxTdG9yYWdlIDogc2Vzc2lvblN0b3JhZ2U7XHJcbiAgICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,73 +0,0 @@
1
- import { Inject, Injectable } from "@angular/core";
2
- import { DefaultUrlSerializer, UrlSegment, UrlSegmentGroup, UrlTree } from "@angular/router";
3
- import { LANGUAGE_SERVICE } from "../common-types";
4
- import * as i0 from "@angular/core";
5
- export class TranslatedUrlSerializer extends DefaultUrlSerializer {
6
- constructor(language) {
7
- super();
8
- this.language = language;
9
- this.cache = {};
10
- }
11
- serialize(tree) {
12
- const copy = new UrlTree();
13
- const dictionary = this.getDictionary(true);
14
- copy.root = this.modifyTreeRecursive(tree.root, segment => {
15
- segment.path = dictionary[segment.path] || segment.path;
16
- });
17
- copy.queryParams = tree.queryParams;
18
- return super.serialize(copy);
19
- }
20
- parse(url) {
21
- const tree = super.parse(url);
22
- const dictionary = this.getDictionary(false);
23
- tree.root = this.modifyTreeRecursive(tree.root, segment => {
24
- segment.path = dictionary[segment.path] || segment.path;
25
- });
26
- return tree;
27
- }
28
- getDictionary(serialize) {
29
- const method = serialize ? `serialize` : `parse`;
30
- const key = `${this.language.currentLanguage}-${method}`;
31
- if (!this.cache[key]) {
32
- const dict = this.language.dictionary;
33
- this.cache[key] = Object.keys(dict).reduce((res, key) => {
34
- if (!key.startsWith("route."))
35
- return res;
36
- const value = dict[key];
37
- key = key.replace("route.", "");
38
- res[serialize ? key : value] = serialize ? value : key;
39
- return res;
40
- }, {});
41
- }
42
- return this.cache[key];
43
- }
44
- modifyTreeRecursive(segmentGroup, cb) {
45
- if (!segmentGroup)
46
- return null;
47
- const childrenArr = [];
48
- const children = Object.keys(segmentGroup.children || {}).reduce((res, key) => {
49
- const child = this.modifyTreeRecursive(segmentGroup.children[key], cb);
50
- childrenArr.push(child);
51
- res[key] = child;
52
- return res;
53
- }, {});
54
- const newGroup = new UrlSegmentGroup(segmentGroup.segments.map(s => {
55
- s = new UrlSegment(s.path, Object.assign({}, s.parameters));
56
- cb(s);
57
- return s;
58
- }), children);
59
- childrenArr.forEach(c => {
60
- c.parent = newGroup;
61
- });
62
- return newGroup;
63
- }
64
- }
65
- TranslatedUrlSerializer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TranslatedUrlSerializer, deps: [{ token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
66
- TranslatedUrlSerializer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TranslatedUrlSerializer });
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TranslatedUrlSerializer, decorators: [{
68
- type: Injectable
69
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
70
- type: Inject,
71
- args: [LANGUAGE_SERVICE]
72
- }] }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlZC11cmwuc2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvdHJhbnNsYXRlZC11cmwuc2VyaWFsaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRixPQUFPLEVBQW1CLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBT25FLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxvQkFBb0I7SUFJN0QsWUFBK0MsUUFBMEI7UUFDckUsS0FBSyxFQUFFLENBQUM7UUFEbUMsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFFckUsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFhO1FBQ25CLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ3RELE9BQU8sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQVc7UUFDYixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtZQUN0RCxPQUFPLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBa0I7UUFDNUIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNqRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztvQkFBRSxPQUFPLEdBQUcsQ0FBQztnQkFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2hDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDdkQsT0FBTyxHQUFHLENBQUM7WUFDZixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsWUFBNkIsRUFBRSxFQUFpQztRQUNoRixJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQy9CLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzFFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNqQixPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNQLE1BQU0sUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9ELENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzVELEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNOLE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDZCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BCLENBQUMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7b0hBOURRLHVCQUF1QixrQkFJWixnQkFBZ0I7d0hBSjNCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVOzswQkFLTSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0RlZmF1bHRVcmxTZXJpYWxpemVyLCBVcmxTZWdtZW50LCBVcmxTZWdtZW50R3JvdXAsIFVybFRyZWV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtJTGFuZ3VhZ2VTZXJ2aWNlLCBMQU5HVUFHRV9TRVJWSUNFfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElVcmxEaWN0aW9uYXJ5IHtcclxuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZ1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVkVXJsU2VyaWFsaXplciBleHRlbmRzIERlZmF1bHRVcmxTZXJpYWxpemVyIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgY2FjaGU6IHtbbGFuZzogc3RyaW5nXTogSVVybERpY3Rpb25hcnl9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTEFOR1VBR0VfU0VSVklDRSkgcmVhZG9ubHkgbGFuZ3VhZ2U6IElMYW5ndWFnZVNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuY2FjaGUgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICBzZXJpYWxpemUodHJlZTogVXJsVHJlZSk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgY29weSA9IG5ldyBVcmxUcmVlKCk7XHJcbiAgICAgICAgY29uc3QgZGljdGlvbmFyeSA9IHRoaXMuZ2V0RGljdGlvbmFyeSh0cnVlKTtcclxuICAgICAgICBjb3B5LnJvb3QgPSB0aGlzLm1vZGlmeVRyZWVSZWN1cnNpdmUodHJlZS5yb290LCBzZWdtZW50ID0+IHtcclxuICAgICAgICAgICAgc2VnbWVudC5wYXRoID0gZGljdGlvbmFyeVtzZWdtZW50LnBhdGhdIHx8IHNlZ21lbnQucGF0aDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb3B5LnF1ZXJ5UGFyYW1zID0gdHJlZS5xdWVyeVBhcmFtcztcclxuICAgICAgICByZXR1cm4gc3VwZXIuc2VyaWFsaXplKGNvcHkpO1xyXG4gICAgfVxyXG5cclxuICAgIHBhcnNlKHVybDogc3RyaW5nKTogVXJsVHJlZSB7XHJcbiAgICAgICAgY29uc3QgdHJlZSA9IHN1cGVyLnBhcnNlKHVybCk7XHJcbiAgICAgICAgY29uc3QgZGljdGlvbmFyeSA9IHRoaXMuZ2V0RGljdGlvbmFyeShmYWxzZSk7XHJcbiAgICAgICAgdHJlZS5yb290ID0gdGhpcy5tb2RpZnlUcmVlUmVjdXJzaXZlKHRyZWUucm9vdCwgc2VnbWVudCA9PiB7XHJcbiAgICAgICAgICAgIHNlZ21lbnQucGF0aCA9IGRpY3Rpb25hcnlbc2VnbWVudC5wYXRoXSB8fCBzZWdtZW50LnBhdGg7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHRyZWU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGljdGlvbmFyeShzZXJpYWxpemU6IGJvb2xlYW4pOiBJVXJsRGljdGlvbmFyeSB7XHJcbiAgICAgICAgY29uc3QgbWV0aG9kID0gc2VyaWFsaXplID8gYHNlcmlhbGl6ZWAgOiBgcGFyc2VgO1xyXG4gICAgICAgIGNvbnN0IGtleSA9IGAke3RoaXMubGFuZ3VhZ2UuY3VycmVudExhbmd1YWdlfS0ke21ldGhvZH1gO1xyXG4gICAgICAgIGlmICghdGhpcy5jYWNoZVtrZXldKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRpY3QgPSB0aGlzLmxhbmd1YWdlLmRpY3Rpb25hcnk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVba2V5XSA9IE9iamVjdC5rZXlzKGRpY3QpLnJlZHVjZSgocmVzLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICgha2V5LnN0YXJ0c1dpdGgoXCJyb3V0ZS5cIikpIHJldHVybiByZXM7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGRpY3Rba2V5XTtcclxuICAgICAgICAgICAgICAgIGtleSA9IGtleS5yZXBsYWNlKFwicm91dGUuXCIsIFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgcmVzW3NlcmlhbGl6ZSA/IGtleSA6IHZhbHVlXSA9IHNlcmlhbGl6ZSA/IHZhbHVlIDoga2V5O1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICAgICAgfSwge30pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5jYWNoZVtrZXldO1xyXG4gICAgfVxyXG5cclxuICAgIG1vZGlmeVRyZWVSZWN1cnNpdmUoc2VnbWVudEdyb3VwOiBVcmxTZWdtZW50R3JvdXAsIGNiOiAoc2VnbWVudDogVXJsU2VnbWVudCkgPT4gdm9pZCk6IFVybFNlZ21lbnRHcm91cCB7XHJcbiAgICAgICAgaWYgKCFzZWdtZW50R3JvdXApIHJldHVybiBudWxsO1xyXG4gICAgICAgIGNvbnN0IGNoaWxkcmVuQXJyID0gW107XHJcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBPYmplY3Qua2V5cyhzZWdtZW50R3JvdXAuY2hpbGRyZW4gfHwge30pLnJlZHVjZSgocmVzLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY2hpbGQgPSB0aGlzLm1vZGlmeVRyZWVSZWN1cnNpdmUoc2VnbWVudEdyb3VwLmNoaWxkcmVuW2tleV0sIGNiKTtcclxuICAgICAgICAgICAgY2hpbGRyZW5BcnIucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgIHJlc1trZXldID0gY2hpbGQ7XHJcbiAgICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgfSwge30pO1xyXG4gICAgICAgIGNvbnN0IG5ld0dyb3VwID0gbmV3IFVybFNlZ21lbnRHcm91cChzZWdtZW50R3JvdXAuc2VnbWVudHMubWFwKHMgPT4ge1xyXG4gICAgICAgICAgICBzID0gbmV3IFVybFNlZ21lbnQocy5wYXRoLCBPYmplY3QuYXNzaWduKHt9LCBzLnBhcmFtZXRlcnMpKTtcclxuICAgICAgICAgICAgY2Iocyk7XHJcbiAgICAgICAgICAgIHJldHVybiBzO1xyXG4gICAgICAgIH0pLCBjaGlsZHJlbik7XHJcbiAgICAgICAgY2hpbGRyZW5BcnIuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgICAgYy5wYXJlbnQgPSBuZXdHcm91cDtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbmV3R3JvdXA7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,81 +0,0 @@
1
- import { Inject, Injectable, PLATFORM_ID } from "@angular/core";
2
- import { isPlatformBrowser, isPlatformServer } from "@angular/common";
3
- import { DeviceDetectorService } from "ngx-device-detector";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "ngx-device-detector";
6
- /**
7
- * Use this service to determine which is the current environment
8
- */
9
- export class UniversalService {
10
- constructor(platformId, dds) {
11
- this.platformId = platformId;
12
- this.dds = dds;
13
- const info = this.dds.getDeviceInfo();
14
- this.crawler = /(bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|lighthouse|angular-universal|PTST|PostmanRuntime)/gi.test(info.userAgent);
15
- }
16
- get isBrowser() {
17
- return isPlatformBrowser(this.platformId);
18
- }
19
- get isServer() {
20
- return isPlatformServer(this.platformId);
21
- }
22
- get deviceInfo() {
23
- return this.isServer
24
- ? {
25
- userAgent: "angular-universal",
26
- os: "unknown",
27
- browser: "node",
28
- device: "node",
29
- os_version: "unknown",
30
- browser_version: "unknown",
31
- deviceType: "unknown",
32
- orientation: "landscape"
33
- }
34
- : this.dds.getDeviceInfo();
35
- }
36
- get browserName() {
37
- return (this.dds.browser || "").toLowerCase();
38
- }
39
- get browserVersion() {
40
- return this.dds.browser_version;
41
- }
42
- get isExplorer() {
43
- return this.checkBrowser("ie");
44
- }
45
- get isEdge() {
46
- return this.checkBrowser("edge");
47
- }
48
- get isChrome() {
49
- return this.checkBrowser("chrome");
50
- }
51
- get isFirefox() {
52
- return this.checkBrowser("firefox");
53
- }
54
- get isSafari() {
55
- return this.checkBrowser("safari");
56
- }
57
- get isTablet() {
58
- return this.dds.isTablet();
59
- }
60
- get isMobile() {
61
- return this.dds.isMobile();
62
- }
63
- get isDesktop() {
64
- return this.dds.isDesktop();
65
- }
66
- get isCrawler() {
67
- return this.crawler;
68
- }
69
- checkBrowser(name) {
70
- return this.browserName.includes(name) || false;
71
- }
72
- }
73
- UniversalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UniversalService, deps: [{ token: PLATFORM_ID }, { token: i1.DeviceDetectorService }], target: i0.ɵɵFactoryTarget.Injectable });
74
- UniversalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UniversalService });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UniversalService, decorators: [{
76
- type: Injectable
77
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
78
- type: Inject,
79
- args: [PLATFORM_ID]
80
- }] }, { type: i1.DeviceDetectorService }]; } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdmVyc2FsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3NlcnZpY2VzL3VuaXZlcnNhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLEVBQWEsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRXRFOztHQUVHO0FBRUgsTUFBTSxPQUFPLGdCQUFnQjtJQXVFekIsWUFBMEMsVUFBa0IsRUFBVyxHQUEwQjtRQUF2RCxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQVcsUUFBRyxHQUFILEdBQUcsQ0FBdUI7UUFDN0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLCtHQUErRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEosQ0FBQztJQXhFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVE7WUFDaEIsQ0FBQyxDQUFDO2dCQUNFLFNBQVMsRUFBRSxtQkFBbUI7Z0JBQzlCLEVBQUUsRUFBRSxTQUFTO2dCQUNiLE9BQU8sRUFBRSxNQUFNO2dCQUNmLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFVBQVUsRUFBRSxTQUFTO2dCQUNyQixlQUFlLEVBQUUsU0FBUztnQkFDMUIsVUFBVSxFQUFFLFNBQVM7Z0JBQ3JCLFdBQVcsRUFBRSxXQUFXO2FBQ3BCO1lBQ1IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBU1MsWUFBWSxDQUFDLElBQVk7UUFDL0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUM7SUFDcEQsQ0FBQzs7NkdBOUVRLGdCQUFnQixrQkF1RUwsV0FBVztpSEF2RXRCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOzswQkF3RU0sTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge2lzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7RGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLCBEZXZpY2VJbmZvfSBmcm9tIFwibmd4LWRldmljZS1kZXRlY3RvclwiO1xyXG5cclxuLyoqXHJcbiAqIFVzZSB0aGlzIHNlcnZpY2UgdG8gZGV0ZXJtaW5lIHdoaWNoIGlzIHRoZSBjdXJyZW50IGVudmlyb25tZW50XHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBVbml2ZXJzYWxTZXJ2aWNlIHtcclxuXHJcbiAgICBnZXQgaXNCcm93c2VyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc1NlcnZlcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkZXZpY2VJbmZvKCk6IERldmljZUluZm8ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzU2VydmVyXHJcbiAgICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgICAgdXNlckFnZW50OiBcImFuZ3VsYXItdW5pdmVyc2FsXCIsXHJcbiAgICAgICAgICAgICAgICBvczogXCJ1bmtub3duXCIsXHJcbiAgICAgICAgICAgICAgICBicm93c2VyOiBcIm5vZGVcIixcclxuICAgICAgICAgICAgICAgIGRldmljZTogXCJub2RlXCIsXHJcbiAgICAgICAgICAgICAgICBvc192ZXJzaW9uOiBcInVua25vd25cIixcclxuICAgICAgICAgICAgICAgIGJyb3dzZXJfdmVyc2lvbjogXCJ1bmtub3duXCIsXHJcbiAgICAgICAgICAgICAgICBkZXZpY2VUeXBlOiBcInVua25vd25cIixcclxuICAgICAgICAgICAgICAgIG9yaWVudGF0aW9uOiBcImxhbmRzY2FwZVwiXHJcbiAgICAgICAgICAgIH0gYXMgYW55XHJcbiAgICAgICAgICAgIDogdGhpcy5kZHMuZ2V0RGV2aWNlSW5mbygpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBicm93c2VyTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5kZHMuYnJvd3NlciB8fCBcIlwiKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBicm93c2VyVmVyc2lvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRkcy5icm93c2VyX3ZlcnNpb247XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzRXhwbG9yZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tCcm93c2VyKFwiaWVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzRWRnZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja0Jyb3dzZXIoXCJlZGdlXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc0Nocm9tZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja0Jyb3dzZXIoXCJjaHJvbWVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzRmlyZWZveCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja0Jyb3dzZXIoXCJmaXJlZm94XCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc1NhZmFyaSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja0Jyb3dzZXIoXCJzYWZhcmlcIik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzVGFibGV0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRkcy5pc1RhYmxldCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZHMuaXNNb2JpbGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNEZXNrdG9wKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRkcy5pc0Rlc2t0b3AoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNDcmF3bGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNyYXdsZXI7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmF3bGVyOiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IHN0cmluZywgcmVhZG9ubHkgZGRzOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UpIHtcclxuICAgICAgICBjb25zdCBpbmZvID0gdGhpcy5kZHMuZ2V0RGV2aWNlSW5mbygpO1xyXG4gICAgICAgIHRoaXMuY3Jhd2xlciA9IC8oYm90fGdvb2dsZXxiYWlkdXxiaW5nfG1zbnxkdWNrZHVja2JvdHx0ZW9tYXxzbHVycHx5YW5kZXh8bGlnaHRob3VzZXxhbmd1bGFyLXVuaXZlcnNhbHxQVFNUfFBvc3RtYW5SdW50aW1lKS9naS50ZXN0KGluZm8udXNlckFnZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgY2hlY2tCcm93c2VyKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJyb3dzZXJOYW1lLmluY2x1ZGVzKG5hbWUpIHx8IGZhbHNlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==