@abp/ng.core 7.2.1 → 7.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/abp-ng.core.mjs +4 -4
- package/esm2022/lib/abstracts/abstract-guard.mjs +2 -0
- package/{esm2020 → esm2022}/lib/abstracts/auth-response.model.mjs +1 -1
- package/esm2022/lib/abstracts/auth.guard.mjs +18 -0
- package/esm2022/lib/abstracts/auth.service.mjs +46 -0
- package/esm2022/lib/abstracts/index.mjs +6 -0
- package/esm2022/lib/abstracts/ng-model.component.mjs +60 -0
- package/esm2022/lib/clients/http.client.mjs +29 -0
- package/{esm2020 → esm2022}/lib/clients/index.mjs +1 -1
- package/esm2022/lib/components/dynamic-layout.component.mjs +101 -0
- package/{esm2020 → esm2022}/lib/components/index.mjs +3 -3
- package/esm2022/lib/components/replaceable-route-container.component.mjs +43 -0
- package/esm2022/lib/components/router-outlet.component.mjs +16 -0
- package/{esm2020 → esm2022}/lib/constants/different-locales.mjs +336 -336
- package/{esm2020 → esm2022}/lib/constants/index.mjs +1 -1
- package/esm2022/lib/core.module.mjs +285 -0
- package/esm2022/lib/directives/autofocus.directive.mjs +31 -0
- package/esm2022/lib/directives/debounce.directive.mjs +37 -0
- package/esm2022/lib/directives/for.directive.mjs +160 -0
- package/esm2022/lib/directives/form-submit.directive.mjs +78 -0
- package/{esm2020 → esm2022}/lib/directives/index.mjs +8 -8
- package/esm2022/lib/directives/init.directive.mjs +22 -0
- package/esm2022/lib/directives/permission.directive.mjs +75 -0
- package/esm2022/lib/directives/replaceable-template.directive.mjs +133 -0
- package/esm2022/lib/directives/stop-propagation.directive.mjs +33 -0
- package/{esm2020 → esm2022}/lib/enums/common.mjs +1 -1
- package/{esm2020 → esm2022}/lib/enums/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/guards/index.mjs +1 -1
- package/esm2022/lib/guards/permission.guard.mjs +41 -0
- package/esm2022/lib/handlers/routes.handler.mjs +52 -0
- package/esm2022/lib/interceptors/api.interceptor.mjs +28 -0
- package/{esm2020 → esm2022}/lib/interceptors/index.mjs +1 -1
- package/esm2022/lib/localization.module.mjs +17 -0
- package/{esm2020 → esm2022}/lib/models/auth.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/common.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/dtos.mjs +134 -134
- package/{esm2020 → esm2022}/lib/models/environment.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/index.mjs +9 -9
- package/{esm2020 → esm2022}/lib/models/localization.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/replaceable-components.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/rest.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/session.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/utility.mjs +1 -1
- package/{esm2020 → esm2022}/lib/pipes/index.mjs +7 -7
- package/esm2022/lib/pipes/localization.pipe.mjs +34 -0
- package/esm2022/lib/pipes/safe-html.pipe.mjs +24 -0
- package/esm2022/lib/pipes/short-date-time.pipe.mjs +35 -0
- package/esm2022/lib/pipes/short-date.pipe.mjs +35 -0
- package/esm2022/lib/pipes/short-time.pipe.mjs +35 -0
- package/esm2022/lib/pipes/sort.pipe.mjs +50 -0
- package/esm2022/lib/pipes/to-injector.pipe.mjs +30 -0
- package/{esm2020 → esm2022}/lib/providers/cookie-language.provider.mjs +21 -21
- package/{esm2020 → esm2022}/lib/providers/include-localization-resources.provider.mjs +5 -5
- package/{esm2020 → esm2022}/lib/providers/locale.provider.mjs +25 -25
- package/esm2022/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +28 -0
- package/{esm2020 → esm2022}/lib/proxy/pages/abp/multi-tenancy/index.mjs +1 -1
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +25 -0
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.mjs +1 -1
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +25 -0
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +25 -0
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/http/modeling/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/http/modeling/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/localization/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/localization/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/models.mjs +1 -1
- package/esm2022/lib/services/config-state.service.mjs +182 -0
- package/esm2022/lib/services/content-projection.service.mjs +18 -0
- package/esm2022/lib/services/dom-insertion.service.mjs +35 -0
- package/esm2022/lib/services/environment.service.mjs +49 -0
- package/esm2022/lib/services/http-error-reporter.service.mjs +30 -0
- package/esm2022/lib/services/http-wait.service.mjs +76 -0
- package/{esm2020 → esm2022}/lib/services/index.mjs +21 -21
- package/esm2022/lib/services/lazy-load.service.mjs +41 -0
- package/esm2022/lib/services/list.service.mjs +103 -0
- package/esm2022/lib/services/local-storage.service.mjs +33 -0
- package/esm2022/lib/services/localization.service.mjs +218 -0
- package/esm2022/lib/services/multi-tenancy.service.mjs +49 -0
- package/esm2022/lib/services/permission.service.mjs +64 -0
- package/esm2022/lib/services/replaceable-components.service.mjs +50 -0
- package/esm2022/lib/services/resource-wait.service.mjs +40 -0
- package/esm2022/lib/services/rest.service.mjs +79 -0
- package/esm2022/lib/services/router-events.service.mjs +39 -0
- package/esm2022/lib/services/router-wait.service.mjs +52 -0
- package/esm2022/lib/services/routes.service.mjs +165 -0
- package/esm2022/lib/services/session-state.service.mjs +81 -0
- package/esm2022/lib/services/subscription.service.mjs +44 -0
- package/esm2022/lib/services/track-by.service.mjs +22 -0
- package/{esm2020 → esm2022}/lib/strategies/container.strategy.mjs +37 -37
- package/{esm2020 → esm2022}/lib/strategies/content-security.strategy.mjs +29 -29
- package/{esm2020 → esm2022}/lib/strategies/content.strategy.mjs +51 -51
- package/{esm2020 → esm2022}/lib/strategies/context.strategy.mjs +36 -36
- package/{esm2020 → esm2022}/lib/strategies/cross-origin.strategy.mjs +27 -27
- package/{esm2020 → esm2022}/lib/strategies/dom.strategy.mjs +26 -26
- package/{esm2020 → esm2022}/lib/strategies/index.mjs +8 -8
- package/{esm2020 → esm2022}/lib/strategies/loading.strategy.mjs +57 -57
- package/{esm2020 → esm2022}/lib/strategies/projection.strategy.mjs +79 -79
- package/{esm2020 → esm2022}/lib/tokens/app-config.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/check-authentication-state.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/cookie-language-key.token.mjs +4 -4
- package/{esm2020 → esm2022}/lib/tokens/http-context.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/include-localization-resources.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/index.mjs +15 -15
- package/{esm2020 → esm2022}/lib/tokens/list.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/localization.token.mjs +9 -9
- package/{esm2020 → esm2022}/lib/tokens/lodaer-delay.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/manage-profile.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/options.token.mjs +7 -7
- package/{esm2020 → esm2022}/lib/tokens/others-group.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/pipe-to-login.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/queue.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/set-token-response-to-storage.token.mjs +5 -5
- package/{esm2020 → esm2022}/lib/tokens/tenant-key.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/utils/array-utils.mjs +6 -6
- package/{esm2020 → esm2022}/lib/utils/common-utils.mjs +34 -34
- package/{esm2020 → esm2022}/lib/utils/date-extensions.mjs +5 -5
- package/{esm2020 → esm2022}/lib/utils/date-utils.mjs +12 -12
- package/{esm2020 → esm2022}/lib/utils/environment-utils.mjs +35 -35
- package/{esm2020 → esm2022}/lib/utils/factory-utils.mjs +24 -24
- package/{esm2020 → esm2022}/lib/utils/file-utils.mjs +13 -13
- package/{esm2020 → esm2022}/lib/utils/form-utils.mjs +11 -11
- package/{esm2020 → esm2022}/lib/utils/generator-utils.mjs +33 -33
- package/{esm2020 → esm2022}/lib/utils/http-utils.mjs +18 -18
- package/{esm2020 → esm2022}/lib/utils/index.mjs +20 -20
- package/{esm2020 → esm2022}/lib/utils/initial-utils.mjs +59 -59
- package/esm2022/lib/utils/internal-store-utils.mjs +37 -0
- package/{esm2020 → esm2022}/lib/utils/lazy-load-utils.mjs +39 -39
- package/{esm2020 → esm2022}/lib/utils/localization-utils.mjs +48 -48
- package/{esm2020 → esm2022}/lib/utils/multi-tenancy-utils.mjs +80 -80
- package/{esm2020 → esm2022}/lib/utils/number-utils.mjs +3 -3
- package/{esm2020 → esm2022}/lib/utils/object-utils.mjs +36 -36
- package/{esm2020 → esm2022}/lib/utils/queue.mjs +40 -40
- package/{esm2020 → esm2022}/lib/utils/route-utils.mjs +25 -25
- package/{esm2020 → esm2022}/lib/utils/string-utils.mjs +29 -29
- package/{esm2020 → esm2022}/lib/utils/tree-utils.mjs +69 -69
- package/{esm2020 → esm2022}/lib/validators/age.validator.mjs +13 -13
- package/{esm2020 → esm2022}/lib/validators/credit-card.validator.mjs +20 -20
- package/esm2022/lib/validators/index.mjs +29 -0
- package/{esm2020 → esm2022}/lib/validators/range.validator.mjs +14 -14
- package/{esm2020 → esm2022}/lib/validators/required.validator.mjs +14 -14
- package/{esm2020 → esm2022}/lib/validators/string-length.validator.mjs +14 -14
- package/esm2022/lib/validators/unique-character.validator.mjs +13 -0
- package/{esm2020 → esm2022}/lib/validators/url.validator.mjs +16 -16
- package/{esm2020 → esm2022}/lib/validators/username.validator.mjs +13 -13
- package/{esm2020 → esm2022}/locale/abp-ng.core-locale.mjs +4 -4
- package/{esm2020 → esm2022}/locale/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/locale/utils/register-locale.mjs +46 -46
- package/{esm2020 → esm2022}/public-api.mjs +26 -26
- package/{esm2020 → esm2022}/testing/abp-ng.core-testing.mjs +4 -4
- package/esm2022/testing/lib/core-testing.module.mjs +68 -0
- package/{esm2020 → esm2022}/testing/lib/services/index.mjs +2 -2
- package/esm2022/testing/lib/services/mock-permission.service.mjs +36 -0
- package/esm2022/testing/lib/services/mock-rest.service.mjs +32 -0
- package/{esm2020 → esm2022}/testing/lib/utils/clear-page.util.mjs +9 -9
- package/{esm2020 → esm2022}/testing/lib/utils/index.mjs +2 -2
- package/{esm2020 → esm2022}/testing/lib/utils/wait.util.mjs +4 -4
- package/{esm2020 → esm2022}/testing/public-api.mjs +3 -3
- package/{fesm2020 → fesm2022}/abp-ng.core-locale.mjs +45 -45
- package/{fesm2020 → fesm2022}/abp-ng.core-testing.mjs +120 -120
- package/{fesm2020 → fesm2022}/abp-ng.core-testing.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/abp-ng.core.mjs +4199 -4187
- package/fesm2022/abp-ng.core.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/abstracts/abstract-guard.d.ts +5 -0
- package/lib/abstracts/auth-response.model.d.ts +10 -10
- package/lib/abstracts/auth.guard.d.ts +9 -10
- package/lib/abstracts/auth.service.d.ts +30 -30
- package/lib/abstracts/index.d.ts +5 -4
- package/lib/abstracts/ng-model.component.d.ts +25 -25
- package/lib/clients/http.client.d.ts +11 -11
- package/lib/clients/index.d.ts +1 -1
- package/lib/components/dynamic-layout.component.d.ts +28 -28
- package/lib/components/index.d.ts +3 -3
- package/lib/components/replaceable-route-container.component.d.ts +17 -17
- package/lib/components/router-outlet.component.d.ts +5 -5
- package/lib/constants/different-locales.d.ts +334 -334
- package/lib/constants/index.d.ts +1 -1
- package/lib/core.module.d.ts +57 -57
- package/lib/directives/autofocus.directive.d.ts +12 -12
- package/lib/directives/debounce.directive.d.ts +13 -13
- package/lib/directives/for.directive.d.ts +36 -36
- package/lib/directives/form-submit.directive.d.ts +23 -23
- package/lib/directives/index.d.ts +8 -8
- package/lib/directives/init.directive.d.ts +10 -10
- package/lib/directives/permission.directive.d.ts +24 -24
- package/lib/directives/replaceable-template.directive.d.ts +29 -29
- package/lib/directives/stop-propagation.directive.d.ts +12 -12
- package/lib/enums/common.d.ts +5 -5
- package/lib/enums/index.d.ts +1 -1
- package/lib/guards/index.d.ts +1 -1
- package/lib/guards/permission.guard.d.ts +16 -16
- package/lib/handlers/routes.handler.d.ts +11 -11
- package/lib/interceptors/api.interceptor.d.ts +14 -14
- package/lib/interceptors/index.d.ts +1 -1
- package/lib/localization.module.d.ts +7 -7
- package/lib/models/auth.d.ts +14 -14
- package/lib/models/common.d.ts +79 -79
- package/lib/models/dtos.d.ts +107 -107
- package/lib/models/environment.d.ts +38 -38
- package/lib/models/index.d.ts +9 -9
- package/lib/models/localization.d.ts +5 -5
- package/lib/models/replaceable-components.d.ts +45 -45
- package/lib/models/rest.d.ts +36 -36
- package/lib/models/session.d.ts +7 -7
- package/lib/models/utility.d.ts +14 -14
- package/lib/pipes/index.d.ts +7 -7
- package/lib/pipes/localization.pipe.d.ts +12 -12
- package/lib/pipes/safe-html.pipe.d.ts +9 -9
- package/lib/pipes/short-date-time.pipe.d.ts +12 -12
- package/lib/pipes/short-date.pipe.d.ts +12 -12
- package/lib/pipes/short-time.pipe.d.ts +12 -12
- package/lib/pipes/sort.pipe.d.ts +9 -9
- package/lib/pipes/to-injector.pipe.d.ts +10 -10
- package/lib/providers/cookie-language.provider.d.ts +3 -3
- package/lib/providers/include-localization-resources.provider.d.ts +2 -2
- package/lib/providers/locale.provider.d.ts +9 -9
- package/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.d.ts +12 -12
- package/lib/proxy/pages/abp/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.d.ts +5 -5
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.d.ts +106 -106
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.d.ts +71 -71
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.d.ts +14 -14
- package/lib/proxy/volo/abp/http/modeling/index.d.ts +1 -1
- package/lib/proxy/volo/abp/http/modeling/models.d.ts +88 -88
- package/lib/proxy/volo/abp/localization/index.d.ts +1 -1
- package/lib/proxy/volo/abp/localization/models.d.ts +7 -7
- package/lib/proxy/volo/abp/models.d.ts +4 -4
- package/lib/services/config-state.service.d.ts +379 -378
- package/lib/services/content-projection.service.d.ts +10 -10
- package/lib/services/dom-insertion.service.d.ts +10 -10
- package/lib/services/environment.service.d.ts +103 -103
- package/lib/services/http-error-reporter.service.d.ts +12 -12
- package/lib/services/http-wait.service.d.ts +30 -30
- package/lib/services/index.d.ts +21 -21
- package/lib/services/lazy-load.service.d.ts +13 -13
- package/lib/services/list.service.d.ts +39 -39
- package/lib/services/local-storage.service.d.ts +13 -13
- package/lib/services/localization.service.d.ts +54 -54
- package/lib/services/multi-tenancy.service.d.ts +22 -22
- package/lib/services/permission.service.d.ts +19 -19
- package/lib/services/replaceable-components.service.d.ts +19 -19
- package/lib/services/resource-wait.service.d.ts +15 -15
- package/lib/services/rest.service.d.ts +24 -24
- package/lib/services/router-events.service.d.ts +29 -29
- package/lib/services/router-wait.service.d.ts +20 -20
- package/lib/services/routes.service.d.ts +57 -57
- package/lib/services/session-state.service.d.ts +27 -27
- package/lib/services/subscription.service.d.ts +17 -17
- package/lib/services/track-by.service.d.ts +11 -11
- package/lib/strategies/container.strategy.d.ts +22 -22
- package/lib/strategies/content-security.strategy.d.ts +17 -17
- package/lib/strategies/content.strategy.d.ts +26 -26
- package/lib/strategies/context.strategy.d.ts +23 -23
- package/lib/strategies/cross-origin.strategy.d.ts +14 -14
- package/lib/strategies/dom.strategy.d.ts +13 -13
- package/lib/strategies/index.d.ts +8 -8
- package/lib/strategies/loading.strategy.d.ts +28 -28
- package/lib/strategies/projection.strategy.d.ts +39 -39
- package/lib/tokens/app-config.token.d.ts +3 -3
- package/lib/tokens/check-authentication-state.d.ts +3 -3
- package/lib/tokens/cookie-language-key.token.d.ts +2 -2
- package/lib/tokens/http-context.token.d.ts +2 -2
- package/lib/tokens/include-localization-resources.token.d.ts +2 -2
- package/lib/tokens/index.d.ts +15 -15
- package/lib/tokens/list.token.d.ts +2 -2
- package/lib/tokens/localization.token.d.ts +6 -6
- package/lib/tokens/lodaer-delay.token.d.ts +2 -2
- package/lib/tokens/manage-profile.token.d.ts +2 -2
- package/lib/tokens/options.token.d.ts +4 -4
- package/lib/tokens/others-group.token.d.ts +2 -2
- package/lib/tokens/pipe-to-login.token.d.ts +3 -3
- package/lib/tokens/queue.token.d.ts +3 -3
- package/lib/tokens/set-token-response-to-storage.token.d.ts +6 -6
- package/lib/tokens/tenant-key.token.d.ts +2 -2
- package/lib/utils/array-utils.d.ts +1 -1
- package/lib/utils/common-utils.d.ts +11 -11
- package/lib/utils/date-extensions.d.ts +6 -6
- package/lib/utils/date-utils.d.ts +4 -4
- package/lib/utils/environment-utils.d.ts +3 -3
- package/lib/utils/factory-utils.d.ts +11 -11
- package/lib/utils/file-utils.d.ts +1 -1
- package/lib/utils/form-utils.d.ts +2 -2
- package/lib/utils/generator-utils.d.ts +3 -3
- package/lib/utils/http-utils.d.ts +8 -8
- package/lib/utils/index.d.ts +20 -20
- package/lib/utils/initial-utils.d.ts +3 -3
- package/lib/utils/internal-store-utils.d.ts +14 -14
- package/lib/utils/lazy-load-utils.d.ts +4 -4
- package/lib/utils/localization-utils.d.ts +5 -5
- package/lib/utils/multi-tenancy-utils.d.ts +3 -3
- package/lib/utils/number-utils.d.ts +1 -1
- package/lib/utils/object-utils.d.ts +2 -2
- package/lib/utils/queue.d.ts +14 -14
- package/lib/utils/route-utils.d.ts +8 -8
- package/lib/utils/string-utils.d.ts +3 -3
- package/lib/utils/tree-utils.d.ts +26 -26
- package/lib/validators/age.validator.d.ts +10 -10
- package/lib/validators/credit-card.validator.d.ts +5 -5
- package/lib/validators/index.d.ts +28 -24
- package/lib/validators/range.validator.d.ts +12 -12
- package/lib/validators/required.validator.d.ts +8 -8
- package/lib/validators/string-length.validator.d.ts +14 -14
- package/lib/validators/unique-character.validator.d.ts +5 -0
- package/lib/validators/url.validator.d.ts +5 -5
- package/lib/validators/username.validator.d.ts +10 -10
- package/locale/index.d.ts +5 -5
- package/locale/public-api.d.ts +1 -1
- package/locale/utils/register-locale.d.ts +13 -13
- package/package.json +12 -22
- package/public-api.d.ts +25 -25
- package/testing/index.d.ts +5 -5
- package/testing/lib/core-testing.module.d.ts +16 -16
- package/testing/lib/services/index.d.ts +2 -2
- package/testing/lib/services/mock-permission.service.d.ts +10 -10
- package/testing/lib/services/mock-rest.service.d.ts +14 -14
- package/testing/lib/utils/clear-page.util.d.ts +2 -2
- package/testing/lib/utils/index.d.ts +2 -2
- package/testing/lib/utils/wait.util.d.ts +2 -2
- package/testing/public-api.d.ts +3 -3
- package/esm2020/lib/abstracts/auth.guard.mjs +0 -17
- package/esm2020/lib/abstracts/auth.service.mjs +0 -45
- package/esm2020/lib/abstracts/index.mjs +0 -5
- package/esm2020/lib/abstracts/ng-model.component.mjs +0 -59
- package/esm2020/lib/clients/http.client.mjs +0 -34
- package/esm2020/lib/components/dynamic-layout.component.mjs +0 -100
- package/esm2020/lib/components/replaceable-route-container.component.mjs +0 -42
- package/esm2020/lib/components/router-outlet.component.mjs +0 -15
- package/esm2020/lib/core.module.mjs +0 -282
- package/esm2020/lib/directives/autofocus.directive.mjs +0 -30
- package/esm2020/lib/directives/debounce.directive.mjs +0 -36
- package/esm2020/lib/directives/for.directive.mjs +0 -159
- package/esm2020/lib/directives/form-submit.directive.mjs +0 -77
- package/esm2020/lib/directives/init.directive.mjs +0 -21
- package/esm2020/lib/directives/permission.directive.mjs +0 -74
- package/esm2020/lib/directives/replaceable-template.directive.mjs +0 -132
- package/esm2020/lib/directives/stop-propagation.directive.mjs +0 -32
- package/esm2020/lib/guards/permission.guard.mjs +0 -44
- package/esm2020/lib/handlers/routes.handler.mjs +0 -51
- package/esm2020/lib/interceptors/api.interceptor.mjs +0 -27
- package/esm2020/lib/localization.module.mjs +0 -16
- package/esm2020/lib/pipes/localization.pipe.mjs +0 -33
- package/esm2020/lib/pipes/safe-html.pipe.mjs +0 -23
- package/esm2020/lib/pipes/short-date-time.pipe.mjs +0 -34
- package/esm2020/lib/pipes/short-date.pipe.mjs +0 -34
- package/esm2020/lib/pipes/short-time.pipe.mjs +0 -34
- package/esm2020/lib/pipes/sort.pipe.mjs +0 -49
- package/esm2020/lib/pipes/to-injector.pipe.mjs +0 -29
- package/esm2020/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +0 -27
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +0 -24
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +0 -24
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +0 -24
- package/esm2020/lib/services/config-state.service.mjs +0 -178
- package/esm2020/lib/services/content-projection.service.mjs +0 -17
- package/esm2020/lib/services/dom-insertion.service.mjs +0 -34
- package/esm2020/lib/services/environment.service.mjs +0 -48
- package/esm2020/lib/services/http-error-reporter.service.mjs +0 -29
- package/esm2020/lib/services/http-wait.service.mjs +0 -75
- package/esm2020/lib/services/lazy-load.service.mjs +0 -40
- package/esm2020/lib/services/list.service.mjs +0 -102
- package/esm2020/lib/services/local-storage.service.mjs +0 -32
- package/esm2020/lib/services/localization.service.mjs +0 -217
- package/esm2020/lib/services/multi-tenancy.service.mjs +0 -48
- package/esm2020/lib/services/permission.service.mjs +0 -63
- package/esm2020/lib/services/replaceable-components.service.mjs +0 -49
- package/esm2020/lib/services/resource-wait.service.mjs +0 -39
- package/esm2020/lib/services/rest.service.mjs +0 -78
- package/esm2020/lib/services/router-events.service.mjs +0 -38
- package/esm2020/lib/services/router-wait.service.mjs +0 -51
- package/esm2020/lib/services/routes.service.mjs +0 -163
- package/esm2020/lib/services/session-state.service.mjs +0 -80
- package/esm2020/lib/services/subscription.service.mjs +0 -43
- package/esm2020/lib/services/track-by.service.mjs +0 -21
- package/esm2020/lib/utils/internal-store-utils.mjs +0 -37
- package/esm2020/lib/validators/index.mjs +0 -25
- package/esm2020/testing/lib/core-testing.module.mjs +0 -67
- package/esm2020/testing/lib/services/mock-permission.service.mjs +0 -35
- package/esm2020/testing/lib/services/mock-rest.service.mjs +0 -31
- package/fesm2015/abp-ng.core-locale.mjs +0 -57
- package/fesm2015/abp-ng.core-locale.mjs.map +0 -1
- package/fesm2015/abp-ng.core-testing.mjs +0 -146
- package/fesm2015/abp-ng.core-testing.mjs.map +0 -1
- package/fesm2015/abp-ng.core.mjs +0 -4460
- package/fesm2015/abp-ng.core.mjs.map +0 -1
- package/fesm2020/abp-ng.core.mjs.map +0 -1
- package/src/lib/proxy/README.md +0 -17
- /package/{fesm2020 → fesm2022}/abp-ng.core-locale.mjs.map +0 -0
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { Compiler, Injector, NgModuleFactory, } from '@angular/core';
|
|
2
|
-
import { filter, map } from 'rxjs/operators';
|
|
3
|
-
export class LazyModuleFactory extends NgModuleFactory {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
create(parentInjector) {
|
|
12
|
-
const injector = Injector.create({
|
|
13
|
-
...(parentInjector && { parent: parentInjector }),
|
|
14
|
-
providers: this.moduleWithProviders.providers,
|
|
15
|
-
});
|
|
16
|
-
const compiler = injector.get(Compiler);
|
|
17
|
-
const factory = compiler.compileModuleSync(this.moduleType);
|
|
18
|
-
return factory.create(injector);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export function featuresFactory(configState, featureKeys, mapFn = features => features) {
|
|
22
|
-
return configState.getFeatures$(featureKeys).pipe(filter(Boolean), map(mapFn));
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Compiler, Injector, NgModuleFactory, } from '@angular/core';
|
|
2
|
+
import { filter, map } from 'rxjs/operators';
|
|
3
|
+
export class LazyModuleFactory extends NgModuleFactory {
|
|
4
|
+
get moduleType() {
|
|
5
|
+
return this.moduleWithProviders.ngModule;
|
|
6
|
+
}
|
|
7
|
+
constructor(moduleWithProviders) {
|
|
8
|
+
super();
|
|
9
|
+
this.moduleWithProviders = moduleWithProviders;
|
|
10
|
+
}
|
|
11
|
+
create(parentInjector) {
|
|
12
|
+
const injector = Injector.create({
|
|
13
|
+
...(parentInjector && { parent: parentInjector }),
|
|
14
|
+
providers: this.moduleWithProviders.providers,
|
|
15
|
+
});
|
|
16
|
+
const compiler = injector.get(Compiler);
|
|
17
|
+
const factory = compiler.compileModuleSync(this.moduleType);
|
|
18
|
+
return factory.create(injector);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function featuresFactory(configState, featureKeys, mapFn = features => features) {
|
|
22
|
+
return configState.getFeatures$(featureKeys).pipe(filter(Boolean), map(mapFn));
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9mYWN0b3J5LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBQ1IsUUFBUSxFQUVSLGVBQWUsR0FJaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3QyxNQUFNLE9BQU8saUJBQXFCLFNBQVEsZUFBa0I7SUFDMUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFvQixtQkFBMkM7UUFDN0QsS0FBSyxFQUFFLENBQUM7UUFEVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO0lBRS9ELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBK0I7UUFDcEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixHQUFHLENBQUMsY0FBYyxJQUFJLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ2pELFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBNkI7U0FDbEUsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTVELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUM3QixXQUErQixFQUMvQixXQUFxQixFQUNyQixRQUFzRCxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVE7SUFFMUUsT0FBTyxXQUFXLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcGlsZXIsXHJcbiAgSW5qZWN0b3IsXHJcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcclxuICBOZ01vZHVsZUZhY3RvcnksXHJcbiAgTmdNb2R1bGVSZWYsXHJcbiAgU3RhdGljUHJvdmlkZXIsXHJcbiAgVHlwZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy1zdGF0ZS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBMYXp5TW9kdWxlRmFjdG9yeTxUPiBleHRlbmRzIE5nTW9kdWxlRmFjdG9yeTxUPiB7XHJcbiAgZ2V0IG1vZHVsZVR5cGUoKTogVHlwZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2R1bGVXaXRoUHJvdmlkZXJzLm5nTW9kdWxlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2R1bGVXaXRoUHJvdmlkZXJzOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFQ+KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlKHBhcmVudEluamVjdG9yOiBJbmplY3RvciB8IG51bGwpOiBOZ01vZHVsZVJlZjxUPiB7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XHJcbiAgICAgIC4uLihwYXJlbnRJbmplY3RvciAmJiB7IHBhcmVudDogcGFyZW50SW5qZWN0b3IgfSksXHJcbiAgICAgIHByb3ZpZGVyczogdGhpcy5tb2R1bGVXaXRoUHJvdmlkZXJzLnByb3ZpZGVycyBhcyBTdGF0aWNQcm92aWRlcltdLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgY29tcGlsZXIgPSBpbmplY3Rvci5nZXQoQ29tcGlsZXIpO1xyXG4gICAgY29uc3QgZmFjdG9yeSA9IGNvbXBpbGVyLmNvbXBpbGVNb2R1bGVTeW5jKHRoaXMubW9kdWxlVHlwZSk7XHJcblxyXG4gICAgcmV0dXJuIGZhY3RvcnkuY3JlYXRlKGluamVjdG9yKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlc0ZhY3RvcnkoXHJcbiAgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSxcclxuICBmZWF0dXJlS2V5czogc3RyaW5nW10sXHJcbiAgbWFwRm46IChmZWF0dXJlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkgPT4gYW55ID0gZmVhdHVyZXMgPT4gZmVhdHVyZXMsXHJcbikge1xyXG4gIHJldHVybiBjb25maWdTdGF0ZS5nZXRGZWF0dXJlcyQoZmVhdHVyZUtleXMpLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCBtYXAobWFwRm4pKTtcclxufVxyXG4iXX0=
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export function downloadBlob(blob, filename) {
|
|
2
|
-
const blobUrl = URL.createObjectURL(blob);
|
|
3
|
-
const link = document.createElement('a');
|
|
4
|
-
link.href = blobUrl;
|
|
5
|
-
link.download = filename;
|
|
6
|
-
document.body.appendChild(link);
|
|
7
|
-
link.dispatchEvent(new MouseEvent('click', {
|
|
8
|
-
bubbles: true,
|
|
9
|
-
cancelable: true,
|
|
10
|
-
view: window,
|
|
11
|
-
}));
|
|
12
|
-
document.body.removeChild(link);
|
|
13
|
-
}
|
|
1
|
+
export function downloadBlob(blob, filename) {
|
|
2
|
+
const blobUrl = URL.createObjectURL(blob);
|
|
3
|
+
const link = document.createElement('a');
|
|
4
|
+
link.href = blobUrl;
|
|
5
|
+
link.download = filename;
|
|
6
|
+
document.body.appendChild(link);
|
|
7
|
+
link.dispatchEvent(new MouseEvent('click', {
|
|
8
|
+
bubbles: true,
|
|
9
|
+
cancelable: true,
|
|
10
|
+
view: window,
|
|
11
|
+
}));
|
|
12
|
+
document.body.removeChild(link);
|
|
13
|
+
}
|
|
14
14
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9maWxlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBVSxFQUFFLFFBQWdCO0lBQ3ZELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV6QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztJQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUV6QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVoQyxJQUFJLENBQUMsYUFBYSxDQUNoQixJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7UUFDdEIsT0FBTyxFQUFFLElBQUk7UUFDYixVQUFVLEVBQUUsSUFBSTtRQUNoQixJQUFJLEVBQUUsTUFBTTtLQUNiLENBQUMsQ0FDSCxDQUFDO0lBRUYsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBkb3dubG9hZEJsb2IoYmxvYjogQmxvYiwgZmlsZW5hbWU6IHN0cmluZykge1xyXG4gIGNvbnN0IGJsb2JVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG5cclxuICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG5cclxuICBsaW5rLmhyZWYgPSBibG9iVXJsO1xyXG4gIGxpbmsuZG93bmxvYWQgPSBmaWxlbmFtZTtcclxuXHJcbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuXHJcbiAgbGluay5kaXNwYXRjaEV2ZW50KFxyXG4gICAgbmV3IE1vdXNlRXZlbnQoJ2NsaWNrJywge1xyXG4gICAgICBidWJibGVzOiB0cnVlLFxyXG4gICAgICBjYW5jZWxhYmxlOiB0cnVlLFxyXG4gICAgICB2aWV3OiB3aW5kb3csXHJcbiAgICB9KSxcclxuICApO1xyXG5cclxuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { isNumber } from './number-utils';
|
|
2
|
-
export function mapEnumToOptions(_enum) {
|
|
3
|
-
const options = [];
|
|
4
|
-
for (const member in _enum)
|
|
5
|
-
if (!isNumber(member))
|
|
6
|
-
options.push({
|
|
7
|
-
key: member,
|
|
8
|
-
value: _enum[member],
|
|
9
|
-
});
|
|
10
|
-
return options;
|
|
11
|
-
}
|
|
1
|
+
import { isNumber } from './number-utils';
|
|
2
|
+
export function mapEnumToOptions(_enum) {
|
|
3
|
+
const options = [];
|
|
4
|
+
for (const member in _enum)
|
|
5
|
+
if (!isNumber(member))
|
|
6
|
+
options.push({
|
|
7
|
+
key: member,
|
|
8
|
+
value: _enum[member],
|
|
9
|
+
});
|
|
10
|
+
return options;
|
|
11
|
+
}
|
|
12
12
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9mb3JtLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxNQUFNLFVBQVUsZ0JBQWdCLENBQUksS0FBUTtJQUMxQyxNQUFNLE9BQU8sR0FBb0IsRUFBRSxDQUFDO0lBRXBDLEtBQUssTUFBTSxNQUFNLElBQUksS0FBSztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3JCLENBQUMsQ0FBQztJQUVQLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcclxuaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICcuL251bWJlci11dGlscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFwRW51bVRvT3B0aW9uczxUPihfZW51bTogVCk6IEFCUC5PcHRpb248VD5bXSB7XHJcbiAgY29uc3Qgb3B0aW9uczogQUJQLk9wdGlvbjxUPltdID0gW107XHJcblxyXG4gIGZvciAoY29uc3QgbWVtYmVyIGluIF9lbnVtKVxyXG4gICAgaWYgKCFpc051bWJlcihtZW1iZXIpKVxyXG4gICAgICBvcHRpb25zLnB1c2goe1xyXG4gICAgICAgIGtleTogbWVtYmVyLFxyXG4gICAgICAgIHZhbHVlOiBfZW51bVttZW1iZXJdLFxyXG4gICAgICB9KTtcclxuXHJcbiAgcmV0dXJuIG9wdGlvbnM7XHJcbn1cclxuIl19
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
export function uuid(a) {
|
|
2
|
-
return a
|
|
3
|
-
? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)
|
|
4
|
-
: ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);
|
|
5
|
-
}
|
|
6
|
-
export function generateHash(value) {
|
|
7
|
-
let hashed = 0;
|
|
8
|
-
let charCode;
|
|
9
|
-
for (let i = 0; i < value.length; i++) {
|
|
10
|
-
charCode = value.charCodeAt(i);
|
|
11
|
-
hashed = (hashed << 5) - hashed + charCode;
|
|
12
|
-
hashed |= 0;
|
|
13
|
-
}
|
|
14
|
-
return hashed;
|
|
15
|
-
}
|
|
16
|
-
export function generatePassword(length = 8) {
|
|
17
|
-
length = Math.min(Math.max(4, length), 128);
|
|
18
|
-
const lowers = 'abcdefghijklmnopqrstuvwxyz';
|
|
19
|
-
const uppers = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
20
|
-
const numbers = '0123456789';
|
|
21
|
-
const specials = '!@#$%&*()_+{}<>?[]./';
|
|
22
|
-
const all = lowers + uppers + numbers + specials;
|
|
23
|
-
const getRandom = (chrSet) => chrSet[Math.floor(Math.random() * chrSet.length)];
|
|
24
|
-
const password = Array({ length });
|
|
25
|
-
password[0] = getRandom(lowers);
|
|
26
|
-
password[1] = getRandom(uppers);
|
|
27
|
-
password[2] = getRandom(numbers);
|
|
28
|
-
password[3] = getRandom(specials);
|
|
29
|
-
for (let i = 4; i < length; i++) {
|
|
30
|
-
password[i] = getRandom(all);
|
|
31
|
-
}
|
|
32
|
-
return password.sort(() => 0.5 - Math.random()).join('');
|
|
33
|
-
}
|
|
1
|
+
export function uuid(a) {
|
|
2
|
+
return a
|
|
3
|
+
? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)
|
|
4
|
+
: ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);
|
|
5
|
+
}
|
|
6
|
+
export function generateHash(value) {
|
|
7
|
+
let hashed = 0;
|
|
8
|
+
let charCode;
|
|
9
|
+
for (let i = 0; i < value.length; i++) {
|
|
10
|
+
charCode = value.charCodeAt(i);
|
|
11
|
+
hashed = (hashed << 5) - hashed + charCode;
|
|
12
|
+
hashed |= 0;
|
|
13
|
+
}
|
|
14
|
+
return hashed;
|
|
15
|
+
}
|
|
16
|
+
export function generatePassword(length = 8) {
|
|
17
|
+
length = Math.min(Math.max(4, length), 128);
|
|
18
|
+
const lowers = 'abcdefghijklmnopqrstuvwxyz';
|
|
19
|
+
const uppers = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
20
|
+
const numbers = '0123456789';
|
|
21
|
+
const specials = '!@#$%&*()_+{}<>?[]./';
|
|
22
|
+
const all = lowers + uppers + numbers + specials;
|
|
23
|
+
const getRandom = (chrSet) => chrSet[Math.floor(Math.random() * chrSet.length)];
|
|
24
|
+
const password = Array({ length });
|
|
25
|
+
password[0] = getRandom(lowers);
|
|
26
|
+
password[1] = getRandom(uppers);
|
|
27
|
+
password[2] = getRandom(numbers);
|
|
28
|
+
password[3] = getRandom(specials);
|
|
29
|
+
for (let i = 4; i < length; i++) {
|
|
30
|
+
password[i] = getRandom(all);
|
|
31
|
+
}
|
|
32
|
+
return password.sort(() => 0.5 - Math.random()).join('');
|
|
33
|
+
}
|
|
34
34
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL2dlbmVyYXRvci11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsSUFBSSxDQUFDLENBQU87SUFDMUIsT0FBTyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYTtJQUN4QyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDZixJQUFJLFFBQWdCLENBQUM7SUFFckIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDckMsUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDM0MsTUFBTSxJQUFJLENBQUMsQ0FBQztLQUNiO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQztJQUN6QyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUU1QyxNQUFNLE1BQU0sR0FBRyw0QkFBNEIsQ0FBQztJQUM1QyxNQUFNLE1BQU0sR0FBRyw0QkFBNEIsQ0FBQztJQUM1QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUM7SUFDN0IsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUM7SUFDeEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsUUFBUSxDQUFDO0lBRWpELE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFeEYsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNuQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWxDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDL0IsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUM5QjtJQUVELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdXVpZChhPzogYW55KTogc3RyaW5nIHtcclxuICByZXR1cm4gYVxyXG4gICAgPyAoYSBeICgoTWF0aC5yYW5kb20oKSAqIDE2KSA+PiAoYSAvIDQpKSkudG9TdHJpbmcoMTYpXHJcbiAgICA6ICgnJyArIDFlNyArIC0xZTMgKyAtNGUzICsgLThlMyArIC0xZTExKS5yZXBsYWNlKC9bMDE4XS9nLCB1dWlkKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSGFzaCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICBsZXQgaGFzaGVkID0gMDtcclxuICBsZXQgY2hhckNvZGU6IG51bWJlcjtcclxuXHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgY2hhckNvZGUgPSB2YWx1ZS5jaGFyQ29kZUF0KGkpO1xyXG4gICAgaGFzaGVkID0gKGhhc2hlZCA8PCA1KSAtIGhhc2hlZCArIGNoYXJDb2RlO1xyXG4gICAgaGFzaGVkIHw9IDA7XHJcbiAgfVxyXG4gIHJldHVybiBoYXNoZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVBhc3N3b3JkKGxlbmd0aCA9IDgpIHtcclxuICBsZW5ndGggPSBNYXRoLm1pbihNYXRoLm1heCg0LCBsZW5ndGgpLCAxMjgpO1xyXG5cclxuICBjb25zdCBsb3dlcnMgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonO1xyXG4gIGNvbnN0IHVwcGVycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWic7XHJcbiAgY29uc3QgbnVtYmVycyA9ICcwMTIzNDU2Nzg5JztcclxuICBjb25zdCBzcGVjaWFscyA9ICchQCMkJSYqKClfK3t9PD4/W10uLyc7XHJcbiAgY29uc3QgYWxsID0gbG93ZXJzICsgdXBwZXJzICsgbnVtYmVycyArIHNwZWNpYWxzO1xyXG5cclxuICBjb25zdCBnZXRSYW5kb20gPSAoY2hyU2V0OiBzdHJpbmcpID0+IGNoclNldFtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaHJTZXQubGVuZ3RoKV07XHJcblxyXG4gIGNvbnN0IHBhc3N3b3JkID0gQXJyYXkoeyBsZW5ndGggfSk7XHJcbiAgcGFzc3dvcmRbMF0gPSBnZXRSYW5kb20obG93ZXJzKTtcclxuICBwYXNzd29yZFsxXSA9IGdldFJhbmRvbSh1cHBlcnMpO1xyXG4gIHBhc3N3b3JkWzJdID0gZ2V0UmFuZG9tKG51bWJlcnMpO1xyXG4gIHBhc3N3b3JkWzNdID0gZ2V0UmFuZG9tKHNwZWNpYWxzKTtcclxuXHJcbiAgZm9yIChsZXQgaSA9IDQ7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgcGFzc3dvcmRbaV0gPSBnZXRSYW5kb20oYWxsKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBwYXNzd29yZC5zb3J0KCgpID0+IDAuNSAtIE1hdGgucmFuZG9tKCkpLmpvaW4oJycpO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export function getPathName(url) {
|
|
2
|
-
const { pathname } = new URL(url, window.location.origin);
|
|
3
|
-
return pathname;
|
|
4
|
-
}
|
|
5
|
-
export class WebHttpUrlEncodingCodec {
|
|
6
|
-
encodeKey(k) {
|
|
7
|
-
return encodeURIComponent(k);
|
|
8
|
-
}
|
|
9
|
-
encodeValue(v) {
|
|
10
|
-
return encodeURIComponent(v);
|
|
11
|
-
}
|
|
12
|
-
decodeKey(k) {
|
|
13
|
-
return decodeURIComponent(k);
|
|
14
|
-
}
|
|
15
|
-
decodeValue(v) {
|
|
16
|
-
return decodeURIComponent(v);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
1
|
+
export function getPathName(url) {
|
|
2
|
+
const { pathname } = new URL(url, window.location.origin);
|
|
3
|
+
return pathname;
|
|
4
|
+
}
|
|
5
|
+
export class WebHttpUrlEncodingCodec {
|
|
6
|
+
encodeKey(k) {
|
|
7
|
+
return encodeURIComponent(k);
|
|
8
|
+
}
|
|
9
|
+
encodeValue(v) {
|
|
10
|
+
return encodeURIComponent(v);
|
|
11
|
+
}
|
|
12
|
+
decodeKey(k) {
|
|
13
|
+
return decodeURIComponent(k);
|
|
14
|
+
}
|
|
15
|
+
decodeValue(v) {
|
|
16
|
+
return decodeURIComponent(v);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
19
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9odHRwLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBVztJQUNyQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsU0FBUyxDQUFDLENBQVM7UUFDakIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLENBQVM7UUFDbkIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsU0FBUyxDQUFDLENBQVM7UUFDakIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLENBQVM7UUFDbkIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1ldGVyQ29kZWMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGF0aE5hbWUodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIGNvbnN0IHsgcGF0aG5hbWUgfSA9IG5ldyBVUkwodXJsLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcclxuICByZXR1cm4gcGF0aG5hbWU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBXZWJIdHRwVXJsRW5jb2RpbmdDb2RlYyBpbXBsZW1lbnRzIEh0dHBQYXJhbWV0ZXJDb2RlYyB7XHJcbiAgZW5jb2RlS2V5KGs6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGspO1xyXG4gIH1cclxuXHJcbiAgZW5jb2RlVmFsdWUodjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQodik7XHJcbiAgfVxyXG5cclxuICBkZWNvZGVLZXkoazogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoayk7XHJcbiAgfVxyXG5cclxuICBkZWNvZGVWYWx1ZSh2OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQodik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export * from './array-utils';
|
|
2
|
-
export * from './common-utils';
|
|
3
|
-
export * from './date-utils';
|
|
4
|
-
export * from './environment-utils';
|
|
5
|
-
export * from './factory-utils';
|
|
6
|
-
export * from './file-utils';
|
|
7
|
-
export * from './form-utils';
|
|
8
|
-
export * from './generator-utils';
|
|
9
|
-
export * from './http-utils';
|
|
10
|
-
export * from './initial-utils';
|
|
11
|
-
export * from './internal-store-utils';
|
|
12
|
-
export * from './lazy-load-utils';
|
|
13
|
-
export * from './localization-utils';
|
|
14
|
-
export * from './multi-tenancy-utils';
|
|
15
|
-
export * from './number-utils';
|
|
16
|
-
export * from './object-utils';
|
|
17
|
-
export * from './queue';
|
|
18
|
-
export * from './route-utils';
|
|
19
|
-
export * from './string-utils';
|
|
20
|
-
export * from './tree-utils';
|
|
1
|
+
export * from './array-utils';
|
|
2
|
+
export * from './common-utils';
|
|
3
|
+
export * from './date-utils';
|
|
4
|
+
export * from './environment-utils';
|
|
5
|
+
export * from './factory-utils';
|
|
6
|
+
export * from './file-utils';
|
|
7
|
+
export * from './form-utils';
|
|
8
|
+
export * from './generator-utils';
|
|
9
|
+
export * from './http-utils';
|
|
10
|
+
export * from './initial-utils';
|
|
11
|
+
export * from './internal-store-utils';
|
|
12
|
+
export * from './lazy-load-utils';
|
|
13
|
+
export * from './localization-utils';
|
|
14
|
+
export * from './multi-tenancy-utils';
|
|
15
|
+
export * from './number-utils';
|
|
16
|
+
export * from './object-utils';
|
|
17
|
+
export * from './queue';
|
|
18
|
+
export * from './route-utils';
|
|
19
|
+
export * from './string-utils';
|
|
20
|
+
export * from './tree-utils';
|
|
21
21
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FycmF5LXV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21tb24tdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGUtdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vudmlyb25tZW50LXV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9mYWN0b3J5LXV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlLXV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9nZW5lcmF0b3ItdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2h0dHAtdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2luaXRpYWwtdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ludGVybmFsLXN0b3JlLXV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9sYXp5LWxvYWQtdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvY2FsaXphdGlvbi11dGlscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbXVsdGktdGVuYW5jeS11dGlscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLXV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9vYmplY3QtdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3F1ZXVlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS11dGlscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nLXV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi90cmVlLXV0aWxzJztcclxuIl19
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
import { registerLocaleData } from '@angular/common';
|
|
2
|
-
import { tap, catchError } from 'rxjs/operators';
|
|
3
|
-
import { lastValueFrom, throwError } from 'rxjs';
|
|
4
|
-
import { ConfigStateService } from '../services/config-state.service';
|
|
5
|
-
import { EnvironmentService } from '../services/environment.service';
|
|
6
|
-
import { SessionStateService } from '../services/session-state.service';
|
|
7
|
-
import { CORE_OPTIONS } from '../tokens/options.token';
|
|
8
|
-
import { APP_INIT_ERROR_HANDLERS } from '../tokens/app-config.token';
|
|
9
|
-
import { getRemoteEnv } from './environment-utils';
|
|
10
|
-
import { parseTenantFromUrl } from './multi-tenancy-utils';
|
|
11
|
-
import { AuthService } from '../abstracts';
|
|
12
|
-
import { CHECK_AUTHENTICATION_STATE_FN_KEY } from '../tokens/check-authentication-state';
|
|
13
|
-
import { noop } from './common-utils';
|
|
14
|
-
export function getInitialData(injector) {
|
|
15
|
-
const fn = async () => {
|
|
16
|
-
const environmentService = injector.get(EnvironmentService);
|
|
17
|
-
const configState = injector.get(ConfigStateService);
|
|
18
|
-
const options = injector.get(CORE_OPTIONS);
|
|
19
|
-
environmentService.setState(options.environment);
|
|
20
|
-
await getRemoteEnv(injector, options.environment);
|
|
21
|
-
await parseTenantFromUrl(injector);
|
|
22
|
-
const authService = injector.get(AuthService, undefined, { optional: true });
|
|
23
|
-
const checkAuthenticationState = injector.get(CHECK_AUTHENTICATION_STATE_FN_KEY, noop, {
|
|
24
|
-
optional: true,
|
|
25
|
-
});
|
|
26
|
-
if (authService) {
|
|
27
|
-
await authService.init();
|
|
28
|
-
}
|
|
29
|
-
if (options.skipGetAppConfiguration)
|
|
30
|
-
return;
|
|
31
|
-
const result$ = configState.refreshAppState().pipe(tap(() => checkAuthenticationState(injector)), tap(() => {
|
|
32
|
-
const currentTenant = configState.getOne('currentTenant');
|
|
33
|
-
injector.get(SessionStateService).setTenant(currentTenant);
|
|
34
|
-
}), catchError(error => {
|
|
35
|
-
const appInitErrorHandlers = injector.get(APP_INIT_ERROR_HANDLERS, null);
|
|
36
|
-
if (appInitErrorHandlers && appInitErrorHandlers.length) {
|
|
37
|
-
appInitErrorHandlers.forEach(func => func(error));
|
|
38
|
-
}
|
|
39
|
-
return throwError(error);
|
|
40
|
-
}));
|
|
41
|
-
await lastValueFrom(result$);
|
|
42
|
-
};
|
|
43
|
-
return fn;
|
|
44
|
-
}
|
|
45
|
-
export function localeInitializer(injector) {
|
|
46
|
-
const fn = () => {
|
|
47
|
-
const sessionState = injector.get(SessionStateService);
|
|
48
|
-
const { registerLocaleFn } = injector.get(CORE_OPTIONS);
|
|
49
|
-
const lang = sessionState.getLanguage() || 'en';
|
|
50
|
-
return new Promise((resolve, reject) => {
|
|
51
|
-
registerLocaleFn(lang).then(module => {
|
|
52
|
-
if (module?.default)
|
|
53
|
-
registerLocaleData(module.default);
|
|
54
|
-
return resolve('resolved');
|
|
55
|
-
}, reject);
|
|
56
|
-
});
|
|
57
|
-
};
|
|
58
|
-
return fn;
|
|
59
|
-
}
|
|
1
|
+
import { registerLocaleData } from '@angular/common';
|
|
2
|
+
import { tap, catchError } from 'rxjs/operators';
|
|
3
|
+
import { lastValueFrom, throwError } from 'rxjs';
|
|
4
|
+
import { ConfigStateService } from '../services/config-state.service';
|
|
5
|
+
import { EnvironmentService } from '../services/environment.service';
|
|
6
|
+
import { SessionStateService } from '../services/session-state.service';
|
|
7
|
+
import { CORE_OPTIONS } from '../tokens/options.token';
|
|
8
|
+
import { APP_INIT_ERROR_HANDLERS } from '../tokens/app-config.token';
|
|
9
|
+
import { getRemoteEnv } from './environment-utils';
|
|
10
|
+
import { parseTenantFromUrl } from './multi-tenancy-utils';
|
|
11
|
+
import { AuthService } from '../abstracts';
|
|
12
|
+
import { CHECK_AUTHENTICATION_STATE_FN_KEY } from '../tokens/check-authentication-state';
|
|
13
|
+
import { noop } from './common-utils';
|
|
14
|
+
export function getInitialData(injector) {
|
|
15
|
+
const fn = async () => {
|
|
16
|
+
const environmentService = injector.get(EnvironmentService);
|
|
17
|
+
const configState = injector.get(ConfigStateService);
|
|
18
|
+
const options = injector.get(CORE_OPTIONS);
|
|
19
|
+
environmentService.setState(options.environment);
|
|
20
|
+
await getRemoteEnv(injector, options.environment);
|
|
21
|
+
await parseTenantFromUrl(injector);
|
|
22
|
+
const authService = injector.get(AuthService, undefined, { optional: true });
|
|
23
|
+
const checkAuthenticationState = injector.get(CHECK_AUTHENTICATION_STATE_FN_KEY, noop, {
|
|
24
|
+
optional: true,
|
|
25
|
+
});
|
|
26
|
+
if (authService) {
|
|
27
|
+
await authService.init();
|
|
28
|
+
}
|
|
29
|
+
if (options.skipGetAppConfiguration)
|
|
30
|
+
return;
|
|
31
|
+
const result$ = configState.refreshAppState().pipe(tap(() => checkAuthenticationState(injector)), tap(() => {
|
|
32
|
+
const currentTenant = configState.getOne('currentTenant');
|
|
33
|
+
injector.get(SessionStateService).setTenant(currentTenant);
|
|
34
|
+
}), catchError(error => {
|
|
35
|
+
const appInitErrorHandlers = injector.get(APP_INIT_ERROR_HANDLERS, null);
|
|
36
|
+
if (appInitErrorHandlers && appInitErrorHandlers.length) {
|
|
37
|
+
appInitErrorHandlers.forEach(func => func(error));
|
|
38
|
+
}
|
|
39
|
+
return throwError(error);
|
|
40
|
+
}));
|
|
41
|
+
await lastValueFrom(result$);
|
|
42
|
+
};
|
|
43
|
+
return fn;
|
|
44
|
+
}
|
|
45
|
+
export function localeInitializer(injector) {
|
|
46
|
+
const fn = () => {
|
|
47
|
+
const sessionState = injector.get(SessionStateService);
|
|
48
|
+
const { registerLocaleFn } = injector.get(CORE_OPTIONS);
|
|
49
|
+
const lang = sessionState.getLanguage() || 'en';
|
|
50
|
+
return new Promise((resolve, reject) => {
|
|
51
|
+
registerLocaleFn(lang).then(module => {
|
|
52
|
+
if (module?.default)
|
|
53
|
+
registerLocaleData(module.default);
|
|
54
|
+
return resolve('resolved');
|
|
55
|
+
}, reject);
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
return fn;
|
|
59
|
+
}
|
|
60
60
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQWtCO0lBQy9DLE1BQU0sRUFBRSxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQ3BCLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBYSxDQUFDO1FBRXZELGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBMEIsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEQsTUFBTSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RSxNQUFNLHdCQUF3QixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLEVBQUUsSUFBSSxFQUFFO1lBQ3JGLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxXQUFXLEVBQUU7WUFDZixNQUFNLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQjtRQUNELElBQUksT0FBTyxDQUFDLHVCQUF1QjtZQUFFLE9BQU87UUFFNUMsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FDaEQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQzdDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBcUIsQ0FBQztZQUM5RSxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixNQUFNLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDekUsSUFBSSxvQkFBb0IsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZELG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ25EO1lBRUQsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLE1BQU0sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQztJQUVGLE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxRQUFrQjtJQUNsRCxNQUFNLEVBQUUsR0FBRyxHQUFHLEVBQUU7UUFDZCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdkQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQWEsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsRSxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDO1FBRWhELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLE1BQU0sRUFBRSxPQUFPO29CQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFeEQsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRixPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWdpc3RlckxvY2FsZURhdGEgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RGbGFncywgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdGFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscy9jb21tb24nO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL21vZGVscy9lbnZpcm9ubWVudCc7XHJcbmltcG9ydCB7IEN1cnJlbnRUZW5hbnREdG8gfSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL211bHRpLXRlbmFuY3kvbW9kZWxzJztcclxuaW1wb3J0IHsgQ29uZmlnU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Nlc3Npb24tc3RhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IENPUkVfT1BUSU9OUyB9IGZyb20gJy4uL3Rva2Vucy9vcHRpb25zLnRva2VuJztcclxuaW1wb3J0IHsgQVBQX0lOSVRfRVJST1JfSEFORExFUlMgfSBmcm9tICcuLi90b2tlbnMvYXBwLWNvbmZpZy50b2tlbic7XHJcbmltcG9ydCB7IGdldFJlbW90ZUVudiB9IGZyb20gJy4vZW52aXJvbm1lbnQtdXRpbHMnO1xyXG5pbXBvcnQgeyBwYXJzZVRlbmFudEZyb21VcmwgfSBmcm9tICcuL211bHRpLXRlbmFuY3ktdXRpbHMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2Fic3RyYWN0cyc7XHJcbmltcG9ydCB7IENIRUNLX0FVVEhFTlRJQ0FUSU9OX1NUQVRFX0ZOX0tFWSB9IGZyb20gJy4uL3Rva2Vucy9jaGVjay1hdXRoZW50aWNhdGlvbi1zdGF0ZSc7XHJcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2NvbW1vbi11dGlscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5pdGlhbERhdGEoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgY29uc3QgZm4gPSBhc3luYyAoKSA9PiB7XHJcbiAgICBjb25zdCBlbnZpcm9ubWVudFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoRW52aXJvbm1lbnRTZXJ2aWNlKTtcclxuICAgIGNvbnN0IGNvbmZpZ1N0YXRlID0gaW5qZWN0b3IuZ2V0KENvbmZpZ1N0YXRlU2VydmljZSk7XHJcbiAgICBjb25zdCBvcHRpb25zID0gaW5qZWN0b3IuZ2V0KENPUkVfT1BUSU9OUykgYXMgQUJQLlJvb3Q7XHJcblxyXG4gICAgZW52aXJvbm1lbnRTZXJ2aWNlLnNldFN0YXRlKG9wdGlvbnMuZW52aXJvbm1lbnQgYXMgRW52aXJvbm1lbnQpO1xyXG4gICAgYXdhaXQgZ2V0UmVtb3RlRW52KGluamVjdG9yLCBvcHRpb25zLmVudmlyb25tZW50KTtcclxuICAgIGF3YWl0IHBhcnNlVGVuYW50RnJvbVVybChpbmplY3Rvcik7XHJcbiAgICBjb25zdCBhdXRoU2VydmljZSA9IGluamVjdG9yLmdldChBdXRoU2VydmljZSwgdW5kZWZpbmVkLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xyXG4gICAgY29uc3QgY2hlY2tBdXRoZW50aWNhdGlvblN0YXRlID0gaW5qZWN0b3IuZ2V0KENIRUNLX0FVVEhFTlRJQ0FUSU9OX1NUQVRFX0ZOX0tFWSwgbm9vcCwge1xyXG4gICAgICBvcHRpb25hbDogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgaWYgKGF1dGhTZXJ2aWNlKSB7XHJcbiAgICAgIGF3YWl0IGF1dGhTZXJ2aWNlLmluaXQoKTtcclxuICAgIH1cclxuICAgIGlmIChvcHRpb25zLnNraXBHZXRBcHBDb25maWd1cmF0aW9uKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgcmVzdWx0JCA9IGNvbmZpZ1N0YXRlLnJlZnJlc2hBcHBTdGF0ZSgpLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiBjaGVja0F1dGhlbnRpY2F0aW9uU3RhdGUoaW5qZWN0b3IpKSxcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICBjb25zdCBjdXJyZW50VGVuYW50ID0gY29uZmlnU3RhdGUuZ2V0T25lKCdjdXJyZW50VGVuYW50JykgYXMgQ3VycmVudFRlbmFudER0bztcclxuICAgICAgICBpbmplY3Rvci5nZXQoU2Vzc2lvblN0YXRlU2VydmljZSkuc2V0VGVuYW50KGN1cnJlbnRUZW5hbnQpO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XHJcbiAgICAgICAgY29uc3QgYXBwSW5pdEVycm9ySGFuZGxlcnMgPSBpbmplY3Rvci5nZXQoQVBQX0lOSVRfRVJST1JfSEFORExFUlMsIG51bGwpO1xyXG4gICAgICAgIGlmIChhcHBJbml0RXJyb3JIYW5kbGVycyAmJiBhcHBJbml0RXJyb3JIYW5kbGVycy5sZW5ndGgpIHtcclxuICAgICAgICAgIGFwcEluaXRFcnJvckhhbmRsZXJzLmZvckVhY2goZnVuYyA9PiBmdW5jKGVycm9yKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICAgIGF3YWl0IGxhc3RWYWx1ZUZyb20ocmVzdWx0JCk7XHJcbiAgfTtcclxuXHJcbiAgcmV0dXJuIGZuO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxlSW5pdGlhbGl6ZXIoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgY29uc3QgZm4gPSAoKSA9PiB7XHJcbiAgICBjb25zdCBzZXNzaW9uU3RhdGUgPSBpbmplY3Rvci5nZXQoU2Vzc2lvblN0YXRlU2VydmljZSk7XHJcbiAgICBjb25zdCB7IHJlZ2lzdGVyTG9jYWxlRm4gfTogQUJQLlJvb3QgPSBpbmplY3Rvci5nZXQoQ09SRV9PUFRJT05TKTtcclxuXHJcbiAgICBjb25zdCBsYW5nID0gc2Vzc2lvblN0YXRlLmdldExhbmd1YWdlKCkgfHwgJ2VuJztcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICByZWdpc3RlckxvY2FsZUZuKGxhbmcpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICBpZiAobW9kdWxlPy5kZWZhdWx0KSByZWdpc3RlckxvY2FsZURhdGEobW9kdWxlLmRlZmF1bHQpO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVzb2x2ZSgncmVzb2x2ZWQnKTtcclxuICAgICAgfSwgcmVqZWN0KTtcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIHJldHVybiBmbjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import compare from 'just-compare';
|
|
2
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
+
import { distinctUntilChanged, filter, map } from 'rxjs/operators';
|
|
4
|
+
import { deepMerge } from './object-utils';
|
|
5
|
+
export class InternalStore {
|
|
6
|
+
get state() {
|
|
7
|
+
return this.state$.value;
|
|
8
|
+
}
|
|
9
|
+
constructor(initialState) {
|
|
10
|
+
this.initialState = initialState;
|
|
11
|
+
this.state$ = new BehaviorSubject(this.initialState);
|
|
12
|
+
this.update$ = new Subject();
|
|
13
|
+
this.sliceState = (selector, compareFn = compare) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));
|
|
14
|
+
this.sliceUpdate = (selector, filterFn = (x) => x !== undefined) => this.update$.pipe(map(selector), filter(filterFn));
|
|
15
|
+
}
|
|
16
|
+
patch(state) {
|
|
17
|
+
let patchedState = state;
|
|
18
|
+
if (typeof state === 'object' && !Array.isArray(state)) {
|
|
19
|
+
patchedState = { ...this.state, ...state };
|
|
20
|
+
}
|
|
21
|
+
this.state$.next(patchedState);
|
|
22
|
+
this.update$.next(patchedState);
|
|
23
|
+
}
|
|
24
|
+
deepPatch(state) {
|
|
25
|
+
// TODO: Strict improve deepMerge
|
|
26
|
+
this.state$.next(deepMerge(this.state, state));
|
|
27
|
+
this.update$.next(state);
|
|
28
|
+
}
|
|
29
|
+
set(state) {
|
|
30
|
+
this.state$.next(state);
|
|
31
|
+
this.update$.next(state);
|
|
32
|
+
}
|
|
33
|
+
reset() {
|
|
34
|
+
this.set(this.initialState);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtc3RvcmUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvaW50ZXJuYWwtc3RvcmUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxhQUFhO0lBS3hCLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQVlELFlBQW9CLFlBQW1CO1FBQW5CLGlCQUFZLEdBQVosWUFBWSxDQUFPO1FBbEIvQixXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXZELFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQU1wRCxlQUFVLEdBQUcsQ0FDWCxRQUFpQyxFQUNqQyxZQUErQyxPQUFPLEVBQ3RELEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUV0RSxnQkFBVyxHQUFHLENBQ1osUUFBOEMsRUFDOUMsV0FBVyxDQUFDLENBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsRUFDeEMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUVkLENBQUM7SUFFM0MsS0FBSyxDQUFDLEtBQXFCO1FBQ3pCLElBQUksWUFBWSxHQUFHLEtBQWMsQ0FBQztRQUVsQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEQsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7U0FDNUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFrQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUF5QjtRQUNqQyxpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFVLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsR0FBRyxDQUFDLEtBQVk7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUEyQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29tcGFyZSBmcm9tICdqdXN0LWNvbXBhcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEZWVwUGFydGlhbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gJy4vb2JqZWN0LXV0aWxzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFN0b3JlPFN0YXRlPiB7XHJcbiAgcHJpdmF0ZSBzdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0YXRlPih0aGlzLmluaXRpYWxTdGF0ZSk7XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlJCA9IG5ldyBTdWJqZWN0PERlZXBQYXJ0aWFsPFN0YXRlPj4oKTtcclxuXHJcbiAgZ2V0IHN0YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc2xpY2VTdGF0ZSA9IDxTbGljZT4oXHJcbiAgICBzZWxlY3RvcjogKHN0YXRlOiBTdGF0ZSkgPT4gU2xpY2UsXHJcbiAgICBjb21wYXJlRm46IChzMTogU2xpY2UsIHMyOiBTbGljZSkgPT4gYm9vbGVhbiA9IGNvbXBhcmUsXHJcbiAgKSA9PiB0aGlzLnN0YXRlJC5waXBlKG1hcChzZWxlY3RvciksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKGNvbXBhcmVGbikpO1xyXG5cclxuICBzbGljZVVwZGF0ZSA9IDxTbGljZT4oXHJcbiAgICBzZWxlY3RvcjogKHN0YXRlOiBEZWVwUGFydGlhbDxTdGF0ZT4pID0+IFNsaWNlLFxyXG4gICAgZmlsdGVyRm4gPSAoeDogU2xpY2UpID0+IHggIT09IHVuZGVmaW5lZCxcclxuICApID0+IHRoaXMudXBkYXRlJC5waXBlKG1hcChzZWxlY3RvciksIGZpbHRlcihmaWx0ZXJGbikpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluaXRpYWxTdGF0ZTogU3RhdGUpIHt9XHJcblxyXG4gIHBhdGNoKHN0YXRlOiBQYXJ0aWFsPFN0YXRlPikge1xyXG4gICAgbGV0IHBhdGNoZWRTdGF0ZSA9IHN0YXRlIGFzIFN0YXRlO1xyXG5cclxuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHN0YXRlKSkge1xyXG4gICAgICBwYXRjaGVkU3RhdGUgPSB7IC4uLnRoaXMuc3RhdGUsIC4uLnN0YXRlIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGF0ZSQubmV4dChwYXRjaGVkU3RhdGUpO1xyXG4gICAgdGhpcy51cGRhdGUkLm5leHQocGF0Y2hlZFN0YXRlIGFzIERlZXBQYXJ0aWFsPFN0YXRlPik7XHJcbiAgfVxyXG5cclxuICBkZWVwUGF0Y2goc3RhdGU6IERlZXBQYXJ0aWFsPFN0YXRlPikge1xyXG4gICAgLy8gVE9ETzogU3RyaWN0IGltcHJvdmUgZGVlcE1lcmdlXHJcbiAgICB0aGlzLnN0YXRlJC5uZXh0KGRlZXBNZXJnZSh0aGlzLnN0YXRlLCBzdGF0ZSkgYXMgU3RhdGUpO1xyXG4gICAgdGhpcy51cGRhdGUkLm5leHQoc3RhdGUpO1xyXG4gIH1cclxuXHJcbiAgc2V0KHN0YXRlOiBTdGF0ZSkge1xyXG4gICAgdGhpcy5zdGF0ZSQubmV4dChzdGF0ZSk7XHJcbiAgICB0aGlzLnVwZGF0ZSQubmV4dChzdGF0ZSBhcyBEZWVwUGFydGlhbDxTdGF0ZT4pO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLnNldCh0aGlzLmluaXRpYWxTdGF0ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { CROSS_ORIGIN_STRATEGY } from '../strategies/cross-origin.strategy';
|
|
3
|
-
import { DOM_STRATEGY } from '../strategies/dom.strategy';
|
|
4
|
-
export function fromLazyLoad(element, domStrategy = DOM_STRATEGY.AppendToHead(), crossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous()) {
|
|
5
|
-
crossOriginStrategy.setCrossOrigin(element);
|
|
6
|
-
domStrategy.insertElement(element);
|
|
7
|
-
return new Observable((observer) => {
|
|
8
|
-
element.onload = (event) => {
|
|
9
|
-
clearCallbacks(element);
|
|
10
|
-
observer.next(event);
|
|
11
|
-
observer.complete();
|
|
12
|
-
};
|
|
13
|
-
const handleError = createErrorHandler(observer, element);
|
|
14
|
-
element.onerror = handleError;
|
|
15
|
-
element.onabort = handleError;
|
|
16
|
-
element.onemptied = handleError;
|
|
17
|
-
element.onstalled = handleError;
|
|
18
|
-
element.onsuspend = handleError;
|
|
19
|
-
return () => {
|
|
20
|
-
clearCallbacks(element);
|
|
21
|
-
observer.complete();
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
function createErrorHandler(observer, element) {
|
|
26
|
-
return function (event) {
|
|
27
|
-
clearCallbacks(element);
|
|
28
|
-
element.parentNode?.removeChild(element);
|
|
29
|
-
observer.error(event);
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function clearCallbacks(element) {
|
|
33
|
-
element.onload = null;
|
|
34
|
-
element.onerror = null;
|
|
35
|
-
element.onabort = null;
|
|
36
|
-
element.onemptied = null;
|
|
37
|
-
element.onstalled = null;
|
|
38
|
-
element.onsuspend = null;
|
|
39
|
-
}
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { CROSS_ORIGIN_STRATEGY } from '../strategies/cross-origin.strategy';
|
|
3
|
+
import { DOM_STRATEGY } from '../strategies/dom.strategy';
|
|
4
|
+
export function fromLazyLoad(element, domStrategy = DOM_STRATEGY.AppendToHead(), crossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous()) {
|
|
5
|
+
crossOriginStrategy.setCrossOrigin(element);
|
|
6
|
+
domStrategy.insertElement(element);
|
|
7
|
+
return new Observable((observer) => {
|
|
8
|
+
element.onload = (event) => {
|
|
9
|
+
clearCallbacks(element);
|
|
10
|
+
observer.next(event);
|
|
11
|
+
observer.complete();
|
|
12
|
+
};
|
|
13
|
+
const handleError = createErrorHandler(observer, element);
|
|
14
|
+
element.onerror = handleError;
|
|
15
|
+
element.onabort = handleError;
|
|
16
|
+
element.onemptied = handleError;
|
|
17
|
+
element.onstalled = handleError;
|
|
18
|
+
element.onsuspend = handleError;
|
|
19
|
+
return () => {
|
|
20
|
+
clearCallbacks(element);
|
|
21
|
+
observer.complete();
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function createErrorHandler(observer, element) {
|
|
26
|
+
return function (event) {
|
|
27
|
+
clearCallbacks(element);
|
|
28
|
+
element.parentNode?.removeChild(element);
|
|
29
|
+
observer.error(event);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function clearCallbacks(element) {
|
|
33
|
+
element.onload = null;
|
|
34
|
+
element.onerror = null;
|
|
35
|
+
element.onabort = null;
|
|
36
|
+
element.onemptied = null;
|
|
37
|
+
element.onstalled = null;
|
|
38
|
+
element.onsuspend = null;
|
|
39
|
+
}
|
|
40
40
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1sb2FkLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL2xhenktbG9hZC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBdUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFlLE1BQU0sNEJBQTRCLENBQUM7QUFFdkUsTUFBTSxVQUFVLFlBQVksQ0FDMUIsT0FBNEMsRUFDNUMsY0FBMkIsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUN0RCxzQkFBMkMscUJBQXFCLENBQUMsU0FBUyxFQUFFO0lBRTVFLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRW5DLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUU7UUFDOUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ2hDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQVUsQ0FBQyxDQUFDO1lBQzFCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFMUQsT0FBTyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUM7UUFDOUIsT0FBTyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUM7UUFDOUIsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDaEMsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDaEMsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFFaEMsT0FBTyxHQUFHLEVBQUU7WUFDVixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQTBCLFFBQXFCLEVBQUUsT0FBb0I7SUFDOUYsT0FBTyxVQUFVLEtBQXFCO1FBQ3BDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QixPQUFPLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxPQUFvQjtJQUMxQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN0QixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN2QixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN2QixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN6QixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN6QixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ1JPU1NfT1JJR0lOX1NUUkFURUdZLCBDcm9zc09yaWdpblN0cmF0ZWd5IH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9jcm9zcy1vcmlnaW4uc3RyYXRlZ3knO1xyXG5pbXBvcnQgeyBET01fU1RSQVRFR1ksIERvbVN0cmF0ZWd5IH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9kb20uc3RyYXRlZ3knO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZyb21MYXp5TG9hZDxUIGV4dGVuZHMgRXZlbnQ+KFxyXG4gIGVsZW1lbnQ6IEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTExpbmtFbGVtZW50LFxyXG4gIGRvbVN0cmF0ZWd5OiBEb21TdHJhdGVneSA9IERPTV9TVFJBVEVHWS5BcHBlbmRUb0hlYWQoKSxcclxuICBjcm9zc09yaWdpblN0cmF0ZWd5OiBDcm9zc09yaWdpblN0cmF0ZWd5ID0gQ1JPU1NfT1JJR0lOX1NUUkFURUdZLkFub255bW91cygpLFxyXG4pOiBPYnNlcnZhYmxlPFQ+IHtcclxuICBjcm9zc09yaWdpblN0cmF0ZWd5LnNldENyb3NzT3JpZ2luKGVsZW1lbnQpO1xyXG4gIGRvbVN0cmF0ZWd5Lmluc2VydEVsZW1lbnQoZWxlbWVudCk7XHJcblxyXG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPFQ+KSA9PiB7XHJcbiAgICBlbGVtZW50Lm9ubG9hZCA9IChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgY2xlYXJDYWxsYmFja3MoZWxlbWVudCk7XHJcbiAgICAgIG9ic2VydmVyLm5leHQoZXZlbnQgYXMgVCk7XHJcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGhhbmRsZUVycm9yID0gY3JlYXRlRXJyb3JIYW5kbGVyKG9ic2VydmVyLCBlbGVtZW50KTtcclxuXHJcbiAgICBlbGVtZW50Lm9uZXJyb3IgPSBoYW5kbGVFcnJvcjtcclxuICAgIGVsZW1lbnQub25hYm9ydCA9IGhhbmRsZUVycm9yO1xyXG4gICAgZWxlbWVudC5vbmVtcHRpZWQgPSBoYW5kbGVFcnJvcjtcclxuICAgIGVsZW1lbnQub25zdGFsbGVkID0gaGFuZGxlRXJyb3I7XHJcbiAgICBlbGVtZW50Lm9uc3VzcGVuZCA9IGhhbmRsZUVycm9yO1xyXG5cclxuICAgIHJldHVybiAoKSA9PiB7XHJcbiAgICAgIGNsZWFyQ2FsbGJhY2tzKGVsZW1lbnQpO1xyXG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgfTtcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlRXJyb3JIYW5kbGVyPFQgZXh0ZW5kcyBFdmVudCA9IEV2ZW50PihvYnNlcnZlcjogT2JzZXJ2ZXI8VD4sIGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIChldmVudDogRXZlbnQgfCBzdHJpbmcpIHtcclxuICAgIGNsZWFyQ2FsbGJhY2tzKGVsZW1lbnQpO1xyXG4gICAgZWxlbWVudC5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChlbGVtZW50KTtcclxuICAgIG9ic2VydmVyLmVycm9yKGV2ZW50KTtcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjbGVhckNhbGxiYWNrcyhlbGVtZW50OiBIVE1MRWxlbWVudCkge1xyXG4gIGVsZW1lbnQub25sb2FkID0gbnVsbDtcclxuICBlbGVtZW50Lm9uZXJyb3IgPSBudWxsO1xyXG4gIGVsZW1lbnQub25hYm9ydCA9IG51bGw7XHJcbiAgZWxlbWVudC5vbmVtcHRpZWQgPSBudWxsO1xyXG4gIGVsZW1lbnQub25zdGFsbGVkID0gbnVsbDtcclxuICBlbGVtZW50Lm9uc3VzcGVuZCA9IG51bGw7XHJcbn1cclxuIl19
|