@abp/ng.core 5.0.0 → 5.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/{esm2015/abp-ng.core.js → esm2020/abp-ng.core.mjs} +0 -0
  2. package/{esm2015/lib/abstracts/index.js → esm2020/lib/abstracts/index.mjs} +0 -0
  3. package/{esm2015/lib/abstracts/ng-model.component.js → esm2020/lib/abstracts/ng-model.component.mjs} +4 -4
  4. package/esm2020/lib/components/dynamic-layout.component.mjs +88 -0
  5. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  6. package/{esm2015/lib/components/replaceable-route-container.component.js → esm2020/lib/components/replaceable-route-container.component.mjs} +4 -4
  7. package/{esm2015/lib/components/router-outlet.component.js → esm2020/lib/components/router-outlet.component.mjs} +4 -4
  8. package/{esm2015/lib/constants/different-locales.js → esm2020/lib/constants/different-locales.mjs} +0 -0
  9. package/{esm2015/lib/constants/index.js → esm2020/lib/constants/index.mjs} +0 -0
  10. package/esm2020/lib/core.module.mjs +281 -0
  11. package/{esm2015/lib/directives/autofocus.directive.js → esm2020/lib/directives/autofocus.directive.mjs} +4 -4
  12. package/{esm2015/lib/directives/debounce.directive.js → esm2020/lib/directives/debounce.directive.mjs} +4 -4
  13. package/{esm2015/lib/directives/for.directive.js → esm2020/lib/directives/for.directive.mjs} +4 -4
  14. package/{esm2015/lib/directives/form-submit.directive.js → esm2020/lib/directives/form-submit.directive.mjs} +4 -4
  15. package/{esm2015/lib/directives/index.js → esm2020/lib/directives/index.mjs} +0 -0
  16. package/{esm2015/lib/directives/init.directive.js → esm2020/lib/directives/init.directive.mjs} +4 -4
  17. package/{esm2015/lib/directives/permission.directive.js → esm2020/lib/directives/permission.directive.mjs} +4 -4
  18. package/esm2020/lib/directives/replaceable-template.directive.mjs +126 -0
  19. package/{esm2015/lib/directives/stop-propagation.directive.js → esm2020/lib/directives/stop-propagation.directive.mjs} +4 -4
  20. package/{esm2015/lib/enums/common.js → esm2020/lib/enums/common.mjs} +0 -0
  21. package/{esm2015/lib/enums/index.js → esm2020/lib/enums/index.mjs} +0 -0
  22. package/{esm2015/lib/guards/auth.guard.js → esm2020/lib/guards/auth.guard.mjs} +4 -4
  23. package/{esm2015/lib/guards/index.js → esm2020/lib/guards/index.mjs} +0 -0
  24. package/{esm2015/lib/guards/permission.guard.js → esm2020/lib/guards/permission.guard.mjs} +5 -5
  25. package/{esm2015/lib/handlers/oauth-configuration.handler.js → esm2020/lib/handlers/oauth-configuration.handler.mjs} +4 -4
  26. package/esm2020/lib/handlers/routes.handler.mjs +49 -0
  27. package/esm2020/lib/interceptors/api.interceptor.mjs +54 -0
  28. package/{esm2015/lib/interceptors/index.js → esm2020/lib/interceptors/index.mjs} +0 -0
  29. package/{esm2015/lib/localization.module.js → esm2020/lib/localization.module.mjs} +5 -5
  30. package/{esm2015/lib/models/auth.js → esm2020/lib/models/auth.mjs} +0 -0
  31. package/{esm2015/lib/models/common.js → esm2020/lib/models/common.mjs} +0 -0
  32. package/{esm2015/lib/models/dtos.js → esm2020/lib/models/dtos.mjs} +0 -0
  33. package/{esm2015/lib/models/environment.js → esm2020/lib/models/environment.mjs} +0 -0
  34. package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
  35. package/{esm2015/lib/models/localization.js → esm2020/lib/models/localization.mjs} +0 -0
  36. package/{esm2015/lib/models/replaceable-components.js → esm2020/lib/models/replaceable-components.mjs} +0 -0
  37. package/{esm2015/lib/models/rest.js → esm2020/lib/models/rest.mjs} +0 -0
  38. package/{esm2015/lib/models/session.js → esm2020/lib/models/session.mjs} +0 -0
  39. package/{esm2015/lib/models/utility.js → esm2020/lib/models/utility.mjs} +0 -0
  40. package/{esm2015/lib/pipes/index.js → esm2020/lib/pipes/index.mjs} +2 -1
  41. package/{esm2015/lib/pipes/localization.pipe.js → esm2020/lib/pipes/localization.pipe.mjs} +5 -5
  42. package/{esm2015/lib/pipes/sort.pipe.js → esm2020/lib/pipes/sort.pipe.mjs} +5 -5
  43. package/esm2020/lib/pipes/to-injector.pipe.mjs +29 -0
  44. package/{esm2015/lib/providers/cookie-language.provider.js → esm2020/lib/providers/cookie-language.provider.mjs} +0 -0
  45. package/{esm2015/lib/providers/locale.provider.js → esm2020/lib/providers/locale.provider.mjs} +0 -0
  46. package/{esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js → esm2020/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs} +4 -4
  47. package/{esm2015/lib/proxy/pages/abp/multi-tenancy/index.js → esm2020/lib/proxy/pages/abp/multi-tenancy/index.mjs} +0 -0
  48. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs} +4 -4
  49. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.mjs} +0 -0
  50. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs} +4 -4
  51. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.mjs} +0 -0
  52. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.mjs} +0 -0
  53. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.mjs} +0 -0
  54. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.mjs} +0 -0
  55. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.mjs} +0 -0
  56. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.mjs} +0 -0
  57. package/{esm2015/lib/proxy/volo/abp/http/modeling/index.js → esm2020/lib/proxy/volo/abp/http/modeling/index.mjs} +0 -0
  58. package/{esm2015/lib/proxy/volo/abp/http/modeling/models.js → esm2020/lib/proxy/volo/abp/http/modeling/models.mjs} +0 -0
  59. package/{esm2015/lib/proxy/volo/abp/localization/index.js → esm2020/lib/proxy/volo/abp/localization/index.mjs} +0 -0
  60. package/{esm2015/lib/proxy/volo/abp/localization/models.js → esm2020/lib/proxy/volo/abp/localization/models.mjs} +0 -0
  61. package/{esm2015/lib/proxy/volo/abp/models.js → esm2020/lib/proxy/volo/abp/models.mjs} +0 -0
  62. package/esm2020/lib/services/auth.service.mjs +44 -0
  63. package/{esm2015/lib/services/config-state.service.js → esm2020/lib/services/config-state.service.mjs} +13 -16
  64. package/{esm2015/lib/services/content-projection.service.js → esm2020/lib/services/content-projection.service.mjs} +4 -4
  65. package/{esm2015/lib/services/dom-insertion.service.js → esm2020/lib/services/dom-insertion.service.mjs} +4 -4
  66. package/{esm2015/lib/services/environment.service.js → esm2020/lib/services/environment.service.mjs} +4 -4
  67. package/{esm2015/lib/services/http-error-reporter.service.js → esm2020/lib/services/http-error-reporter.service.mjs} +4 -4
  68. package/{esm2015/lib/services/http-wait.service.js → esm2020/lib/services/http-wait.service.mjs} +4 -4
  69. package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
  70. package/{esm2015/lib/services/lazy-load.service.js → esm2020/lib/services/lazy-load.service.mjs} +4 -4
  71. package/{esm2015/lib/services/list.service.js → esm2020/lib/services/list.service.mjs} +4 -4
  72. package/esm2020/lib/services/localization.service.mjs +182 -0
  73. package/{esm2015/lib/services/multi-tenancy.service.js → esm2020/lib/services/multi-tenancy.service.mjs} +4 -4
  74. package/{esm2015/lib/services/permission.service.js → esm2020/lib/services/permission.service.mjs} +5 -6
  75. package/{esm2015/lib/services/replaceable-components.service.js → esm2020/lib/services/replaceable-components.service.mjs} +4 -4
  76. package/{esm2015/lib/services/resource-wait.service.js → esm2020/lib/services/resource-wait.service.mjs} +4 -4
  77. package/esm2020/lib/services/rest.service.mjs +66 -0
  78. package/{esm2015/lib/services/router-events.service.js → esm2020/lib/services/router-events.service.mjs} +4 -4
  79. package/{esm2015/lib/services/router-wait.service.js → esm2020/lib/services/router-wait.service.mjs} +4 -4
  80. package/esm2020/lib/services/routes.service.mjs +145 -0
  81. package/{esm2015/lib/services/session-state.service.js → esm2020/lib/services/session-state.service.mjs} +5 -5
  82. package/{esm2015/lib/services/subscription.service.js → esm2020/lib/services/subscription.service.mjs} +4 -4
  83. package/{esm2015/lib/services/track-by.service.js → esm2020/lib/services/track-by.service.mjs} +4 -4
  84. package/esm2020/lib/strategies/auth-flow.strategy.mjs +190 -0
  85. package/{esm2015/lib/strategies/container.strategy.js → esm2020/lib/strategies/container.strategy.mjs} +0 -0
  86. package/{esm2015/lib/strategies/content-security.strategy.js → esm2020/lib/strategies/content-security.strategy.mjs} +0 -0
  87. package/{esm2015/lib/strategies/content.strategy.js → esm2020/lib/strategies/content.strategy.mjs} +0 -0
  88. package/{esm2015/lib/strategies/context.strategy.js → esm2020/lib/strategies/context.strategy.mjs} +0 -0
  89. package/{esm2015/lib/strategies/cross-origin.strategy.js → esm2020/lib/strategies/cross-origin.strategy.mjs} +0 -0
  90. package/{esm2015/lib/strategies/dom.strategy.js → esm2020/lib/strategies/dom.strategy.mjs} +0 -0
  91. package/{esm2015/lib/strategies/index.js → esm2020/lib/strategies/index.mjs} +0 -0
  92. package/{esm2015/lib/strategies/loading.strategy.js → esm2020/lib/strategies/loading.strategy.mjs} +0 -0
  93. package/{esm2015/lib/strategies/projection.strategy.js → esm2020/lib/strategies/projection.strategy.mjs} +0 -0
  94. package/{esm2015/lib/tokens/app-config.token.js → esm2020/lib/tokens/app-config.token.mjs} +0 -0
  95. package/{esm2015/lib/tokens/cookie-language-key.token.js → esm2020/lib/tokens/cookie-language-key.token.mjs} +0 -0
  96. package/{esm2015/lib/tokens/index.js → esm2020/lib/tokens/index.mjs} +0 -0
  97. package/{esm2015/lib/tokens/list.token.js → esm2020/lib/tokens/list.token.mjs} +0 -0
  98. package/{esm2015/lib/tokens/localization.token.js → esm2020/lib/tokens/localization.token.mjs} +0 -0
  99. package/{esm2015/lib/tokens/lodaer-delay.token.js → esm2020/lib/tokens/lodaer-delay.token.mjs} +0 -0
  100. package/{esm2015/lib/tokens/manage-profile.token.js → esm2020/lib/tokens/manage-profile.token.mjs} +0 -0
  101. package/esm2020/lib/tokens/options.token.mjs +8 -0
  102. package/{esm2015/lib/tokens/tenant-key.token.js → esm2020/lib/tokens/tenant-key.token.mjs} +0 -0
  103. package/esm2020/lib/utils/array-utils.mjs +7 -0
  104. package/{esm2015/lib/utils/auth-utils.js → esm2020/lib/utils/auth-utils.mjs} +0 -0
  105. package/{esm2015/lib/utils/common-utils.js → esm2020/lib/utils/common-utils.mjs} +0 -0
  106. package/{esm2015/lib/utils/date-extensions.js → esm2020/lib/utils/date-extensions.mjs} +0 -0
  107. package/{esm2015/lib/utils/date-utils.js → esm2020/lib/utils/date-utils.mjs} +0 -0
  108. package/{esm2015/lib/utils/environment-utils.js → esm2020/lib/utils/environment-utils.mjs} +0 -0
  109. package/{esm2015/lib/utils/factory-utils.js → esm2020/lib/utils/factory-utils.mjs} +0 -0
  110. package/{esm2015/lib/utils/file-utils.js → esm2020/lib/utils/file-utils.mjs} +0 -0
  111. package/{esm2015/lib/utils/form-utils.js → esm2020/lib/utils/form-utils.mjs} +0 -0
  112. package/{esm2015/lib/utils/generator-utils.js → esm2020/lib/utils/generator-utils.mjs} +0 -0
  113. package/{esm2015/lib/utils/http-utils.js → esm2020/lib/utils/http-utils.mjs} +0 -0
  114. package/{esm2015/lib/utils/index.js → esm2020/lib/utils/index.mjs} +0 -0
  115. package/esm2020/lib/utils/initial-utils.mjs +63 -0
  116. package/esm2020/lib/utils/internal-store-utils.mjs +36 -0
  117. package/{esm2015/lib/utils/lazy-load-utils.js → esm2020/lib/utils/lazy-load-utils.mjs} +0 -0
  118. package/esm2020/lib/utils/localization-utils.mjs +49 -0
  119. package/esm2020/lib/utils/multi-tenancy-utils.mjs +78 -0
  120. package/{esm2015/lib/utils/number-utils.js → esm2020/lib/utils/number-utils.mjs} +0 -0
  121. package/{esm2015/lib/utils/object-utils.js → esm2020/lib/utils/object-utils.mjs} +0 -0
  122. package/esm2020/lib/utils/route-utils.mjs +26 -0
  123. package/esm2020/lib/utils/string-utils.mjs +30 -0
  124. package/{esm2015/lib/utils/tree-utils.js → esm2020/lib/utils/tree-utils.mjs} +1 -1
  125. package/{esm2015/lib/validators/age.validator.js → esm2020/lib/validators/age.validator.mjs} +0 -0
  126. package/{esm2015/lib/validators/credit-card.validator.js → esm2020/lib/validators/credit-card.validator.mjs} +0 -0
  127. package/{esm2015/lib/validators/index.js → esm2020/lib/validators/index.mjs} +0 -0
  128. package/{esm2015/lib/validators/range.validator.js → esm2020/lib/validators/range.validator.mjs} +0 -0
  129. package/{esm2015/lib/validators/required.validator.js → esm2020/lib/validators/required.validator.mjs} +0 -0
  130. package/{esm2015/lib/validators/string-length.validator.js → esm2020/lib/validators/string-length.validator.mjs} +0 -0
  131. package/{esm2015/lib/validators/url.validator.js → esm2020/lib/validators/url.validator.mjs} +0 -0
  132. package/{esm2015/locale/abp-ng.core-locale.js → esm2020/locale/abp-ng.core-locale.mjs} +0 -0
  133. package/{esm2015/locale/public-api.js → esm2020/locale/public-api.mjs} +0 -0
  134. package/esm2020/locale/utils/register-locale.mjs +47 -0
  135. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  136. package/{esm2015/testing/abp-ng.core-testing.js → esm2020/testing/abp-ng.core-testing.mjs} +0 -0
  137. package/esm2020/testing/lib/core-testing.module.mjs +63 -0
  138. package/{esm2015/testing/lib/services/index.js → esm2020/testing/lib/services/index.mjs} +0 -0
  139. package/{esm2015/testing/lib/services/mock-permission.service.js → esm2020/testing/lib/services/mock-permission.service.mjs} +4 -4
  140. package/{esm2015/testing/lib/services/mock-rest.service.js → esm2020/testing/lib/services/mock-rest.service.mjs} +4 -4
  141. package/{esm2015/testing/lib/utils/clear-page.util.js → esm2020/testing/lib/utils/clear-page.util.mjs} +0 -0
  142. package/{esm2015/testing/lib/utils/index.js → esm2020/testing/lib/utils/index.mjs} +0 -0
  143. package/{esm2015/testing/lib/utils/wait.util.js → esm2020/testing/lib/utils/wait.util.mjs} +0 -0
  144. package/{esm2015/testing/public-api.js → esm2020/testing/public-api.mjs} +0 -0
  145. package/fesm2015/{abp-ng.core-locale.js → abp-ng.core-locale.mjs} +11 -4
  146. package/fesm2015/abp-ng.core-locale.mjs.map +1 -0
  147. package/fesm2015/{abp-ng.core-testing.js → abp-ng.core-testing.mjs} +18 -16
  148. package/fesm2015/abp-ng.core-testing.mjs.map +1 -0
  149. package/fesm2015/{abp-ng.core.js → abp-ng.core.mjs} +817 -768
  150. package/fesm2015/abp-ng.core.mjs.map +1 -0
  151. package/fesm2020/abp-ng.core-locale.mjs +54 -0
  152. package/fesm2020/abp-ng.core-locale.mjs.map +1 -0
  153. package/fesm2020/abp-ng.core-testing.mjs +140 -0
  154. package/fesm2020/abp-ng.core-testing.mjs.map +1 -0
  155. package/fesm2020/abp-ng.core.mjs +4216 -0
  156. package/fesm2020/abp-ng.core.mjs.map +1 -0
  157. package/lib/core.module.d.ts +9 -8
  158. package/lib/pipes/index.d.ts +1 -0
  159. package/lib/pipes/to-injector.pipe.d.ts +10 -0
  160. package/lib/services/environment.service.d.ts +1 -0
  161. package/lib/services/list.service.d.ts +1 -1
  162. package/lib/services/subscription.service.d.ts +2 -2
  163. package/lib/utils/array-utils.d.ts +1 -1
  164. package/lib/utils/string-utils.d.ts +1 -0
  165. package/lib/utils/tree-utils.d.ts +2 -2
  166. package/locale/package.json +5 -5
  167. package/package.json +37 -8
  168. package/src/lib/proxy/README.md +17 -0
  169. package/testing/package.json +5 -5
  170. package/bundles/abp-ng.core-locale.umd.js +0 -381
  171. package/bundles/abp-ng.core-locale.umd.js.map +0 -1
  172. package/bundles/abp-ng.core-testing.umd.js +0 -494
  173. package/bundles/abp-ng.core-testing.umd.js.map +0 -1
  174. package/bundles/abp-ng.core.umd.js +0 -5277
  175. package/bundles/abp-ng.core.umd.js.map +0 -1
  176. package/esm2015/lib/components/dynamic-layout.component.js +0 -89
  177. package/esm2015/lib/core.module.js +0 -281
  178. package/esm2015/lib/directives/replaceable-template.directive.js +0 -121
  179. package/esm2015/lib/handlers/routes.handler.js +0 -47
  180. package/esm2015/lib/interceptors/api.interceptor.js +0 -54
  181. package/esm2015/lib/services/auth.service.js +0 -47
  182. package/esm2015/lib/services/localization.service.js +0 -182
  183. package/esm2015/lib/services/rest.service.js +0 -63
  184. package/esm2015/lib/services/routes.service.js +0 -147
  185. package/esm2015/lib/strategies/auth-flow.strategy.js +0 -202
  186. package/esm2015/lib/tokens/options.token.js +0 -8
  187. package/esm2015/lib/utils/array-utils.js +0 -7
  188. package/esm2015/lib/utils/initial-utils.js +0 -64
  189. package/esm2015/lib/utils/internal-store-utils.js +0 -36
  190. package/esm2015/lib/utils/localization-utils.js +0 -50
  191. package/esm2015/lib/utils/multi-tenancy-utils.js +0 -83
  192. package/esm2015/lib/utils/route-utils.js +0 -27
  193. package/esm2015/lib/utils/string-utils.js +0 -21
  194. package/esm2015/locale/utils/register-locale.js +0 -43
  195. package/esm2015/testing/lib/core-testing.module.js +0 -62
  196. package/fesm2015/abp-ng.core-locale.js.map +0 -1
  197. package/fesm2015/abp-ng.core-testing.js.map +0 -1
  198. package/fesm2015/abp-ng.core.js.map +0 -1
@@ -0,0 +1,26 @@
1
+ import { PRIMARY_OUTLET } from '@angular/router';
2
+ import { noop } from './common-utils';
3
+ export function findRoute(routesService, path) {
4
+ const node = routesService.find(route => route.path === path);
5
+ return node || path === '/'
6
+ ? node
7
+ : findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');
8
+ }
9
+ export function getRoutePath(router, url = router.url) {
10
+ const emptyGroup = { segments: [] };
11
+ const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];
12
+ return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');
13
+ }
14
+ export function reloadRoute(router, ngZone) {
15
+ const { shouldReuseRoute } = router.routeReuseStrategy;
16
+ const setRouteReuse = (reuse) => {
17
+ router.routeReuseStrategy.shouldReuseRoute = reuse;
18
+ };
19
+ setRouteReuse(() => false);
20
+ router.navigated = false;
21
+ ngZone.run(async () => {
22
+ await router.navigateByUrl(router.url).catch(noop);
23
+ setRouteReuse(shouldReuseRoute);
24
+ });
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvcm91dGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBMkIsTUFBTSxpQkFBaUIsQ0FBQztBQUcxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEMsTUFBTSxVQUFVLFNBQVMsQ0FBQyxhQUE0QixFQUFFLElBQVk7SUFDbEUsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7SUFFOUQsT0FBTyxJQUFJLElBQUksSUFBSSxLQUFLLEdBQUc7UUFDekIsQ0FBQyxDQUFDLElBQUk7UUFDTixDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBYyxFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRztJQUMzRCxNQUFNLFVBQVUsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQXFCLENBQUM7SUFDdkQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXhFLE9BQU8sR0FBRyxHQUFHLENBQUMsWUFBWSxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdkYsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBYyxFQUFFLE1BQWM7SUFDeEQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQ3ZELE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBOEIsRUFBRSxFQUFFO1FBQ3ZELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDckQsQ0FBQyxDQUFDO0lBRUYsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRXpCLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDcEIsTUFBTSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBSSU1BUllfT1VUTEVULCBSb3V0ZXIsIFVybFNlZ21lbnRHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscy9jb21tb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcm91dGVzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi9jb21tb24tdXRpbHMnO1xyXG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4vdHJlZS11dGlscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZmluZFJvdXRlKHJvdXRlc1NlcnZpY2U6IFJvdXRlc1NlcnZpY2UsIHBhdGg6IHN0cmluZyk6IFRyZWVOb2RlPEFCUC5Sb3V0ZT4ge1xyXG4gIGNvbnN0IG5vZGUgPSByb3V0ZXNTZXJ2aWNlLmZpbmQocm91dGUgPT4gcm91dGUucGF0aCA9PT0gcGF0aCk7XHJcblxyXG4gIHJldHVybiBub2RlIHx8IHBhdGggPT09ICcvJ1xyXG4gICAgPyBub2RlXHJcbiAgICA6IGZpbmRSb3V0ZShyb3V0ZXNTZXJ2aWNlLCBwYXRoLnNwbGl0KCcvJykuc2xpY2UoMCwgLTEpLmpvaW4oJy8nKSB8fCAnLycpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um91dGVQYXRoKHJvdXRlcjogUm91dGVyLCB1cmwgPSByb3V0ZXIudXJsKSB7XHJcbiAgY29uc3QgZW1wdHlHcm91cCA9IHsgc2VnbWVudHM6IFtdIH0gYXMgVXJsU2VnbWVudEdyb3VwO1xyXG4gIGNvbnN0IHByaW1hcnlHcm91cCA9IHJvdXRlci5wYXJzZVVybCh1cmwpLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdO1xyXG5cclxuICByZXR1cm4gJy8nICsgKHByaW1hcnlHcm91cCB8fCBlbXB0eUdyb3VwKS5zZWdtZW50cy5tYXAoKHsgcGF0aCB9KSA9PiBwYXRoKS5qb2luKCcvJyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZWxvYWRSb3V0ZShyb3V0ZXI6IFJvdXRlciwgbmdab25lOiBOZ1pvbmUpIHtcclxuICBjb25zdCB7IHNob3VsZFJldXNlUm91dGUgfSA9IHJvdXRlci5yb3V0ZVJldXNlU3RyYXRlZ3k7XHJcbiAgY29uc3Qgc2V0Um91dGVSZXVzZSA9IChyZXVzZTogdHlwZW9mIHNob3VsZFJldXNlUm91dGUpID0+IHtcclxuICAgIHJvdXRlci5yb3V0ZVJldXNlU3RyYXRlZ3kuc2hvdWxkUmV1c2VSb3V0ZSA9IHJldXNlO1xyXG4gIH07XHJcblxyXG4gIHNldFJvdXRlUmV1c2UoKCkgPT4gZmFsc2UpO1xyXG4gIHJvdXRlci5uYXZpZ2F0ZWQgPSBmYWxzZTtcclxuXHJcbiAgbmdab25lLnJ1bihhc3luYyAoKSA9PiB7XHJcbiAgICBhd2FpdCByb3V0ZXIubmF2aWdhdGVCeVVybChyb3V0ZXIudXJsKS5jYXRjaChub29wKTtcclxuICAgIHNldFJvdXRlUmV1c2Uoc2hvdWxkUmV1c2VSb3V0ZSk7XHJcbiAgfSk7XHJcbn1cclxuIl19
@@ -0,0 +1,30 @@
1
+ export function createTokenParser(format) {
2
+ return (str) => {
3
+ const tokens = [];
4
+ const regex = format.replace(/\./g, '\\.').replace(/\{\s?([0-9a-zA-Z]+)\s?\}/g, (_, token) => {
5
+ tokens.push(token);
6
+ return '(.+)';
7
+ });
8
+ const matches = (str.match(regex) || []).slice(1);
9
+ return matches.reduce((acc, v, i) => {
10
+ const key = tokens[i];
11
+ acc[key] = [...(acc[key] || []), v].filter(Boolean);
12
+ return acc;
13
+ }, {});
14
+ };
15
+ }
16
+ export function interpolate(text, params) {
17
+ return text
18
+ .replace(/(['"]?\{\s*(\d+)\s*\}['"]?)/g, (_, match, digit) => params[digit] ?? match)
19
+ .replace(/\s+/g, ' ');
20
+ }
21
+ export function escapeHtmlChars(value) {
22
+ return value && typeof value === 'string'
23
+ ? value
24
+ .replace(/&/g, '&')
25
+ .replace(/</g, '&lt;')
26
+ .replace(/>/g, '&gt;')
27
+ .replace(/"/g, '&quot;')
28
+ : value;
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL3N0cmluZy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxPQUFPLENBQUMsR0FBVyxFQUFFLEVBQUU7UUFDckIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMzRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUE4QixDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWSxFQUFFLE1BQWdCO0lBQ3hELE9BQU8sSUFBSTtTQUNSLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDO1NBQ3BGLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBVTtJQUN4QyxPQUFPLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3ZDLENBQUMsQ0FBQyxLQUFLO2FBQ0YsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7YUFDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDckIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDckIsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7UUFDNUIsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY3JlYXRlVG9rZW5QYXJzZXIoZm9ybWF0OiBzdHJpbmcpIHtcclxuICByZXR1cm4gKHN0cjogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCB0b2tlbnM6IHN0cmluZ1tdID0gW107XHJcbiAgICBjb25zdCByZWdleCA9IGZvcm1hdC5yZXBsYWNlKC9cXC4vZywgJ1xcXFwuJykucmVwbGFjZSgvXFx7XFxzPyhbMC05YS16QS1aXSspXFxzP1xcfS9nLCAoXywgdG9rZW4pID0+IHtcclxuICAgICAgdG9rZW5zLnB1c2godG9rZW4pO1xyXG4gICAgICByZXR1cm4gJyguKyknO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgbWF0Y2hlcyA9IChzdHIubWF0Y2gocmVnZXgpIHx8IFtdKS5zbGljZSgxKTtcclxuXHJcbiAgICByZXR1cm4gbWF0Y2hlcy5yZWR1Y2UoKGFjYywgdiwgaSkgPT4ge1xyXG4gICAgICBjb25zdCBrZXkgPSB0b2tlbnNbaV07XHJcbiAgICAgIGFjY1trZXldID0gWy4uLihhY2Nba2V5XSB8fCBbXSksIHZdLmZpbHRlcihCb29sZWFuKTtcclxuICAgICAgcmV0dXJuIGFjYztcclxuICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPik7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGludGVycG9sYXRlKHRleHQ6IHN0cmluZywgcGFyYW1zOiBzdHJpbmdbXSkge1xyXG4gIHJldHVybiB0ZXh0XHJcbiAgICAucmVwbGFjZSgvKFsnXCJdP1xce1xccyooXFxkKylcXHMqXFx9WydcIl0/KS9nLCAoXywgbWF0Y2gsIGRpZ2l0KSA9PiBwYXJhbXNbZGlnaXRdID8/IG1hdGNoKVxyXG4gICAgLnJlcGxhY2UoL1xccysvZywgJyAnKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZUh0bWxDaGFycyh2YWx1ZTogYW55KSB7XHJcbiAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcclxuICAgID8gdmFsdWVcclxuICAgICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKVxyXG4gICAgICAgIC5yZXBsYWNlKC88L2csICcmbHQ7JylcclxuICAgICAgICAucmVwbGFjZSgvPi9nLCAnJmd0OycpXHJcbiAgICAgICAgLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKVxyXG4gICAgOiB2YWx1ZTtcclxufVxyXG4iXX0=
@@ -51,4 +51,4 @@ export function createTreeNodeFilterCreator(key, mapperFn) {
51
51
  };
52
52
  };
53
53
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy90cmVlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlEQUFpRDtBQUNqRCxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFZLEtBQVE7UUFKcEIsYUFBUSxHQUFrQixFQUFFLENBQUM7UUFDN0IsV0FBTSxHQUFHLElBQUksQ0FBQztRQUlaLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFtQixLQUFRO1FBQ3RDLE9BQU8sSUFBSSxZQUFZLENBQUksS0FBSyxDQUFnQixDQUFDO0lBQ25ELENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsSUFBUyxFQUNULFdBQWlDLEVBQ2pDLGlCQUFxQyxFQUNyQyxXQUEyQjtJQUUzQixNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzlELE1BQU0sSUFBSSxHQUF1QyxFQUFFLENBQUM7SUFFcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNqQixNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6QixJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFbEIsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDbkIsTUFBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsTUFBYyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7U0FDL0I7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsSUFBUyxFQUNULFdBQWlDLEVBQ2pDLFdBQTJCO0lBSTNCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7SUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxHQUFZLEVBQ1osUUFBZ0M7SUFFaEMsT0FBTyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXBELE9BQU8sU0FBUyxZQUFZLENBQUMsS0FBb0IsRUFBRSxPQUFPLEdBQUcsRUFBRTtZQUM3RCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtnQkFDeEIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUV4RCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtvQkFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNoRTtZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzICovXHJcbmV4cG9ydCBjbGFzcyBCYXNlVHJlZU5vZGU8VCBleHRlbmRzIG9iamVjdD4ge1xyXG4gIGNoaWxkcmVuOiBUcmVlTm9kZTxUPltdID0gW107XHJcbiAgaXNMZWFmID0gdHJ1ZTtcclxuICBwYXJlbnQ/OiBUcmVlTm9kZTxUPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHM6IFQpIHtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcywgcHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNyZWF0ZTxUIGV4dGVuZHMgb2JqZWN0Pihwcm9wczogVCkge1xyXG4gICAgcmV0dXJuIG5ldyBCYXNlVHJlZU5vZGU8VD4ocHJvcHMpIGFzIFRyZWVOb2RlPFQ+O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyZWVGcm9tTGlzdDxUIGV4dGVuZHMgb2JqZWN0LCBSIGV4dGVuZHMgdW5rbm93bj4oXHJcbiAgbGlzdDogVFtdLFxyXG4gIGtleVNlbGVjdG9yOiAoaXRlbTogVCkgPT4gTm9kZUtleSxcclxuICBwYXJlbnRLZXlTZWxlY3RvcjogdHlwZW9mIGtleVNlbGVjdG9yLFxyXG4gIHZhbHVlTWFwcGVyOiAoaXRlbTogVCkgPT4gUixcclxuKSB7XHJcbiAgY29uc3QgbWFwID0gY3JlYXRlTWFwRnJvbUxpc3QobGlzdCwga2V5U2VsZWN0b3IsIHZhbHVlTWFwcGVyKTtcclxuICBjb25zdCB0cmVlOiBOb2RlVmFsdWU8VCwgdHlwZW9mIHZhbHVlTWFwcGVyPltdID0gW107XHJcblxyXG4gIGxpc3QuZm9yRWFjaChyb3cgPT4ge1xyXG4gICAgY29uc3QgaWQgPSBrZXlTZWxlY3Rvcihyb3cpO1xyXG4gICAgY29uc3QgcGFyZW50SWQgPSBwYXJlbnRLZXlTZWxlY3Rvcihyb3cpO1xyXG4gICAgY29uc3Qgbm9kZSA9IG1hcC5nZXQoaWQpO1xyXG5cclxuICAgIGlmICghbm9kZSkgcmV0dXJuO1xyXG5cclxuICAgIGlmIChwYXJlbnRJZCkge1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSBtYXAuZ2V0KHBhcmVudElkKTtcclxuICAgICAgaWYgKCFwYXJlbnQpIHJldHVybjtcclxuICAgICAgKHBhcmVudCBhcyBhbnkpLmNoaWxkcmVuLnB1c2gobm9kZSk7XHJcbiAgICAgIChwYXJlbnQgYXMgYW55KS5pc0xlYWYgPSBmYWxzZTtcclxuICAgICAgKG5vZGUgYXMgYW55KS5wYXJlbnQgPSBwYXJlbnQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0cmVlLnB1c2gobm9kZSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiB0cmVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWFwRnJvbUxpc3Q8VCBleHRlbmRzIG9iamVjdCwgUiBleHRlbmRzIHVua25vd24+KFxyXG4gIGxpc3Q6IFRbXSxcclxuICBrZXlTZWxlY3RvcjogKGl0ZW06IFQpID0+IE5vZGVLZXksXHJcbiAgdmFsdWVNYXBwZXI6IChpdGVtOiBUKSA9PiBSLFxyXG4pIHtcclxuICB0eXBlIEtleSA9IFJldHVyblR5cGU8dHlwZW9mIGtleVNlbGVjdG9yPjtcclxuICB0eXBlIFZhbHVlID0gTm9kZVZhbHVlPFQsIHR5cGVvZiB2YWx1ZU1hcHBlcj47XHJcbiAgY29uc3QgbWFwID0gbmV3IE1hcDxLZXksIFZhbHVlPigpO1xyXG4gIGxpc3QuZm9yRWFjaChyb3cgPT4gbWFwLnNldChrZXlTZWxlY3Rvcihyb3cpLCB2YWx1ZU1hcHBlcihyb3cpKSk7XHJcbiAgcmV0dXJuIG1hcDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyZWVOb2RlRmlsdGVyQ3JlYXRvcjxUIGV4dGVuZHMgb2JqZWN0PihcclxuICBrZXk6IGtleW9mIFQsXHJcbiAgbWFwcGVyRm46ICh2YWx1ZTogYW55KSA9PiBzdHJpbmcsXHJcbikge1xyXG4gIHJldHVybiAoc2VhcmNoOiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgnLionICsgc2VhcmNoICsgJy4qJywgJ2knKTtcclxuXHJcbiAgICByZXR1cm4gZnVuY3Rpb24gY29sbGVjdE5vZGVzKG5vZGVzOiBUcmVlTm9kZTxUPltdLCBtYXRjaGVzID0gW10pIHtcclxuICAgICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XHJcbiAgICAgICAgaWYgKHJlZ2V4LnRlc3QobWFwcGVyRm4obm9kZVtrZXldKSkpIG1hdGNoZXMucHVzaChub2RlKTtcclxuXHJcbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW4ubGVuZ3RoKSBjb2xsZWN0Tm9kZXMobm9kZS5jaGlsZHJlbiwgbWF0Y2hlcyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBtYXRjaGVzO1xyXG4gICAgfTtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBUcmVlTm9kZTxUIGV4dGVuZHMgb2JqZWN0PiA9IHtcclxuICBbSyBpbiBrZXlvZiBUXTogVFtLXTtcclxufSAmIHtcclxuICBjaGlsZHJlbjogVHJlZU5vZGU8VD5bXTtcclxuICBpc0xlYWY6IGJvb2xlYW47XHJcbiAgcGFyZW50PzogVHJlZU5vZGU8VD47XHJcbn07XHJcblxyXG50eXBlIE5vZGVLZXkgPSBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2wgfCB1bmRlZmluZWQgfCBudWxsO1xyXG5cclxudHlwZSBOb2RlVmFsdWU8VCBleHRlbmRzIG9iamVjdCwgRiBleHRlbmRzICguLi5hcmdzOiBhbnkpID0+IGFueT4gPSBGIGV4dGVuZHMgdW5kZWZpbmVkXHJcbiAgPyBUcmVlTm9kZTxUPlxyXG4gIDogUmV0dXJuVHlwZTxGPjtcclxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy90cmVlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlEQUFpRDtBQUNqRCxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFZLEtBQVE7UUFKcEIsYUFBUSxHQUFrQixFQUFFLENBQUM7UUFDN0IsV0FBTSxHQUFHLElBQUksQ0FBQztRQUlaLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFtQixLQUFRO1FBQ3RDLE9BQU8sSUFBSSxZQUFZLENBQUksS0FBSyxDQUFnQixDQUFDO0lBQ25ELENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsSUFBUyxFQUNULFdBQWlDLEVBQ2pDLGlCQUFxQyxFQUNyQyxXQUEyQjtJQUUzQixNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzlELE1BQU0sSUFBSSxHQUF1QyxFQUFFLENBQUM7SUFFcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNqQixNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6QixJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFbEIsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDbkIsTUFBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsTUFBYyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7U0FDL0I7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsSUFBUyxFQUNULFdBQWlDLEVBQ2pDLFdBQTJCO0lBSTNCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7SUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxHQUFZLEVBQ1osUUFBZ0M7SUFFaEMsT0FBTyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXBELE9BQU8sU0FBUyxZQUFZLENBQUMsS0FBb0IsRUFBRSxPQUFPLEdBQUcsRUFBRTtZQUM3RCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtnQkFDeEIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUV4RCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtvQkFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNoRTtZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzICovXHJcbmV4cG9ydCBjbGFzcyBCYXNlVHJlZU5vZGU8VCBleHRlbmRzIG9iamVjdD4ge1xyXG4gIGNoaWxkcmVuOiBUcmVlTm9kZTxUPltdID0gW107XHJcbiAgaXNMZWFmID0gdHJ1ZTtcclxuICBwYXJlbnQ/OiBUcmVlTm9kZTxUPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHM6IFQpIHtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcywgcHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNyZWF0ZTxUIGV4dGVuZHMgb2JqZWN0Pihwcm9wczogVCkge1xyXG4gICAgcmV0dXJuIG5ldyBCYXNlVHJlZU5vZGU8VD4ocHJvcHMpIGFzIFRyZWVOb2RlPFQ+O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyZWVGcm9tTGlzdDxUIGV4dGVuZHMgb2JqZWN0LCBSPihcclxuICBsaXN0OiBUW10sXHJcbiAga2V5U2VsZWN0b3I6IChpdGVtOiBUKSA9PiBOb2RlS2V5LFxyXG4gIHBhcmVudEtleVNlbGVjdG9yOiB0eXBlb2Yga2V5U2VsZWN0b3IsXHJcbiAgdmFsdWVNYXBwZXI6IChpdGVtOiBUKSA9PiBSLFxyXG4pIHtcclxuICBjb25zdCBtYXAgPSBjcmVhdGVNYXBGcm9tTGlzdChsaXN0LCBrZXlTZWxlY3RvciwgdmFsdWVNYXBwZXIpO1xyXG4gIGNvbnN0IHRyZWU6IE5vZGVWYWx1ZTxULCB0eXBlb2YgdmFsdWVNYXBwZXI+W10gPSBbXTtcclxuXHJcbiAgbGlzdC5mb3JFYWNoKHJvdyA9PiB7XHJcbiAgICBjb25zdCBpZCA9IGtleVNlbGVjdG9yKHJvdyk7XHJcbiAgICBjb25zdCBwYXJlbnRJZCA9IHBhcmVudEtleVNlbGVjdG9yKHJvdyk7XHJcbiAgICBjb25zdCBub2RlID0gbWFwLmdldChpZCk7XHJcblxyXG4gICAgaWYgKCFub2RlKSByZXR1cm47XHJcblxyXG4gICAgaWYgKHBhcmVudElkKSB7XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IG1hcC5nZXQocGFyZW50SWQpO1xyXG4gICAgICBpZiAoIXBhcmVudCkgcmV0dXJuO1xyXG4gICAgICAocGFyZW50IGFzIGFueSkuY2hpbGRyZW4ucHVzaChub2RlKTtcclxuICAgICAgKHBhcmVudCBhcyBhbnkpLmlzTGVhZiA9IGZhbHNlO1xyXG4gICAgICAobm9kZSBhcyBhbnkpLnBhcmVudCA9IHBhcmVudDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyZWUucHVzaChub2RlKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIHRyZWU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNYXBGcm9tTGlzdDxUIGV4dGVuZHMgb2JqZWN0LCBSPihcclxuICBsaXN0OiBUW10sXHJcbiAga2V5U2VsZWN0b3I6IChpdGVtOiBUKSA9PiBOb2RlS2V5LFxyXG4gIHZhbHVlTWFwcGVyOiAoaXRlbTogVCkgPT4gUixcclxuKSB7XHJcbiAgdHlwZSBLZXkgPSBSZXR1cm5UeXBlPHR5cGVvZiBrZXlTZWxlY3Rvcj47XHJcbiAgdHlwZSBWYWx1ZSA9IE5vZGVWYWx1ZTxULCB0eXBlb2YgdmFsdWVNYXBwZXI+O1xyXG4gIGNvbnN0IG1hcCA9IG5ldyBNYXA8S2V5LCBWYWx1ZT4oKTtcclxuICBsaXN0LmZvckVhY2gocm93ID0+IG1hcC5zZXQoa2V5U2VsZWN0b3Iocm93KSwgdmFsdWVNYXBwZXIocm93KSkpO1xyXG4gIHJldHVybiBtYXA7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUcmVlTm9kZUZpbHRlckNyZWF0b3I8VCBleHRlbmRzIG9iamVjdD4oXHJcbiAga2V5OiBrZXlvZiBULFxyXG4gIG1hcHBlckZuOiAodmFsdWU6IGFueSkgPT4gc3RyaW5nLFxyXG4pIHtcclxuICByZXR1cm4gKHNlYXJjaDogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoJy4qJyArIHNlYXJjaCArICcuKicsICdpJyk7XHJcblxyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNvbGxlY3ROb2Rlcyhub2RlczogVHJlZU5vZGU8VD5bXSwgbWF0Y2hlcyA9IFtdKSB7XHJcbiAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG4gICAgICAgIGlmIChyZWdleC50ZXN0KG1hcHBlckZuKG5vZGVba2V5XSkpKSBtYXRjaGVzLnB1c2gobm9kZSk7XHJcblxyXG4gICAgICAgIGlmIChub2RlLmNoaWxkcmVuLmxlbmd0aCkgY29sbGVjdE5vZGVzKG5vZGUuY2hpbGRyZW4sIG1hdGNoZXMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gbWF0Y2hlcztcclxuICAgIH07XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVHJlZU5vZGU8VCBleHRlbmRzIG9iamVjdD4gPSB7XHJcbiAgW0sgaW4ga2V5b2YgVF06IFRbS107XHJcbn0gJiB7XHJcbiAgY2hpbGRyZW46IFRyZWVOb2RlPFQ+W107XHJcbiAgaXNMZWFmOiBib29sZWFuO1xyXG4gIHBhcmVudD86IFRyZWVOb2RlPFQ+O1xyXG59O1xyXG5cclxudHlwZSBOb2RlS2V5ID0gbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sIHwgdW5kZWZpbmVkIHwgbnVsbDtcclxuXHJcbnR5cGUgTm9kZVZhbHVlPFQgZXh0ZW5kcyBvYmplY3QsIEYgZXh0ZW5kcyAoLi4uYXJnczogYW55KSA9PiBhbnk+ID0gRiBleHRlbmRzIHVuZGVmaW5lZFxyXG4gID8gVHJlZU5vZGU8VD5cclxuICA6IFJldHVyblR5cGU8Rj47XHJcbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { differentLocales } from '@abp/ng.core';
2
+ import { isDevMode } from '@angular/core';
3
+ let localeMap = {};
4
+ export function registerLocale({ cultureNameLocaleFileMap = {}, errorHandlerFn = defaultLocalErrorHandlerFn, } = {}) {
5
+ return (locale) => {
6
+ localeMap = { ...differentLocales, ...cultureNameLocaleFileMap };
7
+ const localePath = `/locales/${localeMap[locale] || locale}`;
8
+ return new Promise((resolve, reject) => {
9
+ return import(
10
+ /* webpackMode: "lazy-once" */
11
+ /* webpackChunkName: "locales"*/
12
+ /* webpackInclude: /[/\\](ar|cs|en|en-GB|es|de|fi|fr|hi|hu|is|it|pt|tr|ru|ro|sk|sl|zh-Hans|zh-Hant)\.(mjs|js)$/ */
13
+ /* webpackExclude: /[/\\]global|extra/ */
14
+ `@angular/common${localePath}`)
15
+ .then(val => {
16
+ let module = val;
17
+ while (module.default) {
18
+ module = module.default;
19
+ }
20
+ resolve({ default: module });
21
+ })
22
+ .catch(error => {
23
+ errorHandlerFn({
24
+ resolve,
25
+ reject,
26
+ error,
27
+ locale,
28
+ });
29
+ });
30
+ });
31
+ };
32
+ }
33
+ const extraLocales = {};
34
+ export function storeLocaleData(data, localeId) {
35
+ extraLocales[localeId] = data;
36
+ }
37
+ export async function defaultLocalErrorHandlerFn({ locale, resolve }) {
38
+ if (extraLocales[locale]) {
39
+ resolve({ default: extraLocales[localeMap[locale] || locale] });
40
+ return;
41
+ }
42
+ if (isDevMode) {
43
+ console.error(`Cannot find the ${locale} locale file. You can check how can add new culture at https://docs.abp.io/en/abp/latest/UI/Angular/Localization#adding-a-new-culture`);
44
+ }
45
+ resolve();
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItbG9jYWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9sb2NhbGUvc3JjL3V0aWxzL3JlZ2lzdGVyLWxvY2FsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMxQyxJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFPbkIsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsRUFDRSx3QkFBd0IsR0FBRyxFQUFFLEVBQzdCLGNBQWMsR0FBRywwQkFBMEIsTUFDekMsRUFBd0I7SUFFNUIsT0FBTyxDQUFDLE1BQWMsRUFBZ0IsRUFBRTtRQUN0QyxTQUFTLEdBQUcsRUFBRSxHQUFHLGdCQUFnQixFQUFFLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztRQUNqRSxNQUFNLFVBQVUsR0FBRyxZQUFZLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUM3RCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLE9BQU8sTUFBTTtZQUNYLDhCQUE4QjtZQUM5QixnQ0FBZ0M7WUFDaEMsa0hBQWtIO1lBQ2xILHlDQUF5QztZQUN6QyxrQkFBa0IsVUFBVSxFQUFFLENBQy9CO2lCQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDVixJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUM7Z0JBQ2pCLE9BQU8sTUFBTSxDQUFDLE9BQU8sRUFBRTtvQkFDckIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7aUJBQ3pCO2dCQUNELE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2IsY0FBYyxDQUFDO29CQUNiLE9BQU87b0JBQ1AsTUFBTTtvQkFDTixLQUFLO29CQUNMLE1BQU07aUJBQ1AsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFTLEVBQUUsUUFBZ0I7SUFDekQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNoQyxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSwwQkFBMEIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQTBCO0lBQzFGLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3hCLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRSxPQUFPO0tBQ1I7SUFFRCxJQUFJLFNBQVMsRUFBRTtRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQ1gsbUJBQW1CLE1BQU0sdUlBQXVJLENBQ2pLLENBQUM7S0FDSDtJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRpZmZlcmVudExvY2FsZXMgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxlRXJyb3JIYW5kbGVyRGF0YSB7XHJcbiAgcmVzb2x2ZTogYW55O1xyXG4gIHJlamVjdDogYW55O1xyXG4gIGVycm9yOiBhbnk7XHJcbiAgbG9jYWxlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmxldCBsb2NhbGVNYXAgPSB7fTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJMb2NhbGVEYXRhIHtcclxuICBjdWx0dXJlTmFtZUxvY2FsZUZpbGVNYXA/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIGVycm9ySGFuZGxlckZuPzogKGRhdGE6IExvY2FsZUVycm9ySGFuZGxlckRhdGEpID0+IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyTG9jYWxlKFxyXG4gIHtcclxuICAgIGN1bHR1cmVOYW1lTG9jYWxlRmlsZU1hcCA9IHt9LFxyXG4gICAgZXJyb3JIYW5kbGVyRm4gPSBkZWZhdWx0TG9jYWxFcnJvckhhbmRsZXJGbixcclxuICB9ID0ge30gYXMgUmVnaXN0ZXJMb2NhbGVEYXRhLFxyXG4pIHtcclxuICByZXR1cm4gKGxvY2FsZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcclxuICAgIGxvY2FsZU1hcCA9IHsgLi4uZGlmZmVyZW50TG9jYWxlcywgLi4uY3VsdHVyZU5hbWVMb2NhbGVGaWxlTWFwIH07XHJcbiAgICBjb25zdCBsb2NhbGVQYXRoID0gYC9sb2NhbGVzLyR7bG9jYWxlTWFwW2xvY2FsZV0gfHwgbG9jYWxlfWA7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICByZXR1cm4gaW1wb3J0KFxyXG4gICAgICAgIC8qIHdlYnBhY2tNb2RlOiBcImxhenktb25jZVwiICovXHJcbiAgICAgICAgLyogd2VicGFja0NodW5rTmFtZTogXCJsb2NhbGVzXCIqL1xyXG4gICAgICAgIC8qIHdlYnBhY2tJbmNsdWRlOiAvWy9cXFxcXShhcnxjc3xlbnxlbi1HQnxlc3xkZXxmaXxmcnxoaXxodXxpc3xpdHxwdHx0cnxydXxyb3xza3xzbHx6aC1IYW5zfHpoLUhhbnQpXFwuKG1qc3xqcykkLyAqL1xyXG4gICAgICAgIC8qIHdlYnBhY2tFeGNsdWRlOiAvWy9cXFxcXWdsb2JhbHxleHRyYS8gKi9cclxuICAgICAgICBgQGFuZ3VsYXIvY29tbW9uJHtsb2NhbGVQYXRofWBcclxuICAgICAgKVxyXG4gICAgICAgIC50aGVuKHZhbCA9PiB7XHJcbiAgICAgICAgICBsZXQgbW9kdWxlID0gdmFsO1xyXG4gICAgICAgICAgd2hpbGUgKG1vZHVsZS5kZWZhdWx0KSB7XHJcbiAgICAgICAgICAgIG1vZHVsZSA9IG1vZHVsZS5kZWZhdWx0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmVzb2x2ZSh7IGRlZmF1bHQ6IG1vZHVsZSB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICBlcnJvckhhbmRsZXJGbih7XHJcbiAgICAgICAgICAgIHJlc29sdmUsXHJcbiAgICAgICAgICAgIHJlamVjdCxcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIGxvY2FsZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfTtcclxufVxyXG5cclxuY29uc3QgZXh0cmFMb2NhbGVzID0ge307XHJcbmV4cG9ydCBmdW5jdGlvbiBzdG9yZUxvY2FsZURhdGEoZGF0YTogYW55LCBsb2NhbGVJZDogc3RyaW5nKSB7XHJcbiAgZXh0cmFMb2NhbGVzW2xvY2FsZUlkXSA9IGRhdGE7XHJcbn1cclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWZhdWx0TG9jYWxFcnJvckhhbmRsZXJGbih7IGxvY2FsZSwgcmVzb2x2ZSB9OiBMb2NhbGVFcnJvckhhbmRsZXJEYXRhKSB7XHJcbiAgaWYgKGV4dHJhTG9jYWxlc1tsb2NhbGVdKSB7XHJcbiAgICByZXNvbHZlKHsgZGVmYXVsdDogZXh0cmFMb2NhbGVzW2xvY2FsZU1hcFtsb2NhbGVdIHx8IGxvY2FsZV0gfSk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBpZiAoaXNEZXZNb2RlKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICBgQ2Fubm90IGZpbmQgdGhlICR7bG9jYWxlfSBsb2NhbGUgZmlsZS4gWW91IGNhbiBjaGVjayBob3cgY2FuIGFkZCBuZXcgY3VsdHVyZSBhdCBodHRwczovL2RvY3MuYWJwLmlvL2VuL2FicC9sYXRlc3QvVUkvQW5ndWxhci9Mb2NhbGl6YXRpb24jYWRkaW5nLWEtbmV3LWN1bHR1cmVgLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlc29sdmUoKTtcclxufVxyXG4iXX0=
@@ -0,0 +1,63 @@
1
+ import { BaseCoreModule, coreOptionsFactory, CORE_OPTIONS, LIST_QUERY_DEBOUNCE_TIME, LOADER_DELAY, PermissionService, RestService, } from '@abp/ng.core';
2
+ import { APP_BASE_HREF } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
4
+ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
5
+ import { provideRoutes } from '@angular/router';
6
+ import { RouterTestingModule } from '@angular/router/testing';
7
+ import { MockPermissionService } from './services/mock-permission.service';
8
+ import { MockRestService } from './services/mock-rest.service';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * CoreTestingModule is the module that will be used in tests
12
+ * and it provides mock alternatives
13
+ */
14
+ export class CoreTestingModule {
15
+ static withConfig({ baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {}) {
16
+ return {
17
+ ngModule: CoreTestingModule,
18
+ providers: [
19
+ { provide: APP_BASE_HREF, useValue: baseHref },
20
+ {
21
+ provide: 'CORE_OPTIONS',
22
+ useValue: {
23
+ skipGetAppConfiguration: true,
24
+ ...options,
25
+ },
26
+ },
27
+ {
28
+ provide: CORE_OPTIONS,
29
+ useFactory: coreOptionsFactory,
30
+ deps: ['CORE_OPTIONS'],
31
+ },
32
+ {
33
+ provide: LIST_QUERY_DEBOUNCE_TIME,
34
+ useValue: listQueryDebounceTime,
35
+ },
36
+ {
37
+ provide: PermissionService,
38
+ useClass: MockPermissionService,
39
+ },
40
+ {
41
+ provide: RestService,
42
+ useClass: MockRestService,
43
+ },
44
+ {
45
+ provide: LOADER_DELAY,
46
+ useValue: 0,
47
+ },
48
+ provideRoutes(routes),
49
+ ],
50
+ };
51
+ }
52
+ }
53
+ CoreTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
54
+ CoreTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreTestingModule, imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule], exports: [RouterTestingModule, BaseCoreModule] });
55
+ CoreTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreTestingModule, imports: [[NoopAnimationsModule, RouterTestingModule, BaseCoreModule], RouterTestingModule, BaseCoreModule] });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreTestingModule, decorators: [{
57
+ type: NgModule,
58
+ args: [{
59
+ exports: [RouterTestingModule, BaseCoreModule],
60
+ imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],
61
+ }]
62
+ }] });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvdGVzdGluZy9zcmMvbGliL2NvcmUtdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFdBQVcsR0FDWixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFL0Q7OztHQUdHO0FBS0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsVUFBVSxDQUNmLEVBQUUsUUFBUSxHQUFHLEdBQUcsRUFBRSxxQkFBcUIsR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxHQUFHLE9BQU8sS0FBSyxFQUFjO1FBRXZGLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtnQkFDOUM7b0JBQ0UsT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLFFBQVEsRUFBRTt3QkFDUix1QkFBdUIsRUFBRSxJQUFJO3dCQUM3QixHQUFHLE9BQU87cUJBQ1g7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLFVBQVUsRUFBRSxrQkFBa0I7b0JBQzlCLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDdkI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLHdCQUF3QjtvQkFDakMsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLFdBQVc7b0JBQ3BCLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLENBQUM7aUJBQ1o7Z0JBQ0QsYUFBYSxDQUFDLE1BQU0sQ0FBQzthQUN0QjtTQUNGLENBQUM7SUFDSixDQUFDOzs4R0F2Q1UsaUJBQWlCOytHQUFqQixpQkFBaUIsWUFGbEIsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxhQUR6RCxtQkFBbUIsRUFBRSxjQUFjOytHQUdsQyxpQkFBaUIsWUFGbkIsQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLENBQUMsRUFEMUQsbUJBQW1CLEVBQUUsY0FBYzsyRkFHbEMsaUJBQWlCO2tCQUo3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLGNBQWMsQ0FBQztvQkFDOUMsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxDQUFDO2lCQUNyRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQUJQLFxyXG4gIEJhc2VDb3JlTW9kdWxlLFxyXG4gIGNvcmVPcHRpb25zRmFjdG9yeSxcclxuICBDT1JFX09QVElPTlMsXHJcbiAgTElTVF9RVUVSWV9ERUJPVU5DRV9USU1FLFxyXG4gIExPQURFUl9ERUxBWSxcclxuICBQZXJtaXNzaW9uU2VydmljZSxcclxuICBSZXN0U2VydmljZSxcclxufSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBBUFBfQkFTRV9IUkVGIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTm9vcEFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBwcm92aWRlUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUm91dGVyVGVzdGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlci90ZXN0aW5nJztcclxuaW1wb3J0IHsgTW9ja1Blcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9tb2NrLXBlcm1pc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IE1vY2tSZXN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbW9jay1yZXN0LnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIENvcmVUZXN0aW5nTW9kdWxlIGlzIHRoZSBtb2R1bGUgdGhhdCB3aWxsIGJlIHVzZWQgaW4gdGVzdHNcclxuICogYW5kIGl0IHByb3ZpZGVzIG1vY2sgYWx0ZXJuYXRpdmVzXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGV4cG9ydHM6IFtSb3V0ZXJUZXN0aW5nTW9kdWxlLCBCYXNlQ29yZU1vZHVsZV0sXHJcbiAgaW1wb3J0czogW05vb3BBbmltYXRpb25zTW9kdWxlLCBSb3V0ZXJUZXN0aW5nTW9kdWxlLCBCYXNlQ29yZU1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlVGVzdGluZ01vZHVsZSB7XHJcbiAgc3RhdGljIHdpdGhDb25maWcoXHJcbiAgICB7IGJhc2VIcmVmID0gJy8nLCBsaXN0UXVlcnlEZWJvdW5jZVRpbWUgPSAwLCByb3V0ZXMgPSBbXSwgLi4ub3B0aW9ucyB9ID0ge30gYXMgQUJQLlRlc3QsXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb3JlVGVzdGluZ01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IENvcmVUZXN0aW5nTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IEFQUF9CQVNFX0hSRUYsIHVzZVZhbHVlOiBiYXNlSHJlZiB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6ICdDT1JFX09QVElPTlMnLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICAgICAgc2tpcEdldEFwcENvbmZpZ3VyYXRpb246IHRydWUsXHJcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQ09SRV9PUFRJT05TLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogY29yZU9wdGlvbnNGYWN0b3J5LFxyXG4gICAgICAgICAgZGVwczogWydDT1JFX09QVElPTlMnXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IExJU1RfUVVFUllfREVCT1VOQ0VfVElNRSxcclxuICAgICAgICAgIHVzZVZhbHVlOiBsaXN0UXVlcnlEZWJvdW5jZVRpbWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBQZXJtaXNzaW9uU2VydmljZSxcclxuICAgICAgICAgIHVzZUNsYXNzOiBNb2NrUGVybWlzc2lvblNlcnZpY2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBSZXN0U2VydmljZSxcclxuICAgICAgICAgIHVzZUNsYXNzOiBNb2NrUmVzdFNlcnZpY2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBMT0FERVJfREVMQVksXHJcbiAgICAgICAgICB1c2VWYWx1ZTogMCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHByb3ZpZGVSb3V0ZXMocm91dGVzKSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -24,12 +24,12 @@ export class MockPermissionService extends PermissionService {
24
24
  this.configState['store'].deepPatch({ auth: { grantedPolicies } });
25
25
  }
26
26
  }
27
- MockPermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockPermissionService, deps: [{ token: i1.ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
28
- MockPermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockPermissionService, providedIn: 'root' });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockPermissionService, decorators: [{
27
+ MockPermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockPermissionService, deps: [{ token: i1.ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
28
+ MockPermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockPermissionService, providedIn: 'root' });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockPermissionService, decorators: [{
30
30
  type: Injectable,
31
31
  args: [{
32
32
  providedIn: 'root',
33
33
  }]
34
34
  }], ctorParameters: function () { return [{ type: i1.ConfigStateService }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1wZXJtaXNzaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3Rlc3Rpbmcvc3JjL2xpYi9zZXJ2aWNlcy9tb2NrLXBlcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxpQkFBaUI7SUFDMUQsWUFBc0IsV0FBK0I7UUFDbkQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBREMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBRW5ELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLGVBQWUsR0FBRyxJQUFJLEtBQUssQ0FDL0IsRUFBRSxFQUNGO1lBQ0UsR0FBRztnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7U0FDRixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQWM7UUFDMUIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNwRCxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7O21IQTFCVSxxQkFBcUI7dUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTdGF0ZVNlcnZpY2UsIFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vY2tQZXJtaXNzaW9uU2VydmljZSBleHRlbmRzIFBlcm1pc3Npb25TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSkge1xyXG4gICAgc3VwZXIoY29uZmlnU3RhdGUpO1xyXG4gICAgdGhpcy5ncmFudEFsbFBvbGljaWVzKCk7XHJcbiAgfVxyXG5cclxuICBncmFudEFsbFBvbGljaWVzKCkge1xyXG4gICAgY29uc3QgZ3JhbnRlZFBvbGljaWVzID0gbmV3IFByb3h5KFxyXG4gICAgICB7fSxcclxuICAgICAge1xyXG4gICAgICAgIGdldCgpIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY29uZmlnU3RhdGVbJ3N0b3JlJ10uZGVlcFBhdGNoKHsgYXV0aDogeyBncmFudGVkUG9saWNpZXMgfSB9KTtcclxuICB9XHJcblxyXG4gIGdyYW50UG9saWNpZXMoa2V5czogc3RyaW5nW10pIHtcclxuICAgIGNvbnN0IGdyYW50ZWRQb2xpY2llcyA9IGtleXMucmVkdWNlKChwb2xpY2llcywga2V5KSA9PiB7XHJcbiAgICAgIHBvbGljaWVzW2tleV0gPSB0cnVlO1xyXG4gICAgICByZXR1cm4gcG9saWNpZXM7XHJcbiAgICB9LCB7fSk7XHJcblxyXG4gICAgdGhpcy5jb25maWdTdGF0ZVsnc3RvcmUnXS5kZWVwUGF0Y2goeyBhdXRoOiB7IGdyYW50ZWRQb2xpY2llcyB9IH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1wZXJtaXNzaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3Rlc3Rpbmcvc3JjL2xpYi9zZXJ2aWNlcy9tb2NrLXBlcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxpQkFBaUI7SUFDMUQsWUFBc0IsV0FBK0I7UUFDbkQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBREMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBRW5ELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLGVBQWUsR0FBRyxJQUFJLEtBQUssQ0FDL0IsRUFBRSxFQUNGO1lBQ0UsR0FBRztnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7U0FDRixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQWM7UUFDMUIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNwRCxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7O2tIQTFCVSxxQkFBcUI7c0hBQXJCLHFCQUFxQixjQUZwQixNQUFNOzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTdGF0ZVNlcnZpY2UsIFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vY2tQZXJtaXNzaW9uU2VydmljZSBleHRlbmRzIFBlcm1pc3Npb25TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSkge1xyXG4gICAgc3VwZXIoY29uZmlnU3RhdGUpO1xyXG4gICAgdGhpcy5ncmFudEFsbFBvbGljaWVzKCk7XHJcbiAgfVxyXG5cclxuICBncmFudEFsbFBvbGljaWVzKCkge1xyXG4gICAgY29uc3QgZ3JhbnRlZFBvbGljaWVzID0gbmV3IFByb3h5KFxyXG4gICAgICB7fSxcclxuICAgICAge1xyXG4gICAgICAgIGdldCgpIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY29uZmlnU3RhdGVbJ3N0b3JlJ10uZGVlcFBhdGNoKHsgYXV0aDogeyBncmFudGVkUG9saWNpZXMgfSB9KTtcclxuICB9XHJcblxyXG4gIGdyYW50UG9saWNpZXMoa2V5czogc3RyaW5nW10pIHtcclxuICAgIGNvbnN0IGdyYW50ZWRQb2xpY2llcyA9IGtleXMucmVkdWNlKChwb2xpY2llcywga2V5KSA9PiB7XHJcbiAgICAgIHBvbGljaWVzW2tleV0gPSB0cnVlO1xyXG4gICAgICByZXR1cm4gcG9saWNpZXM7XHJcbiAgICB9LCB7fSk7XHJcblxyXG4gICAgdGhpcy5jb25maWdTdGF0ZVsnc3RvcmUnXS5kZWVwUGF0Y2goeyBhdXRoOiB7IGdyYW50ZWRQb2xpY2llcyB9IH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -16,9 +16,9 @@ export class MockRestService extends RestService {
16
16
  return throwError(err);
17
17
  }
18
18
  }
19
- MockRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockRestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: i2.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
20
- MockRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockRestService, providedIn: 'root' });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockRestService, decorators: [{
19
+ MockRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockRestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: i2.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
20
+ MockRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockRestService, providedIn: 'root' });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockRestService, decorators: [{
22
22
  type: Injectable,
23
23
  args: [{
24
24
  providedIn: 'root',
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
27
27
  type: Inject,
28
28
  args: [CORE_OPTIONS]
29
29
  }] }, { type: i1.HttpClient }, { type: i2.EnvironmentService }]; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1yZXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3Rlc3Rpbmcvc3JjL2xpYi9zZXJ2aWNlcy9tb2NrLXJlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQU8sWUFBWSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUs5QyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQzlDLFlBQ2tDLE9BQWlCLEVBQ3ZDLElBQWdCLEVBQ2hCLFdBQStCO1FBRXpDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUpSLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFDdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFHM0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OzZHQVhVLGVBQWUsa0JBRWhCLFlBQVk7aUhBRlgsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgQ09SRV9PUFRJT05TLCBFbnZpcm9ubWVudFNlcnZpY2UsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2NrUmVzdFNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KENPUkVfT1BUSU9OUykgcHJvdGVjdGVkIG9wdGlvbnM6IEFCUC5Sb290LFxyXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50U2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKG9wdGlvbnMsIGh0dHAsIGVudmlyb25tZW50LCBudWxsKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9yKGVycjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1yZXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3Rlc3Rpbmcvc3JjL2xpYi9zZXJ2aWNlcy9tb2NrLXJlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQU8sWUFBWSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUs5QyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQzlDLFlBQ2tDLE9BQWlCLEVBQ3ZDLElBQWdCLEVBQ2hCLFdBQStCO1FBRXpDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUpSLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFDdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFHM0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OzRHQVhVLGVBQWUsa0JBRWhCLFlBQVk7Z0hBRlgsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgQ09SRV9PUFRJT05TLCBFbnZpcm9ubWVudFNlcnZpY2UsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2NrUmVzdFNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KENPUkVfT1BUSU9OUykgcHJvdGVjdGVkIG9wdGlvbnM6IEFCUC5Sb290LFxyXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50U2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKG9wdGlvbnMsIGh0dHAsIGVudmlyb25tZW50LCBudWxsKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9yKGVycjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -6,14 +6,21 @@ let localeMap = {};
6
6
  function registerLocale({ cultureNameLocaleFileMap = {}, errorHandlerFn = defaultLocalErrorHandlerFn, } = {}) {
7
7
  return (locale) => {
8
8
  localeMap = Object.assign(Object.assign({}, differentLocales), cultureNameLocaleFileMap);
9
+ const localePath = `/locales/${localeMap[locale] || locale}`;
9
10
  return new Promise((resolve, reject) => {
10
11
  return import(
11
12
  /* webpackMode: "lazy-once" */
12
13
  /* webpackChunkName: "locales"*/
13
- /* webpackInclude: /[/\\](ar|cs|en|en-GB|es|de|fi|fr|hi|hu|is|it|pt|tr|ru|ro|sk|sl|zh-Hans|zh-Hant).js/ */
14
+ /* webpackInclude: /[/\\](ar|cs|en|en-GB|es|de|fi|fr|hi|hu|is|it|pt|tr|ru|ro|sk|sl|zh-Hans|zh-Hant)\.(mjs|js)$/ */
14
15
  /* webpackExclude: /[/\\]global|extra/ */
15
- `@angular/common/locales/${localeMap[locale] || locale}.js`)
16
- .then(resolve)
16
+ `@angular/common${localePath}`)
17
+ .then(val => {
18
+ let module = val;
19
+ while (module.default) {
20
+ module = module.default;
21
+ }
22
+ resolve({ default: module });
23
+ })
17
24
  .catch(error => {
18
25
  errorHandlerFn({
19
26
  resolve,
@@ -47,4 +54,4 @@ function defaultLocalErrorHandlerFn({ locale, resolve }) {
47
54
  */
48
55
 
49
56
  export { defaultLocalErrorHandlerFn, registerLocale, storeLocaleData };
50
- //# sourceMappingURL=abp-ng.core-locale.js.map
57
+ //# sourceMappingURL=abp-ng.core-locale.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abp-ng.core-locale.mjs","sources":["../../../../packages/core/locale/src/utils/register-locale.ts","../../../../packages/core/locale/src/abp-ng.core-locale.ts"],"sourcesContent":["import { differentLocales } from '@abp/ng.core';\r\nimport { isDevMode } from '@angular/core';\r\n\r\nexport interface LocaleErrorHandlerData {\r\n resolve: any;\r\n reject: any;\r\n error: any;\r\n locale: string;\r\n}\r\n\r\nlet localeMap = {};\r\n\r\nexport interface RegisterLocaleData {\r\n cultureNameLocaleFileMap?: Record<string, string>;\r\n errorHandlerFn?: (data: LocaleErrorHandlerData) => any;\r\n}\r\n\r\nexport function registerLocale(\r\n {\r\n cultureNameLocaleFileMap = {},\r\n errorHandlerFn = defaultLocalErrorHandlerFn,\r\n } = {} as RegisterLocaleData,\r\n) {\r\n return (locale: string): Promise<any> => {\r\n localeMap = { ...differentLocales, ...cultureNameLocaleFileMap };\r\n const localePath = `/locales/${localeMap[locale] || locale}`;\r\n return new Promise((resolve, reject) => {\r\n return import(\r\n /* webpackMode: \"lazy-once\" */\r\n /* webpackChunkName: \"locales\"*/\r\n /* webpackInclude: /[/\\\\](ar|cs|en|en-GB|es|de|fi|fr|hi|hu|is|it|pt|tr|ru|ro|sk|sl|zh-Hans|zh-Hant)\\.(mjs|js)$/ */\r\n /* webpackExclude: /[/\\\\]global|extra/ */\r\n `@angular/common${localePath}`\r\n )\r\n .then(val => {\r\n let module = val;\r\n while (module.default) {\r\n module = module.default;\r\n }\r\n resolve({ default: module });\r\n })\r\n .catch(error => {\r\n errorHandlerFn({\r\n resolve,\r\n reject,\r\n error,\r\n locale,\r\n });\r\n });\r\n });\r\n };\r\n}\r\n\r\nconst extraLocales = {};\r\nexport function storeLocaleData(data: any, localeId: string) {\r\n extraLocales[localeId] = data;\r\n}\r\n\r\nexport async function defaultLocalErrorHandlerFn({ locale, resolve }: LocaleErrorHandlerData) {\r\n if (extraLocales[locale]) {\r\n resolve({ default: extraLocales[localeMap[locale] || locale] });\r\n return;\r\n }\r\n\r\n if (isDevMode) {\r\n console.error(\r\n `Cannot find the ${locale} locale file. You can check how can add new culture at https://docs.abp.io/en/abp/latest/UI/Angular/Localization#adding-a-new-culture`,\r\n );\r\n }\r\n\r\n resolve();\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAUA,IAAI,SAAS,GAAG,EAAE,CAAC;SAOH,cAAc,CAC5B,EACE,wBAAwB,GAAG,EAAE,EAC7B,cAAc,GAAG,0BAA0B,MACzC,EAAwB;IAE5B,OAAO,CAAC,MAAc;QACpB,SAAS,mCAAQ,gBAAgB,GAAK,wBAAwB,CAAE,CAAC;QACjE,MAAM,UAAU,GAAG,YAAY,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;YACjC,OAAO;;;;;YAKL,kBAAkB,UAAU,EAAE,CAC/B;iBACE,IAAI,CAAC,GAAG;gBACP,IAAI,MAAM,GAAG,GAAG,CAAC;gBACjB,OAAO,MAAM,CAAC,OAAO,EAAE;oBACrB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;iBACzB;gBACD,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;aAC9B,CAAC;iBACD,KAAK,CAAC,KAAK;gBACV,cAAc,CAAC;oBACb,OAAO;oBACP,MAAM;oBACN,KAAK;oBACL,MAAM;iBACP,CAAC,CAAC;aACJ,CAAC,CAAC;SACN,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,EAAE,CAAC;SACR,eAAe,CAAC,IAAS,EAAE,QAAgB;IACzD,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AAChC,CAAC;SAEqB,0BAA0B,CAAC,EAAE,MAAM,EAAE,OAAO,EAA0B;;QAC1F,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;YACxB,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO;SACR;QAED,IAAI,SAAS,EAAE;YACb,OAAO,CAAC,KAAK,CACX,mBAAmB,MAAM,uIAAuI,CACjK,CAAC;SACH;QAED,OAAO,EAAE,CAAC;KACX;;;ACvED;;;;;;"}
@@ -7,8 +7,8 @@ import { Injectable, Inject, NgModule } from '@angular/core';
7
7
  import { NoopAnimationsModule } from '@angular/platform-browser/animations';
8
8
  import { provideRoutes } from '@angular/router';
9
9
  import { RouterTestingModule } from '@angular/router/testing';
10
- import * as i1$1 from '@angular/common/http';
11
10
  import { throwError } from 'rxjs';
11
+ import * as i1$1 from '@angular/common/http';
12
12
 
13
13
  class MockPermissionService extends PermissionService {
14
14
  constructor(configState) {
@@ -32,9 +32,9 @@ class MockPermissionService extends PermissionService {
32
32
  this.configState['store'].deepPatch({ auth: { grantedPolicies } });
33
33
  }
34
34
  }
35
- MockPermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockPermissionService, deps: [{ token: i1.ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
36
- MockPermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockPermissionService, providedIn: 'root' });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockPermissionService, decorators: [{
35
+ MockPermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockPermissionService, deps: [{ token: i1.ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ MockPermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockPermissionService, providedIn: 'root' });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockPermissionService, decorators: [{
38
38
  type: Injectable,
39
39
  args: [{
40
40
  providedIn: 'root',
@@ -52,17 +52,19 @@ class MockRestService extends RestService {
52
52
  return throwError(err);
53
53
  }
54
54
  }
55
- MockRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockRestService, deps: [{ token: CORE_OPTIONS }, { token: i1$1.HttpClient }, { token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
56
- MockRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockRestService, providedIn: 'root' });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MockRestService, decorators: [{
55
+ MockRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockRestService, deps: [{ token: CORE_OPTIONS }, { token: i1$1.HttpClient }, { token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
56
+ MockRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockRestService, providedIn: 'root' });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MockRestService, decorators: [{
58
58
  type: Injectable,
59
59
  args: [{
60
60
  providedIn: 'root',
61
61
  }]
62
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
63
- type: Inject,
64
- args: [CORE_OPTIONS]
65
- }] }, { type: i1$1.HttpClient }, { type: i1.EnvironmentService }]; } });
62
+ }], ctorParameters: function () {
63
+ return [{ type: undefined, decorators: [{
64
+ type: Inject,
65
+ args: [CORE_OPTIONS]
66
+ }] }, { type: i1$1.HttpClient }, { type: i1.EnvironmentService }];
67
+ } });
66
68
 
67
69
  /**
68
70
  * CoreTestingModule is the module that will be used in tests
@@ -105,10 +107,10 @@ class CoreTestingModule {
105
107
  };
106
108
  }
107
109
  }
108
- CoreTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
109
- CoreTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreTestingModule, imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule], exports: [RouterTestingModule, BaseCoreModule] });
110
- CoreTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreTestingModule, imports: [[NoopAnimationsModule, RouterTestingModule, BaseCoreModule], RouterTestingModule, BaseCoreModule] });
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreTestingModule, decorators: [{
110
+ CoreTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
111
+ CoreTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreTestingModule, imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule], exports: [RouterTestingModule, BaseCoreModule] });
112
+ CoreTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreTestingModule, imports: [[NoopAnimationsModule, RouterTestingModule, BaseCoreModule], RouterTestingModule, BaseCoreModule] });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreTestingModule, decorators: [{
112
114
  type: NgModule,
113
115
  args: [{
114
116
  exports: [RouterTestingModule, BaseCoreModule],
@@ -136,4 +138,4 @@ function wait(fixture, timeout = 0) {
136
138
  */
137
139
 
138
140
  export { CoreTestingModule, MockPermissionService, MockRestService, clearPage, wait };
139
- //# sourceMappingURL=abp-ng.core-testing.js.map
141
+ //# sourceMappingURL=abp-ng.core-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abp-ng.core-testing.mjs","sources":["../../../../packages/core/testing/src/lib/services/mock-permission.service.ts","../../../../packages/core/testing/src/lib/services/mock-rest.service.ts","../../../../packages/core/testing/src/lib/core-testing.module.ts","../../../../packages/core/testing/src/lib/utils/clear-page.util.ts","../../../../packages/core/testing/src/lib/utils/wait.util.ts","../../../../packages/core/testing/src/abp-ng.core-testing.ts"],"sourcesContent":["import { ConfigStateService, PermissionService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockPermissionService extends PermissionService {\r\n constructor(protected configState: ConfigStateService) {\r\n super(configState);\r\n this.grantAllPolicies();\r\n }\r\n\r\n grantAllPolicies() {\r\n const grantedPolicies = new Proxy(\r\n {},\r\n {\r\n get() {\r\n return true;\r\n },\r\n },\r\n );\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n\r\n grantPolicies(keys: string[]) {\r\n const grantedPolicies = keys.reduce((policies, key) => {\r\n policies[key] = true;\r\n return policies;\r\n }, {});\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n}\r\n","import { ABP, CORE_OPTIONS, EnvironmentService, RestService } from '@abp/ng.core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockRestService extends RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected environment: EnvironmentService,\r\n ) {\r\n super(options, http, environment, null);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n return throwError(err);\r\n }\r\n}\r\n","import {\r\n ABP,\r\n BaseCoreModule,\r\n coreOptionsFactory,\r\n CORE_OPTIONS,\r\n LIST_QUERY_DEBOUNCE_TIME,\r\n LOADER_DELAY,\r\n PermissionService,\r\n RestService,\r\n} from '@abp/ng.core';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { provideRoutes } from '@angular/router';\r\nimport { RouterTestingModule } from '@angular/router/testing';\r\nimport { MockPermissionService } from './services/mock-permission.service';\r\nimport { MockRestService } from './services/mock-rest.service';\r\n\r\n/**\r\n * CoreTestingModule is the module that will be used in tests\r\n * and it provides mock alternatives\r\n */\r\n@NgModule({\r\n exports: [RouterTestingModule, BaseCoreModule],\r\n imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],\r\n})\r\nexport class CoreTestingModule {\r\n static withConfig(\r\n { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,\r\n ): ModuleWithProviders<CoreTestingModule> {\r\n return {\r\n ngModule: CoreTestingModule,\r\n providers: [\r\n { provide: APP_BASE_HREF, useValue: baseHref },\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: {\r\n skipGetAppConfiguration: true,\r\n ...options,\r\n },\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n {\r\n provide: LIST_QUERY_DEBOUNCE_TIME,\r\n useValue: listQueryDebounceTime,\r\n },\r\n {\r\n provide: PermissionService,\r\n useClass: MockPermissionService,\r\n },\r\n {\r\n provide: RestService,\r\n useClass: MockRestService,\r\n },\r\n {\r\n provide: LOADER_DELAY,\r\n useValue: 0,\r\n },\r\n provideRoutes(routes),\r\n ],\r\n };\r\n }\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function clearPage<T extends any>(_fixture: ComponentFixture<T>) {\r\n if (!document) return;\r\n\r\n const elements = document.querySelectorAll('body > *');\r\n elements.forEach(element => {\r\n if (/^(abp|ngb)-/i.test(element.tagName)) document.body.removeChild(element);\r\n });\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function wait<T extends any>(fixture: ComponentFixture<T>, timeout = 0) {\r\n fixture.detectChanges();\r\n return new Promise(res => setTimeout(res, timeout));\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;MAMa,8BAA8B,iBAAiB;IAC1D,YAAsB,WAA+B;QACnD,KAAK,CAAC,WAAW,CAAC,CAAC;QADC,gBAAW,GAAX,WAAW,CAAoB;QAEnD,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,gBAAgB;QACd,MAAM,eAAe,GAAG,IAAI,KAAK,CAC/B,EAAE,EACF;YACE,GAAG;gBACD,OAAO,IAAI,CAAC;aACb;SACF,CACF,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;KACpE;IAED,aAAa,CAAC,IAAc;QAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,GAAG;YAChD,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACrB,OAAO,QAAQ,CAAC;SACjB,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;KACpE;;kHA1BU,qBAAqB;sHAArB,qBAAqB,cAFpB,MAAM;2FAEP,qBAAqB;kBAHjC,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;MCGY,wBAAwB,WAAW;IAC9C,YACkC,OAAiB,EACvC,IAAgB,EAChB,WAA+B;QAEzC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAJR,YAAO,GAAP,OAAO,CAAU;QACvC,SAAI,GAAJ,IAAI,CAAY;QAChB,gBAAW,GAAX,WAAW,CAAoB;KAG1C;IAED,WAAW,CAAC,GAAQ;QAClB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;KACxB;;4GAXU,eAAe,kBAEhB,YAAY;gHAFX,eAAe,cAFd,MAAM;2FAEP,eAAe;kBAH3B,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;8BAGI,MAAM;+BAAC,YAAY;;;;ACQxB;;;;MAQa,iBAAiB;IAC5B,OAAO,UAAU,CACf,KAAyE,EAAc;YAAvF,EAAE,QAAQ,GAAG,GAAG,EAAE,qBAAqB,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,OAA+B,EAA1B,OAAO,cAApE,gDAAoE;QAEpE,OAAO;YACL,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;gBAC9C;oBACE,OAAO,EAAE,cAAc;oBACvB,QAAQ,kBACN,uBAAuB,EAAE,IAAI,IAC1B,OAAO,CACX;iBACF;gBACD;oBACE,OAAO,EAAE,YAAY;oBACrB,UAAU,EAAE,kBAAkB;oBAC9B,IAAI,EAAE,CAAC,cAAc,CAAC;iBACvB;gBACD;oBACE,OAAO,EAAE,wBAAwB;oBACjC,QAAQ,EAAE,qBAAqB;iBAChC;gBACD;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,QAAQ,EAAE,qBAAqB;iBAChC;gBACD;oBACE,OAAO,EAAE,WAAW;oBACpB,QAAQ,EAAE,eAAe;iBAC1B;gBACD;oBACE,OAAO,EAAE,YAAY;oBACrB,QAAQ,EAAE,CAAC;iBACZ;gBACD,aAAa,CAAC,MAAM,CAAC;aACtB;SACF,CAAC;KACH;;8GAvCU,iBAAiB;+GAAjB,iBAAiB,YAFlB,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,aADzD,mBAAmB,EAAE,cAAc;+GAGlC,iBAAiB,YAFnB,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,CAAC,EAD1D,mBAAmB,EAAE,cAAc;2FAGlC,iBAAiB;kBAJ7B,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC;oBAC9C,OAAO,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,CAAC;iBACrE;;;SCvBe,SAAS,CAAgB,QAA6B;IACpE,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,OAAO,CAAC,OAAO;QACtB,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC9E,CAAC,CAAC;AACL;;SCPgB,IAAI,CAAgB,OAA4B,EAAE,OAAO,GAAG,CAAC;IAC3E,OAAO,CAAC,aAAa,EAAE,CAAC;IACxB,OAAO,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACtD;;ACLA;;;;;;"}