@abp/ng.core 5.0.1 → 5.1.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/{esm2015/abp-ng.core.js → esm2020/abp-ng.core.mjs} +0 -0
- package/{esm2015/lib/abstracts/index.js → esm2020/lib/abstracts/index.mjs} +0 -0
- package/{esm2015/lib/abstracts/ng-model.component.js → esm2020/lib/abstracts/ng-model.component.mjs} +4 -4
- package/esm2020/lib/components/dynamic-layout.component.mjs +88 -0
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
- package/{esm2015/lib/components/replaceable-route-container.component.js → esm2020/lib/components/replaceable-route-container.component.mjs} +4 -4
- package/{esm2015/lib/components/router-outlet.component.js → esm2020/lib/components/router-outlet.component.mjs} +4 -4
- package/{esm2015/lib/constants/different-locales.js → esm2020/lib/constants/different-locales.mjs} +0 -0
- package/{esm2015/lib/constants/index.js → esm2020/lib/constants/index.mjs} +0 -0
- package/esm2020/lib/core.module.mjs +281 -0
- package/{esm2015/lib/directives/autofocus.directive.js → esm2020/lib/directives/autofocus.directive.mjs} +4 -4
- package/{esm2015/lib/directives/debounce.directive.js → esm2020/lib/directives/debounce.directive.mjs} +4 -4
- package/{esm2015/lib/directives/for.directive.js → esm2020/lib/directives/for.directive.mjs} +4 -4
- package/{esm2015/lib/directives/form-submit.directive.js → esm2020/lib/directives/form-submit.directive.mjs} +4 -4
- package/{esm2015/lib/directives/index.js → esm2020/lib/directives/index.mjs} +0 -0
- package/{esm2015/lib/directives/init.directive.js → esm2020/lib/directives/init.directive.mjs} +4 -4
- package/{esm2015/lib/directives/permission.directive.js → esm2020/lib/directives/permission.directive.mjs} +4 -4
- package/esm2020/lib/directives/replaceable-template.directive.mjs +126 -0
- package/{esm2015/lib/directives/stop-propagation.directive.js → esm2020/lib/directives/stop-propagation.directive.mjs} +4 -4
- package/{esm2015/lib/enums/common.js → esm2020/lib/enums/common.mjs} +0 -0
- package/{esm2015/lib/enums/index.js → esm2020/lib/enums/index.mjs} +0 -0
- package/{esm2015/lib/guards/auth.guard.js → esm2020/lib/guards/auth.guard.mjs} +4 -4
- package/{esm2015/lib/guards/index.js → esm2020/lib/guards/index.mjs} +0 -0
- package/{esm2015/lib/guards/permission.guard.js → esm2020/lib/guards/permission.guard.mjs} +5 -5
- package/{esm2015/lib/handlers/oauth-configuration.handler.js → esm2020/lib/handlers/oauth-configuration.handler.mjs} +4 -4
- package/esm2020/lib/handlers/routes.handler.mjs +49 -0
- package/esm2020/lib/interceptors/api.interceptor.mjs +54 -0
- package/{esm2015/lib/interceptors/index.js → esm2020/lib/interceptors/index.mjs} +0 -0
- package/{esm2015/lib/localization.module.js → esm2020/lib/localization.module.mjs} +5 -5
- package/{esm2015/lib/models/auth.js → esm2020/lib/models/auth.mjs} +0 -0
- package/{esm2015/lib/models/common.js → esm2020/lib/models/common.mjs} +0 -0
- package/{esm2015/lib/models/dtos.js → esm2020/lib/models/dtos.mjs} +0 -0
- package/{esm2015/lib/models/environment.js → esm2020/lib/models/environment.mjs} +0 -0
- package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
- package/{esm2015/lib/models/localization.js → esm2020/lib/models/localization.mjs} +0 -0
- package/{esm2015/lib/models/replaceable-components.js → esm2020/lib/models/replaceable-components.mjs} +0 -0
- package/{esm2015/lib/models/rest.js → esm2020/lib/models/rest.mjs} +0 -0
- package/{esm2015/lib/models/session.js → esm2020/lib/models/session.mjs} +0 -0
- package/{esm2015/lib/models/utility.js → esm2020/lib/models/utility.mjs} +0 -0
- package/{esm2015/lib/pipes/index.js → esm2020/lib/pipes/index.mjs} +2 -1
- package/{esm2015/lib/pipes/localization.pipe.js → esm2020/lib/pipes/localization.pipe.mjs} +5 -5
- package/{esm2015/lib/pipes/sort.pipe.js → esm2020/lib/pipes/sort.pipe.mjs} +5 -5
- package/esm2020/lib/pipes/to-injector.pipe.mjs +29 -0
- package/{esm2015/lib/providers/cookie-language.provider.js → esm2020/lib/providers/cookie-language.provider.mjs} +0 -0
- package/{esm2015/lib/providers/locale.provider.js → esm2020/lib/providers/locale.provider.mjs} +0 -0
- 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
- package/{esm2015/lib/proxy/pages/abp/multi-tenancy/index.js → esm2020/lib/proxy/pages/abp/multi-tenancy/index.mjs} +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/{esm2015/lib/proxy/volo/abp/http/modeling/index.js → esm2020/lib/proxy/volo/abp/http/modeling/index.mjs} +0 -0
- package/{esm2015/lib/proxy/volo/abp/http/modeling/models.js → esm2020/lib/proxy/volo/abp/http/modeling/models.mjs} +0 -0
- package/{esm2015/lib/proxy/volo/abp/localization/index.js → esm2020/lib/proxy/volo/abp/localization/index.mjs} +0 -0
- package/{esm2015/lib/proxy/volo/abp/localization/models.js → esm2020/lib/proxy/volo/abp/localization/models.mjs} +0 -0
- package/{esm2015/lib/proxy/volo/abp/models.js → esm2020/lib/proxy/volo/abp/models.mjs} +0 -0
- package/esm2020/lib/services/auth.service.mjs +44 -0
- package/{esm2015/lib/services/config-state.service.js → esm2020/lib/services/config-state.service.mjs} +13 -16
- package/{esm2015/lib/services/content-projection.service.js → esm2020/lib/services/content-projection.service.mjs} +4 -4
- package/{esm2015/lib/services/dom-insertion.service.js → esm2020/lib/services/dom-insertion.service.mjs} +4 -4
- package/{esm2015/lib/services/environment.service.js → esm2020/lib/services/environment.service.mjs} +4 -4
- package/{esm2015/lib/services/http-error-reporter.service.js → esm2020/lib/services/http-error-reporter.service.mjs} +4 -4
- package/{esm2015/lib/services/http-wait.service.js → esm2020/lib/services/http-wait.service.mjs} +4 -4
- package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
- package/{esm2015/lib/services/lazy-load.service.js → esm2020/lib/services/lazy-load.service.mjs} +4 -4
- package/{esm2015/lib/services/list.service.js → esm2020/lib/services/list.service.mjs} +4 -4
- package/esm2020/lib/services/localization.service.mjs +182 -0
- package/{esm2015/lib/services/multi-tenancy.service.js → esm2020/lib/services/multi-tenancy.service.mjs} +4 -4
- package/{esm2015/lib/services/permission.service.js → esm2020/lib/services/permission.service.mjs} +5 -6
- package/{esm2015/lib/services/replaceable-components.service.js → esm2020/lib/services/replaceable-components.service.mjs} +4 -4
- package/{esm2015/lib/services/resource-wait.service.js → esm2020/lib/services/resource-wait.service.mjs} +4 -4
- package/esm2020/lib/services/rest.service.mjs +66 -0
- package/{esm2015/lib/services/router-events.service.js → esm2020/lib/services/router-events.service.mjs} +4 -4
- package/{esm2015/lib/services/router-wait.service.js → esm2020/lib/services/router-wait.service.mjs} +4 -4
- package/esm2020/lib/services/routes.service.mjs +145 -0
- package/{esm2015/lib/services/session-state.service.js → esm2020/lib/services/session-state.service.mjs} +5 -5
- package/{esm2015/lib/services/subscription.service.js → esm2020/lib/services/subscription.service.mjs} +4 -4
- package/{esm2015/lib/services/track-by.service.js → esm2020/lib/services/track-by.service.mjs} +4 -4
- package/esm2020/lib/strategies/auth-flow.strategy.mjs +190 -0
- package/{esm2015/lib/strategies/container.strategy.js → esm2020/lib/strategies/container.strategy.mjs} +0 -0
- package/{esm2015/lib/strategies/content-security.strategy.js → esm2020/lib/strategies/content-security.strategy.mjs} +0 -0
- package/{esm2015/lib/strategies/content.strategy.js → esm2020/lib/strategies/content.strategy.mjs} +0 -0
- package/{esm2015/lib/strategies/context.strategy.js → esm2020/lib/strategies/context.strategy.mjs} +0 -0
- package/{esm2015/lib/strategies/cross-origin.strategy.js → esm2020/lib/strategies/cross-origin.strategy.mjs} +0 -0
- package/{esm2015/lib/strategies/dom.strategy.js → esm2020/lib/strategies/dom.strategy.mjs} +0 -0
- package/{esm2015/lib/strategies/index.js → esm2020/lib/strategies/index.mjs} +0 -0
- package/{esm2015/lib/strategies/loading.strategy.js → esm2020/lib/strategies/loading.strategy.mjs} +0 -0
- package/{esm2015/lib/strategies/projection.strategy.js → esm2020/lib/strategies/projection.strategy.mjs} +0 -0
- package/{esm2015/lib/tokens/app-config.token.js → esm2020/lib/tokens/app-config.token.mjs} +0 -0
- package/{esm2015/lib/tokens/cookie-language-key.token.js → esm2020/lib/tokens/cookie-language-key.token.mjs} +0 -0
- package/{esm2015/lib/tokens/index.js → esm2020/lib/tokens/index.mjs} +0 -0
- package/{esm2015/lib/tokens/list.token.js → esm2020/lib/tokens/list.token.mjs} +0 -0
- package/{esm2015/lib/tokens/localization.token.js → esm2020/lib/tokens/localization.token.mjs} +0 -0
- package/{esm2015/lib/tokens/lodaer-delay.token.js → esm2020/lib/tokens/lodaer-delay.token.mjs} +0 -0
- package/{esm2015/lib/tokens/manage-profile.token.js → esm2020/lib/tokens/manage-profile.token.mjs} +0 -0
- package/esm2020/lib/tokens/options.token.mjs +8 -0
- package/{esm2015/lib/tokens/tenant-key.token.js → esm2020/lib/tokens/tenant-key.token.mjs} +0 -0
- package/esm2020/lib/utils/array-utils.mjs +7 -0
- package/{esm2015/lib/utils/auth-utils.js → esm2020/lib/utils/auth-utils.mjs} +0 -0
- package/{esm2015/lib/utils/common-utils.js → esm2020/lib/utils/common-utils.mjs} +0 -0
- package/{esm2015/lib/utils/date-extensions.js → esm2020/lib/utils/date-extensions.mjs} +0 -0
- package/{esm2015/lib/utils/date-utils.js → esm2020/lib/utils/date-utils.mjs} +0 -0
- package/{esm2015/lib/utils/environment-utils.js → esm2020/lib/utils/environment-utils.mjs} +0 -0
- package/{esm2015/lib/utils/factory-utils.js → esm2020/lib/utils/factory-utils.mjs} +0 -0
- package/{esm2015/lib/utils/file-utils.js → esm2020/lib/utils/file-utils.mjs} +0 -0
- package/{esm2015/lib/utils/form-utils.js → esm2020/lib/utils/form-utils.mjs} +0 -0
- package/{esm2015/lib/utils/generator-utils.js → esm2020/lib/utils/generator-utils.mjs} +0 -0
- package/{esm2015/lib/utils/http-utils.js → esm2020/lib/utils/http-utils.mjs} +0 -0
- package/{esm2015/lib/utils/index.js → esm2020/lib/utils/index.mjs} +0 -0
- package/esm2020/lib/utils/initial-utils.mjs +63 -0
- package/esm2020/lib/utils/internal-store-utils.mjs +36 -0
- package/{esm2015/lib/utils/lazy-load-utils.js → esm2020/lib/utils/lazy-load-utils.mjs} +0 -0
- package/esm2020/lib/utils/localization-utils.mjs +49 -0
- package/esm2020/lib/utils/multi-tenancy-utils.mjs +78 -0
- package/{esm2015/lib/utils/number-utils.js → esm2020/lib/utils/number-utils.mjs} +0 -0
- package/{esm2015/lib/utils/object-utils.js → esm2020/lib/utils/object-utils.mjs} +0 -0
- package/esm2020/lib/utils/route-utils.mjs +26 -0
- package/esm2020/lib/utils/string-utils.mjs +25 -0
- package/{esm2015/lib/utils/tree-utils.js → esm2020/lib/utils/tree-utils.mjs} +1 -1
- package/{esm2015/lib/validators/age.validator.js → esm2020/lib/validators/age.validator.mjs} +0 -0
- package/{esm2015/lib/validators/credit-card.validator.js → esm2020/lib/validators/credit-card.validator.mjs} +0 -0
- package/{esm2015/lib/validators/index.js → esm2020/lib/validators/index.mjs} +0 -0
- package/{esm2015/lib/validators/range.validator.js → esm2020/lib/validators/range.validator.mjs} +0 -0
- package/{esm2015/lib/validators/required.validator.js → esm2020/lib/validators/required.validator.mjs} +0 -0
- package/{esm2015/lib/validators/string-length.validator.js → esm2020/lib/validators/string-length.validator.mjs} +0 -0
- package/{esm2015/lib/validators/url.validator.js → esm2020/lib/validators/url.validator.mjs} +0 -0
- package/{esm2015/locale/abp-ng.core-locale.js → esm2020/locale/abp-ng.core-locale.mjs} +0 -0
- package/{esm2015/locale/public-api.js → esm2020/locale/public-api.mjs} +0 -0
- package/esm2020/locale/utils/register-locale.mjs +47 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/{esm2015/testing/abp-ng.core-testing.js → esm2020/testing/abp-ng.core-testing.mjs} +0 -0
- package/esm2020/testing/lib/core-testing.module.mjs +63 -0
- package/{esm2015/testing/lib/services/index.js → esm2020/testing/lib/services/index.mjs} +0 -0
- package/{esm2015/testing/lib/services/mock-permission.service.js → esm2020/testing/lib/services/mock-permission.service.mjs} +4 -4
- package/{esm2015/testing/lib/services/mock-rest.service.js → esm2020/testing/lib/services/mock-rest.service.mjs} +4 -4
- package/{esm2015/testing/lib/utils/clear-page.util.js → esm2020/testing/lib/utils/clear-page.util.mjs} +0 -0
- package/{esm2015/testing/lib/utils/index.js → esm2020/testing/lib/utils/index.mjs} +0 -0
- package/{esm2015/testing/lib/utils/wait.util.js → esm2020/testing/lib/utils/wait.util.mjs} +0 -0
- package/{esm2015/testing/public-api.js → esm2020/testing/public-api.mjs} +0 -0
- package/fesm2015/{abp-ng.core-locale.js → abp-ng.core-locale.mjs} +11 -4
- package/fesm2015/abp-ng.core-locale.mjs.map +1 -0
- package/fesm2015/{abp-ng.core-testing.js → abp-ng.core-testing.mjs} +18 -16
- package/fesm2015/abp-ng.core-testing.mjs.map +1 -0
- package/fesm2015/{abp-ng.core.js → abp-ng.core.mjs} +812 -768
- package/fesm2015/abp-ng.core.mjs.map +1 -0
- package/fesm2020/abp-ng.core-locale.mjs +54 -0
- package/fesm2020/abp-ng.core-locale.mjs.map +1 -0
- package/fesm2020/abp-ng.core-testing.mjs +140 -0
- package/fesm2020/abp-ng.core-testing.mjs.map +1 -0
- package/fesm2020/abp-ng.core.mjs +4211 -0
- package/fesm2020/abp-ng.core.mjs.map +1 -0
- package/lib/core.module.d.ts +9 -8
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/to-injector.pipe.d.ts +10 -0
- package/lib/services/environment.service.d.ts +1 -0
- package/lib/services/list.service.d.ts +1 -1
- package/lib/services/subscription.service.d.ts +2 -2
- package/lib/utils/array-utils.d.ts +1 -1
- package/lib/utils/string-utils.d.ts +1 -0
- package/lib/utils/tree-utils.d.ts +2 -2
- package/locale/package.json +5 -5
- package/package.json +37 -8
- package/src/lib/proxy/README.md +17 -0
- package/testing/package.json +5 -5
- package/bundles/abp-ng.core-locale.umd.js +0 -381
- package/bundles/abp-ng.core-locale.umd.js.map +0 -1
- package/bundles/abp-ng.core-testing.umd.js +0 -494
- package/bundles/abp-ng.core-testing.umd.js.map +0 -1
- package/bundles/abp-ng.core.umd.js +0 -5277
- package/bundles/abp-ng.core.umd.js.map +0 -1
- package/esm2015/lib/components/dynamic-layout.component.js +0 -89
- package/esm2015/lib/core.module.js +0 -281
- package/esm2015/lib/directives/replaceable-template.directive.js +0 -121
- package/esm2015/lib/handlers/routes.handler.js +0 -47
- package/esm2015/lib/interceptors/api.interceptor.js +0 -54
- package/esm2015/lib/services/auth.service.js +0 -47
- package/esm2015/lib/services/localization.service.js +0 -182
- package/esm2015/lib/services/rest.service.js +0 -63
- package/esm2015/lib/services/routes.service.js +0 -147
- package/esm2015/lib/strategies/auth-flow.strategy.js +0 -202
- package/esm2015/lib/tokens/options.token.js +0 -8
- package/esm2015/lib/utils/array-utils.js +0 -7
- package/esm2015/lib/utils/initial-utils.js +0 -64
- package/esm2015/lib/utils/internal-store-utils.js +0 -36
- package/esm2015/lib/utils/localization-utils.js +0 -50
- package/esm2015/lib/utils/multi-tenancy-utils.js +0 -83
- package/esm2015/lib/utils/route-utils.js +0 -27
- package/esm2015/lib/utils/string-utils.js +0 -21
- package/esm2015/locale/utils/register-locale.js +0 -43
- package/esm2015/testing/lib/core-testing.module.js +0 -62
- package/fesm2015/abp-ng.core-locale.js.map +0 -1
- package/fesm2015/abp-ng.core-testing.js.map +0 -1
- package/fesm2015/abp-ng.core.js.map +0 -1
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
-
import { Router } from '@angular/router';
|
|
4
|
-
import { OAuthErrorEvent, OAuthInfoEvent, OAuthService } from 'angular-oauth2-oidc';
|
|
5
|
-
import { from, of, pipe } from 'rxjs';
|
|
6
|
-
import { filter, switchMap, tap } from 'rxjs/operators';
|
|
7
|
-
import { ConfigStateService } from '../services/config-state.service';
|
|
8
|
-
import { EnvironmentService } from '../services/environment.service';
|
|
9
|
-
import { HttpErrorReporterService } from '../services/http-error-reporter.service';
|
|
10
|
-
import { SessionStateService } from '../services/session-state.service';
|
|
11
|
-
import { TENANT_KEY } from '../tokens/tenant-key.token';
|
|
12
|
-
import { removeRememberMe, setRememberMe } from '../utils/auth-utils';
|
|
13
|
-
import { noop } from '../utils/common-utils';
|
|
14
|
-
export const oAuthStorage = localStorage;
|
|
15
|
-
export class AuthFlowStrategy {
|
|
16
|
-
constructor(injector) {
|
|
17
|
-
this.injector = injector;
|
|
18
|
-
this.catchError = err => {
|
|
19
|
-
this.httpErrorReporter.reportError(err);
|
|
20
|
-
return of(null);
|
|
21
|
-
};
|
|
22
|
-
this.httpErrorReporter = injector.get(HttpErrorReporterService);
|
|
23
|
-
this.environment = injector.get(EnvironmentService);
|
|
24
|
-
this.configState = injector.get(ConfigStateService);
|
|
25
|
-
this.oAuthService = injector.get(OAuthService);
|
|
26
|
-
this.sessionState = injector.get(SessionStateService);
|
|
27
|
-
this.oAuthConfig = this.environment.getEnvironment().oAuthConfig;
|
|
28
|
-
this.tenantKey = injector.get(TENANT_KEY);
|
|
29
|
-
this.listenToOauthErrors();
|
|
30
|
-
}
|
|
31
|
-
init() {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
const shouldClear = shouldStorageClear(this.environment.getEnvironment().oAuthConfig.clientId, oAuthStorage);
|
|
34
|
-
if (shouldClear)
|
|
35
|
-
clearOAuthStorage(oAuthStorage);
|
|
36
|
-
this.oAuthService.configure(this.oAuthConfig);
|
|
37
|
-
this.oAuthService.events
|
|
38
|
-
.pipe(filter(event => event.type === 'token_refresh_error'))
|
|
39
|
-
.subscribe(() => this.navigateToLogin());
|
|
40
|
-
return this.oAuthService
|
|
41
|
-
.loadDiscoveryDocument()
|
|
42
|
-
.then(() => {
|
|
43
|
-
if (this.oAuthService.hasValidAccessToken() || !this.oAuthService.getRefreshToken()) {
|
|
44
|
-
return Promise.resolve();
|
|
45
|
-
}
|
|
46
|
-
return this.refreshToken();
|
|
47
|
-
})
|
|
48
|
-
.catch(this.catchError);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
refreshToken() {
|
|
52
|
-
return this.oAuthService.refreshToken().catch(() => clearOAuthStorage());
|
|
53
|
-
}
|
|
54
|
-
listenToOauthErrors() {
|
|
55
|
-
this.oAuthService.events
|
|
56
|
-
.pipe(filter(event => event instanceof OAuthErrorEvent), tap(() => clearOAuthStorage()), switchMap(() => this.configState.refreshAppState()))
|
|
57
|
-
.subscribe();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
export class AuthCodeFlowStrategy extends AuthFlowStrategy {
|
|
61
|
-
constructor() {
|
|
62
|
-
super(...arguments);
|
|
63
|
-
this.isInternalAuth = false;
|
|
64
|
-
}
|
|
65
|
-
init() {
|
|
66
|
-
const _super = Object.create(null, {
|
|
67
|
-
init: { get: () => super.init }
|
|
68
|
-
});
|
|
69
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
return _super.init.call(this)
|
|
71
|
-
.then(() => this.oAuthService.tryLogin().catch(noop))
|
|
72
|
-
.then(() => this.oAuthService.setupAutomaticSilentRefresh({}, 'access_token'));
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
navigateToLogin(queryParams) {
|
|
76
|
-
this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));
|
|
77
|
-
}
|
|
78
|
-
checkIfInternalAuth(queryParams) {
|
|
79
|
-
this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
logout(queryParams) {
|
|
83
|
-
return from(this.oAuthService.revokeTokenAndLogout(this.getCultureParams(queryParams)));
|
|
84
|
-
}
|
|
85
|
-
login(queryParams) {
|
|
86
|
-
this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));
|
|
87
|
-
return of(null);
|
|
88
|
-
}
|
|
89
|
-
getCultureParams(queryParams) {
|
|
90
|
-
const lang = this.sessionState.getLanguage();
|
|
91
|
-
const culture = { culture: lang, 'ui-culture': lang };
|
|
92
|
-
return Object.assign(Object.assign({}, (lang && culture)), queryParams);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
export class AuthPasswordFlowStrategy extends AuthFlowStrategy {
|
|
96
|
-
constructor() {
|
|
97
|
-
super(...arguments);
|
|
98
|
-
this.isInternalAuth = true;
|
|
99
|
-
this.cookieKey = 'rememberMe';
|
|
100
|
-
this.storageKey = 'passwordFlow';
|
|
101
|
-
}
|
|
102
|
-
listenToTokenExpiration() {
|
|
103
|
-
this.oAuthService.events
|
|
104
|
-
.pipe(filter(event => event instanceof OAuthInfoEvent &&
|
|
105
|
-
event.type === 'token_expires' &&
|
|
106
|
-
event.info === 'access_token'))
|
|
107
|
-
.subscribe(() => {
|
|
108
|
-
if (this.oAuthService.getRefreshToken()) {
|
|
109
|
-
this.refreshToken();
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
this.oAuthService.logOut();
|
|
113
|
-
removeRememberMe();
|
|
114
|
-
this.configState.refreshAppState().subscribe();
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
init() {
|
|
119
|
-
const _super = Object.create(null, {
|
|
120
|
-
init: { get: () => super.init }
|
|
121
|
-
});
|
|
122
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
-
if (!getCookieValueByName(this.cookieKey) && localStorage.getItem(this.storageKey)) {
|
|
124
|
-
this.oAuthService.logOut();
|
|
125
|
-
}
|
|
126
|
-
return _super.init.call(this).then(() => this.listenToTokenExpiration());
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
navigateToLogin(queryParams) {
|
|
130
|
-
const router = this.injector.get(Router);
|
|
131
|
-
router.navigate(['/account/login'], { queryParams });
|
|
132
|
-
}
|
|
133
|
-
checkIfInternalAuth() {
|
|
134
|
-
return true;
|
|
135
|
-
}
|
|
136
|
-
login(params) {
|
|
137
|
-
const tenant = this.sessionState.getTenant();
|
|
138
|
-
return from(this.oAuthService.fetchTokenUsingPasswordFlow(params.username, params.password, new HttpHeaders(Object.assign({}, (tenant && tenant.id && { [this.tenantKey]: tenant.id }))))).pipe(this.pipeToLogin(params));
|
|
139
|
-
}
|
|
140
|
-
pipeToLogin(params) {
|
|
141
|
-
const router = this.injector.get(Router);
|
|
142
|
-
return pipe(switchMap(() => this.configState.refreshAppState()), tap(() => {
|
|
143
|
-
setRememberMe(params.rememberMe);
|
|
144
|
-
if (params.redirectUrl)
|
|
145
|
-
router.navigate([params.redirectUrl]);
|
|
146
|
-
}));
|
|
147
|
-
}
|
|
148
|
-
logout(queryParams) {
|
|
149
|
-
const router = this.injector.get(Router);
|
|
150
|
-
return from(this.oAuthService.revokeTokenAndLogout(queryParams)).pipe(switchMap(() => this.configState.refreshAppState()), tap(() => {
|
|
151
|
-
router.navigateByUrl('/');
|
|
152
|
-
removeRememberMe();
|
|
153
|
-
}));
|
|
154
|
-
}
|
|
155
|
-
refreshToken() {
|
|
156
|
-
return this.oAuthService.refreshToken().catch(() => {
|
|
157
|
-
clearOAuthStorage();
|
|
158
|
-
removeRememberMe();
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
export const AUTH_FLOW_STRATEGY = {
|
|
163
|
-
Code(injector) {
|
|
164
|
-
return new AuthCodeFlowStrategy(injector);
|
|
165
|
-
},
|
|
166
|
-
Password(injector) {
|
|
167
|
-
return new AuthPasswordFlowStrategy(injector);
|
|
168
|
-
},
|
|
169
|
-
};
|
|
170
|
-
export function clearOAuthStorage(storage = oAuthStorage) {
|
|
171
|
-
const keys = [
|
|
172
|
-
'access_token',
|
|
173
|
-
'id_token',
|
|
174
|
-
'refresh_token',
|
|
175
|
-
'nonce',
|
|
176
|
-
'PKCE_verifier',
|
|
177
|
-
'expires_at',
|
|
178
|
-
'id_token_claims_obj',
|
|
179
|
-
'id_token_expires_at',
|
|
180
|
-
'id_token_stored_at',
|
|
181
|
-
'access_token_stored_at',
|
|
182
|
-
'granted_scopes',
|
|
183
|
-
'session_state',
|
|
184
|
-
];
|
|
185
|
-
keys.forEach(key => storage.removeItem(key));
|
|
186
|
-
}
|
|
187
|
-
function shouldStorageClear(clientId, storage) {
|
|
188
|
-
const key = 'abpOAuthClientId';
|
|
189
|
-
if (!storage.getItem(key)) {
|
|
190
|
-
storage.setItem(key, clientId);
|
|
191
|
-
return false;
|
|
192
|
-
}
|
|
193
|
-
const shouldClear = storage.getItem(key) !== clientId;
|
|
194
|
-
if (shouldClear)
|
|
195
|
-
storage.setItem(key, clientId);
|
|
196
|
-
return shouldClear;
|
|
197
|
-
}
|
|
198
|
-
function getCookieValueByName(name) {
|
|
199
|
-
const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
|
|
200
|
-
return match ? match[2] : '';
|
|
201
|
-
}
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mbG93LnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvYXV0aC1mbG93LnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFFTCxlQUFlLEVBQ2YsY0FBYyxFQUNkLFlBQVksRUFFYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDO0FBRXpDLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBcUJwQyxZQUFzQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBTGhDLGVBQVUsR0FBRyxHQUFHLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQztRQUdBLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxXQUFXLENBQUM7UUFDakUsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFSyxJQUFJOztZQUNSLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQ3RELFlBQVksQ0FDYixDQUFDO1lBQ0YsSUFBSSxXQUFXO2dCQUFFLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRWpELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUU5QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU07aUJBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUFDLENBQUM7aUJBQzNELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztZQUUzQyxPQUFPLElBQUksQ0FBQyxZQUFZO2lCQUNyQixxQkFBcUIsRUFBRTtpQkFDdkIsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLEVBQUU7b0JBQ25GLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUMxQjtnQkFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QixDQUFDO0tBQUE7SUFFUyxZQUFZO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNO2FBQ3JCLElBQUksQ0FDSCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLEVBQ2pELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEVBQzlCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQ3BEO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQUExRDs7UUFDVyxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQWdDbEMsQ0FBQztJQTlCTyxJQUFJOzs7OztZQUNSLE9BQU8sT0FDSixJQUFJO2lCQUNKLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDcEQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsMkJBQTJCLENBQUMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDbkYsQ0FBQztLQUFBO0lBRUQsZUFBZSxDQUFDLFdBQW9CO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsV0FBb0I7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFvQjtRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDdkUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFdBQW9CO1FBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN0RCx1Q0FBWSxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsR0FBSyxXQUFXLEVBQUc7SUFDbEQsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdCQUFnQjtJQUE5RDs7UUFDVyxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN2QixjQUFTLEdBQUcsWUFBWSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxjQUFjLENBQUM7SUFrRnRDLENBQUM7SUFoRlMsdUJBQXVCO1FBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTTthQUNyQixJQUFJLENBQ0gsTUFBTSxDQUNKLEtBQUssQ0FBQyxFQUFFLENBQ04sS0FBSyxZQUFZLGNBQWM7WUFDL0IsS0FBSyxDQUFDLElBQUksS0FBSyxlQUFlO1lBQzlCLEtBQUssQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUNoQyxDQUNGO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzNCLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDaEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFSyxJQUFJOzs7OztZQUNSLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2xGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDNUI7WUFFRCxPQUFPLE9BQU0sSUFBSSxZQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7S0FBQTtJQUVELGVBQWUsQ0FBQyxXQUFvQjtRQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBbUI7UUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUU3QyxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixDQUMzQyxNQUFNLENBQUMsUUFBUSxFQUNmLE1BQU0sQ0FBQyxRQUFRLEVBQ2YsSUFBSSxXQUFXLG1CQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRyxDQUNqRixDQUNGLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXVEO1FBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpDLE9BQU8sSUFBSSxDQUNULFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQ25ELEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2pDLElBQUksTUFBTSxDQUFDLFdBQVc7Z0JBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQW9CO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ25FLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQ25ELEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLGdCQUFnQixFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFUyxZQUFZO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2pELGlCQUFpQixFQUFFLENBQUM7WUFDcEIsZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLElBQUksQ0FBQyxRQUFrQjtRQUNyQixPQUFPLElBQUksb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELFFBQVEsQ0FBQyxRQUFrQjtRQUN6QixPQUFPLElBQUksd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsaUJBQWlCLENBQUMsVUFBd0IsWUFBWTtJQUNwRSxNQUFNLElBQUksR0FBRztRQUNYLGNBQWM7UUFDZCxVQUFVO1FBQ1YsZUFBZTtRQUNmLE9BQU87UUFDUCxlQUFlO1FBQ2YsWUFBWTtRQUNaLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLHdCQUF3QjtRQUN4QixnQkFBZ0I7UUFDaEIsZUFBZTtLQUNoQixDQUFDO0lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLE9BQXFCO0lBQ2pFLE1BQU0sR0FBRyxHQUFHLGtCQUFrQixDQUFDO0lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3pCLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUN0RCxJQUFJLFdBQVc7UUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxJQUFZO0lBQ3hDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM3RSxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7XHJcbiAgQXV0aENvbmZpZyxcclxuICBPQXV0aEVycm9yRXZlbnQsXHJcbiAgT0F1dGhJbmZvRXZlbnQsXHJcbiAgT0F1dGhTZXJ2aWNlLFxyXG4gIE9BdXRoU3RvcmFnZVxyXG59IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgcGlwZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBMb2dpblBhcmFtcyB9IGZyb20gJy4uL21vZGVscy9hdXRoJztcclxuaW1wb3J0IHsgQ29uZmlnU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVwb3J0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaHR0cC1lcnJvci1yZXBvcnRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Nlc3Npb24tc3RhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFRFTkFOVF9LRVkgfSBmcm9tICcuLi90b2tlbnMvdGVuYW50LWtleS50b2tlbic7XHJcbmltcG9ydCB7IHJlbW92ZVJlbWVtYmVyTWUsIHNldFJlbWVtYmVyTWUgfSBmcm9tICcuLi91dGlscy9hdXRoLXV0aWxzJztcclxuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uL3V0aWxzL2NvbW1vbi11dGlscyc7XHJcblxyXG5leHBvcnQgY29uc3Qgb0F1dGhTdG9yYWdlID0gbG9jYWxTdG9yYWdlO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF1dGhGbG93U3RyYXRlZ3kge1xyXG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzSW50ZXJuYWxBdXRoOiBib29sZWFuO1xyXG5cclxuICBwcm90ZWN0ZWQgaHR0cEVycm9yUmVwb3J0ZXI6IEh0dHBFcnJvclJlcG9ydGVyU2VydmljZTtcclxuICBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50U2VydmljZTtcclxuICBwcm90ZWN0ZWQgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZTtcclxuICBwcm90ZWN0ZWQgb0F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2U7XHJcbiAgcHJvdGVjdGVkIG9BdXRoQ29uZmlnOiBBdXRoQ29uZmlnO1xyXG4gIHByb3RlY3RlZCBzZXNzaW9uU3RhdGU6IFNlc3Npb25TdGF0ZVNlcnZpY2U7XHJcbiAgcHJvdGVjdGVkIHRlbmFudEtleTogc3RyaW5nO1xyXG5cclxuICBhYnN0cmFjdCBjaGVja0lmSW50ZXJuYWxBdXRoKHF1ZXJ5UGFyYW1zPzogUGFyYW1zKTogYm9vbGVhbjtcclxuICBhYnN0cmFjdCBuYXZpZ2F0ZVRvTG9naW4ocXVlcnlQYXJhbXM/OiBQYXJhbXMpOiB2b2lkO1xyXG4gIGFic3RyYWN0IGxvZ291dChxdWVyeVBhcmFtcz86IFBhcmFtcyk6IE9ic2VydmFibGU8YW55PjtcclxuICBhYnN0cmFjdCBsb2dpbihwYXJhbXM/OiBMb2dpblBhcmFtcyB8IFBhcmFtcyk6IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgcHJpdmF0ZSBjYXRjaEVycm9yID0gZXJyID0+IHtcclxuICAgIHRoaXMuaHR0cEVycm9yUmVwb3J0ZXIucmVwb3J0RXJyb3IoZXJyKTtcclxuICAgIHJldHVybiBvZihudWxsKTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLmh0dHBFcnJvclJlcG9ydGVyID0gaW5qZWN0b3IuZ2V0KEh0dHBFcnJvclJlcG9ydGVyU2VydmljZSk7XHJcbiAgICB0aGlzLmVudmlyb25tZW50ID0gaW5qZWN0b3IuZ2V0KEVudmlyb25tZW50U2VydmljZSk7XHJcbiAgICB0aGlzLmNvbmZpZ1N0YXRlID0gaW5qZWN0b3IuZ2V0KENvbmZpZ1N0YXRlU2VydmljZSk7XHJcbiAgICB0aGlzLm9BdXRoU2VydmljZSA9IGluamVjdG9yLmdldChPQXV0aFNlcnZpY2UpO1xyXG4gICAgdGhpcy5zZXNzaW9uU3RhdGUgPSBpbmplY3Rvci5nZXQoU2Vzc2lvblN0YXRlU2VydmljZSk7XHJcbiAgICB0aGlzLm9BdXRoQ29uZmlnID0gdGhpcy5lbnZpcm9ubWVudC5nZXRFbnZpcm9ubWVudCgpLm9BdXRoQ29uZmlnO1xyXG4gICAgdGhpcy50ZW5hbnRLZXkgPSBpbmplY3Rvci5nZXQoVEVOQU5UX0tFWSk7XHJcblxyXG4gICAgdGhpcy5saXN0ZW5Ub09hdXRoRXJyb3JzKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBpbml0KCk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCBzaG91bGRDbGVhciA9IHNob3VsZFN0b3JhZ2VDbGVhcihcclxuICAgICAgdGhpcy5lbnZpcm9ubWVudC5nZXRFbnZpcm9ubWVudCgpLm9BdXRoQ29uZmlnLmNsaWVudElkLFxyXG4gICAgICBvQXV0aFN0b3JhZ2UsXHJcbiAgICApO1xyXG4gICAgaWYgKHNob3VsZENsZWFyKSBjbGVhck9BdXRoU3RvcmFnZShvQXV0aFN0b3JhZ2UpO1xyXG5cclxuICAgIHRoaXMub0F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLm9BdXRoQ29uZmlnKTtcclxuXHJcbiAgICB0aGlzLm9BdXRoU2VydmljZS5ldmVudHNcclxuICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50LnR5cGUgPT09ICd0b2tlbl9yZWZyZXNoX2Vycm9yJykpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5uYXZpZ2F0ZVRvTG9naW4oKSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMub0F1dGhTZXJ2aWNlXHJcbiAgICAgIC5sb2FkRGlzY292ZXJ5RG9jdW1lbnQoKVxyXG4gICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMub0F1dGhTZXJ2aWNlLmhhc1ZhbGlkQWNjZXNzVG9rZW4oKSB8fCAhdGhpcy5vQXV0aFNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCkpIHtcclxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlbigpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2godGhpcy5jYXRjaEVycm9yKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZWZyZXNoVG9rZW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vQXV0aFNlcnZpY2UucmVmcmVzaFRva2VuKCkuY2F0Y2goKCkgPT4gY2xlYXJPQXV0aFN0b3JhZ2UoKSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbGlzdGVuVG9PYXV0aEVycm9ycygpIHtcclxuICAgIHRoaXMub0F1dGhTZXJ2aWNlLmV2ZW50c1xyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBPQXV0aEVycm9yRXZlbnQpLFxyXG4gICAgICAgIHRhcCgoKSA9PiBjbGVhck9BdXRoU3RvcmFnZSgpKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jb25maWdTdGF0ZS5yZWZyZXNoQXBwU3RhdGUoKSksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEF1dGhDb2RlRmxvd1N0cmF0ZWd5IGV4dGVuZHMgQXV0aEZsb3dTdHJhdGVneSB7XHJcbiAgcmVhZG9ubHkgaXNJbnRlcm5hbEF1dGggPSBmYWxzZTtcclxuXHJcbiAgYXN5bmMgaW5pdCgpIHtcclxuICAgIHJldHVybiBzdXBlclxyXG4gICAgICAuaW5pdCgpXHJcbiAgICAgIC50aGVuKCgpID0+IHRoaXMub0F1dGhTZXJ2aWNlLnRyeUxvZ2luKCkuY2F0Y2gobm9vcCkpXHJcbiAgICAgIC50aGVuKCgpID0+IHRoaXMub0F1dGhTZXJ2aWNlLnNldHVwQXV0b21hdGljU2lsZW50UmVmcmVzaCh7fSwgJ2FjY2Vzc190b2tlbicpKTtcclxuICB9XHJcblxyXG4gIG5hdmlnYXRlVG9Mb2dpbihxdWVyeVBhcmFtcz86IFBhcmFtcykge1xyXG4gICAgdGhpcy5vQXV0aFNlcnZpY2UuaW5pdENvZGVGbG93KCcnLCB0aGlzLmdldEN1bHR1cmVQYXJhbXMocXVlcnlQYXJhbXMpKTtcclxuICB9XHJcblxyXG4gIGNoZWNrSWZJbnRlcm5hbEF1dGgocXVlcnlQYXJhbXM/OiBQYXJhbXMpIHtcclxuICAgIHRoaXMub0F1dGhTZXJ2aWNlLmluaXRDb2RlRmxvdygnJywgdGhpcy5nZXRDdWx0dXJlUGFyYW1zKHF1ZXJ5UGFyYW1zKSk7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQocXVlcnlQYXJhbXM/OiBQYXJhbXMpIHtcclxuICAgIHJldHVybiBmcm9tKHRoaXMub0F1dGhTZXJ2aWNlLnJldm9rZVRva2VuQW5kTG9nb3V0KHRoaXMuZ2V0Q3VsdHVyZVBhcmFtcyhxdWVyeVBhcmFtcykpKTtcclxuICB9XHJcblxyXG4gIGxvZ2luKHF1ZXJ5UGFyYW1zPzogUGFyYW1zKSB7XHJcbiAgICB0aGlzLm9BdXRoU2VydmljZS5pbml0Q29kZUZsb3coJycsIHRoaXMuZ2V0Q3VsdHVyZVBhcmFtcyhxdWVyeVBhcmFtcykpO1xyXG4gICAgcmV0dXJuIG9mKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDdWx0dXJlUGFyYW1zKHF1ZXJ5UGFyYW1zPzogUGFyYW1zKSB7XHJcbiAgICBjb25zdCBsYW5nID0gdGhpcy5zZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UoKTtcclxuICAgIGNvbnN0IGN1bHR1cmUgPSB7IGN1bHR1cmU6IGxhbmcsICd1aS1jdWx0dXJlJzogbGFuZyB9O1xyXG4gICAgcmV0dXJuIHsgLi4uKGxhbmcgJiYgY3VsdHVyZSksIC4uLnF1ZXJ5UGFyYW1zIH07XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQXV0aFBhc3N3b3JkRmxvd1N0cmF0ZWd5IGV4dGVuZHMgQXV0aEZsb3dTdHJhdGVneSB7XHJcbiAgcmVhZG9ubHkgaXNJbnRlcm5hbEF1dGggPSB0cnVlO1xyXG4gIHByaXZhdGUgY29va2llS2V5ID0gJ3JlbWVtYmVyTWUnO1xyXG4gIHByaXZhdGUgc3RvcmFnZUtleSA9ICdwYXNzd29yZEZsb3cnO1xyXG5cclxuICBwcml2YXRlIGxpc3RlblRvVG9rZW5FeHBpcmF0aW9uKCkge1xyXG4gICAgdGhpcy5vQXV0aFNlcnZpY2UuZXZlbnRzXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbHRlcihcclxuICAgICAgICAgIGV2ZW50ID0+XHJcbiAgICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgT0F1dGhJbmZvRXZlbnQgJiZcclxuICAgICAgICAgICAgZXZlbnQudHlwZSA9PT0gJ3Rva2VuX2V4cGlyZXMnICYmXHJcbiAgICAgICAgICAgIGV2ZW50LmluZm8gPT09ICdhY2Nlc3NfdG9rZW4nLFxyXG4gICAgICAgICksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMub0F1dGhTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpKSB7XHJcbiAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlbigpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm9BdXRoU2VydmljZS5sb2dPdXQoKTtcclxuICAgICAgICAgIHJlbW92ZVJlbWVtYmVyTWUoKTtcclxuICAgICAgICAgIHRoaXMuY29uZmlnU3RhdGUucmVmcmVzaEFwcFN0YXRlKCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGluaXQoKSB7XHJcbiAgICBpZiAoIWdldENvb2tpZVZhbHVlQnlOYW1lKHRoaXMuY29va2llS2V5KSAmJiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpKSB7XHJcbiAgICAgIHRoaXMub0F1dGhTZXJ2aWNlLmxvZ091dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzdXBlci5pbml0KCkudGhlbigoKSA9PiB0aGlzLmxpc3RlblRvVG9rZW5FeHBpcmF0aW9uKCkpO1xyXG4gIH1cclxuXHJcbiAgbmF2aWdhdGVUb0xvZ2luKHF1ZXJ5UGFyYW1zPzogUGFyYW1zKSB7XHJcbiAgICBjb25zdCByb3V0ZXIgPSB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpO1xyXG4gICAgcm91dGVyLm5hdmlnYXRlKFsnL2FjY291bnQvbG9naW4nXSwgeyBxdWVyeVBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIGNoZWNrSWZJbnRlcm5hbEF1dGgoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGxvZ2luKHBhcmFtczogTG9naW5QYXJhbXMpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdGVuYW50ID0gdGhpcy5zZXNzaW9uU3RhdGUuZ2V0VGVuYW50KCk7XHJcblxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMub0F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyhcclxuICAgICAgICBwYXJhbXMudXNlcm5hbWUsXHJcbiAgICAgICAgcGFyYW1zLnBhc3N3b3JkLFxyXG4gICAgICAgIG5ldyBIdHRwSGVhZGVycyh7IC4uLih0ZW5hbnQgJiYgdGVuYW50LmlkICYmIHsgW3RoaXMudGVuYW50S2V5XTogdGVuYW50LmlkIH0pIH0pLFxyXG4gICAgICApLFxyXG4gICAgKS5waXBlKHRoaXMucGlwZVRvTG9naW4ocGFyYW1zKSk7XHJcbiAgfVxyXG5cclxuICBwaXBlVG9Mb2dpbihwYXJhbXM6IFBpY2s8TG9naW5QYXJhbXMsICdyZWRpcmVjdFVybCcgfCAncmVtZW1iZXJNZSc+KSB7XHJcbiAgICBjb25zdCByb3V0ZXIgPSB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpO1xyXG5cclxuICAgIHJldHVybiBwaXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jb25maWdTdGF0ZS5yZWZyZXNoQXBwU3RhdGUoKSksXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgc2V0UmVtZW1iZXJNZShwYXJhbXMucmVtZW1iZXJNZSk7XHJcbiAgICAgICAgaWYgKHBhcmFtcy5yZWRpcmVjdFVybCkgcm91dGVyLm5hdmlnYXRlKFtwYXJhbXMucmVkaXJlY3RVcmxdKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KHF1ZXJ5UGFyYW1zPzogUGFyYW1zKSB7XHJcbiAgICBjb25zdCByb3V0ZXIgPSB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpO1xyXG5cclxuICAgIHJldHVybiBmcm9tKHRoaXMub0F1dGhTZXJ2aWNlLnJldm9rZVRva2VuQW5kTG9nb3V0KHF1ZXJ5UGFyYW1zKSkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlnU3RhdGUucmVmcmVzaEFwcFN0YXRlKCkpLFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJyk7XHJcbiAgICAgICAgcmVtb3ZlUmVtZW1iZXJNZSgpO1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVmcmVzaFRva2VuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub0F1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbigpLmNhdGNoKCgpID0+IHtcclxuICAgICAgY2xlYXJPQXV0aFN0b3JhZ2UoKTtcclxuICAgICAgcmVtb3ZlUmVtZW1iZXJNZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQVVUSF9GTE9XX1NUUkFURUdZID0ge1xyXG4gIENvZGUoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICByZXR1cm4gbmV3IEF1dGhDb2RlRmxvd1N0cmF0ZWd5KGluamVjdG9yKTtcclxuICB9LFxyXG4gIFBhc3N3b3JkKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgcmV0dXJuIG5ldyBBdXRoUGFzc3dvcmRGbG93U3RyYXRlZ3koaW5qZWN0b3IpO1xyXG4gIH0sXHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJPQXV0aFN0b3JhZ2Uoc3RvcmFnZTogT0F1dGhTdG9yYWdlID0gb0F1dGhTdG9yYWdlKSB7XHJcbiAgY29uc3Qga2V5cyA9IFtcclxuICAgICdhY2Nlc3NfdG9rZW4nLFxyXG4gICAgJ2lkX3Rva2VuJyxcclxuICAgICdyZWZyZXNoX3Rva2VuJyxcclxuICAgICdub25jZScsXHJcbiAgICAnUEtDRV92ZXJpZmllcicsXHJcbiAgICAnZXhwaXJlc19hdCcsXHJcbiAgICAnaWRfdG9rZW5fY2xhaW1zX29iaicsXHJcbiAgICAnaWRfdG9rZW5fZXhwaXJlc19hdCcsXHJcbiAgICAnaWRfdG9rZW5fc3RvcmVkX2F0JyxcclxuICAgICdhY2Nlc3NfdG9rZW5fc3RvcmVkX2F0JyxcclxuICAgICdncmFudGVkX3Njb3BlcycsXHJcbiAgICAnc2Vzc2lvbl9zdGF0ZScsXHJcbiAgXTtcclxuXHJcbiAga2V5cy5mb3JFYWNoKGtleSA9PiBzdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHNob3VsZFN0b3JhZ2VDbGVhcihjbGllbnRJZDogc3RyaW5nLCBzdG9yYWdlOiBPQXV0aFN0b3JhZ2UpOiBib29sZWFuIHtcclxuICBjb25zdCBrZXkgPSAnYWJwT0F1dGhDbGllbnRJZCc7XHJcbiAgaWYgKCFzdG9yYWdlLmdldEl0ZW0oa2V5KSkge1xyXG4gICAgc3RvcmFnZS5zZXRJdGVtKGtleSwgY2xpZW50SWQpO1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY29uc3Qgc2hvdWxkQ2xlYXIgPSBzdG9yYWdlLmdldEl0ZW0oa2V5KSAhPT0gY2xpZW50SWQ7XHJcbiAgaWYgKHNob3VsZENsZWFyKSBzdG9yYWdlLnNldEl0ZW0oa2V5LCBjbGllbnRJZCk7XHJcbiAgcmV0dXJuIHNob3VsZENsZWFyO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRDb29raWVWYWx1ZUJ5TmFtZShuYW1lOiBzdHJpbmcpIHtcclxuICBjb25zdCBtYXRjaCA9IGRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKCcoXnwgKScgKyBuYW1lICsgJz0oW147XSspJykpO1xyXG4gIHJldHVybiBtYXRjaCA/IG1hdGNoWzJdIDogJyc7XHJcbn1cclxuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { __rest } from "tslib";
|
|
2
|
-
import { InjectionToken } from '@angular/core';
|
|
3
|
-
export const CORE_OPTIONS = new InjectionToken('CORE_OPTIONS');
|
|
4
|
-
export function coreOptionsFactory(_a) {
|
|
5
|
-
var options = __rest(_a, []);
|
|
6
|
-
return Object.assign({}, options);
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi90b2tlbnMvb3B0aW9ucy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQVcsY0FBYyxDQUFDLENBQUM7QUFFekUsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEVBQXdCO1FBQW5CLE9BQU8sY0FBWixFQUFjLENBQUY7SUFDN0MsT0FBTyxrQkFDRixPQUFPLENBQ0MsQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XHJcblxyXG5leHBvcnQgY29uc3QgQ09SRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPEFCUC5Sb290PignQ09SRV9PUFRJT05TJyk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29yZU9wdGlvbnNGYWN0b3J5KHsgLi4ub3B0aW9ucyB9OiBBQlAuUm9vdCkge1xyXG4gIHJldHVybiB7XHJcbiAgICAuLi5vcHRpb25zLFxyXG4gIH0gYXMgQUJQLlJvb3Q7XHJcbn1cclxuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export function pushValueTo(array) {
|
|
2
|
-
return (element) => {
|
|
3
|
-
array.push(element);
|
|
4
|
-
return array;
|
|
5
|
-
};
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvYXJyYXktdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFdBQVcsQ0FBZ0IsS0FBVTtJQUNuRCxPQUFPLENBQUMsT0FBVSxFQUFFLEVBQUU7UUFDcEIsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcHVzaFZhbHVlVG88VCBleHRlbmRzIGFueT4oYXJyYXk6IFRbXSkge1xyXG4gIHJldHVybiAoZWxlbWVudDogVCkgPT4ge1xyXG4gICAgYXJyYXkucHVzaChlbGVtZW50KTtcclxuICAgIHJldHVybiBhcnJheTtcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { registerLocaleData } from '@angular/common';
|
|
3
|
-
import { OAuthService } from 'angular-oauth2-oidc';
|
|
4
|
-
import { tap, catchError } from 'rxjs/operators';
|
|
5
|
-
import { throwError } from 'rxjs';
|
|
6
|
-
import { AuthService } from '../services/auth.service';
|
|
7
|
-
import { ConfigStateService } from '../services/config-state.service';
|
|
8
|
-
import { EnvironmentService } from '../services/environment.service';
|
|
9
|
-
import { SessionStateService } from '../services/session-state.service';
|
|
10
|
-
import { clearOAuthStorage } from '../strategies/auth-flow.strategy';
|
|
11
|
-
import { CORE_OPTIONS } from '../tokens/options.token';
|
|
12
|
-
import { APP_INIT_ERROR_HANDLERS } from '../tokens/app-config.token';
|
|
13
|
-
import { getRemoteEnv } from './environment-utils';
|
|
14
|
-
import { parseTenantFromUrl } from './multi-tenancy-utils';
|
|
15
|
-
export function getInitialData(injector) {
|
|
16
|
-
const fn = () => __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
const environmentService = injector.get(EnvironmentService);
|
|
18
|
-
const configState = injector.get(ConfigStateService);
|
|
19
|
-
const options = injector.get(CORE_OPTIONS);
|
|
20
|
-
environmentService.setState(options.environment);
|
|
21
|
-
yield getRemoteEnv(injector, options.environment);
|
|
22
|
-
yield parseTenantFromUrl(injector);
|
|
23
|
-
yield injector.get(AuthService).init();
|
|
24
|
-
if (options.skipGetAppConfiguration)
|
|
25
|
-
return;
|
|
26
|
-
return configState
|
|
27
|
-
.refreshAppState()
|
|
28
|
-
.pipe(tap(() => checkAccessToken(injector)), tap(() => {
|
|
29
|
-
const currentTenant = configState.getOne('currentTenant');
|
|
30
|
-
injector.get(SessionStateService).setTenant(currentTenant);
|
|
31
|
-
}), catchError(error => {
|
|
32
|
-
const appInitErrorHandlers = injector.get(APP_INIT_ERROR_HANDLERS, null);
|
|
33
|
-
if (appInitErrorHandlers && appInitErrorHandlers.length) {
|
|
34
|
-
appInitErrorHandlers.forEach(func => func(error));
|
|
35
|
-
}
|
|
36
|
-
return throwError(error);
|
|
37
|
-
}))
|
|
38
|
-
.toPromise();
|
|
39
|
-
});
|
|
40
|
-
return fn;
|
|
41
|
-
}
|
|
42
|
-
export function checkAccessToken(injector) {
|
|
43
|
-
const configState = injector.get(ConfigStateService);
|
|
44
|
-
const oAuth = injector.get(OAuthService);
|
|
45
|
-
if (oAuth.hasValidAccessToken() && !configState.getDeep('currentUser.id')) {
|
|
46
|
-
clearOAuthStorage();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
export function localeInitializer(injector) {
|
|
50
|
-
const fn = () => {
|
|
51
|
-
const sessionState = injector.get(SessionStateService);
|
|
52
|
-
const { registerLocaleFn } = injector.get(CORE_OPTIONS);
|
|
53
|
-
const lang = sessionState.getLanguage() || 'en';
|
|
54
|
-
return new Promise((resolve, reject) => {
|
|
55
|
-
registerLocaleFn(lang).then(module => {
|
|
56
|
-
if (module === null || module === void 0 ? void 0 : module.default)
|
|
57
|
-
registerLocaleData(module.default);
|
|
58
|
-
return resolve('resolved');
|
|
59
|
-
}, reject);
|
|
60
|
-
});
|
|
61
|
-
};
|
|
62
|
-
return fn;
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWxDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNELE1BQU0sVUFBVSxjQUFjLENBQUMsUUFBa0I7SUFDL0MsTUFBTSxFQUFFLEdBQUcsR0FBUyxFQUFFO1FBQ3BCLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMs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Q29udGVudCI6WyJpbXBvcnQgeyByZWdpc3RlckxvY2FsZURhdGEgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcclxuaW1wb3J0IHsgdGFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscy9jb21tb24nO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL21vZGVscy9lbnZpcm9ubWVudCc7XHJcbmltcG9ydCB7IEN1cnJlbnRUZW5hbnREdG8gfSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL211bHRpLXRlbmFuY3kvbW9kZWxzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25maWdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWctc3RhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc2Vzc2lvbi1zdGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2xlYXJPQXV0aFN0b3JhZ2UgfSBmcm9tICcuLi9zdHJhdGVnaWVzL2F1dGgtZmxvdy5zdHJhdGVneSc7XHJcbmltcG9ydCB7IENPUkVfT1BUSU9OUyB9IGZyb20gJy4uL3Rva2Vucy9vcHRpb25zLnRva2VuJztcclxuaW1wb3J0IHsgQVBQX0lOSVRfRVJST1JfSEFORExFUlMgfSBmcm9tICcuLi90b2tlbnMvYXBwLWNvbmZpZy50b2tlbic7XHJcbmltcG9ydCB7IGdldFJlbW90ZUVudiB9IGZyb20gJy4vZW52aXJvbm1lbnQtdXRpbHMnO1xyXG5pbXBvcnQgeyBwYXJzZVRlbmFudEZyb21VcmwgfSBmcm9tICcuL211bHRpLXRlbmFuY3ktdXRpbHMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxEYXRhKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gIGNvbnN0IGZuID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgY29uc3QgZW52aXJvbm1lbnRTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEVudmlyb25tZW50U2VydmljZSk7XHJcbiAgICBjb25zdCBjb25maWdTdGF0ZSA9IGluamVjdG9yLmdldChDb25maWdTdGF0ZVNlcnZpY2UpO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IGluamVjdG9yLmdldChDT1JFX09QVElPTlMpIGFzIEFCUC5Sb290O1xyXG5cclxuICAgIGVudmlyb25tZW50U2VydmljZS5zZXRTdGF0ZShvcHRpb25zLmVudmlyb25tZW50IGFzIEVudmlyb25tZW50KTtcclxuICAgIGF3YWl0IGdldFJlbW90ZUVudihpbmplY3Rvciwgb3B0aW9ucy5lbnZpcm9ubWVudCk7XHJcbiAgICBhd2FpdCBwYXJzZVRlbmFudEZyb21VcmwoaW5qZWN0b3IpO1xyXG4gICAgYXdhaXQgaW5qZWN0b3IuZ2V0KEF1dGhTZXJ2aWNlKS5pbml0KCk7XHJcblxyXG4gICAgaWYgKG9wdGlvbnMuc2tpcEdldEFwcENvbmZpZ3VyYXRpb24pIHJldHVybjtcclxuXHJcbiAgICByZXR1cm4gY29uZmlnU3RhdGVcclxuICAgICAgLnJlZnJlc2hBcHBTdGF0ZSgpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRhcCgoKSA9PiBjaGVja0FjY2Vzc1Rva2VuKGluamVjdG9yKSksXHJcbiAgICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRUZW5hbnQgPSBjb25maWdTdGF0ZS5nZXRPbmUoJ2N1cnJlbnRUZW5hbnQnKSBhcyBDdXJyZW50VGVuYW50RHRvO1xyXG4gICAgICAgICAgaW5qZWN0b3IuZ2V0KFNlc3Npb25TdGF0ZVNlcnZpY2UpLnNldFRlbmFudChjdXJyZW50VGVuYW50KTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICAgIGNvbnN0IGFwcEluaXRFcnJvckhhbmRsZXJzID0gaW5qZWN0b3IuZ2V0KEFQUF9JTklUX0VSUk9SX0hBTkRMRVJTLCBudWxsKTtcclxuICAgICAgICAgIGlmIChhcHBJbml0RXJyb3JIYW5kbGVycyAmJiBhcHBJbml0RXJyb3JIYW5kbGVycy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgYXBwSW5pdEVycm9ySGFuZGxlcnMuZm9yRWFjaChmdW5jID0+IGZ1bmMoZXJyb3IpKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfSksXHJcbiAgICAgIClcclxuICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gIH07XHJcblxyXG4gIHJldHVybiBmbjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrQWNjZXNzVG9rZW4oaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgY29uc3QgY29uZmlnU3RhdGUgPSBpbmplY3Rvci5nZXQoQ29uZmlnU3RhdGVTZXJ2aWNlKTtcclxuICBjb25zdCBvQXV0aCA9IGluamVjdG9yLmdldChPQXV0aFNlcnZpY2UpO1xyXG4gIGlmIChvQXV0aC5oYXNWYWxpZEFjY2Vzc1Rva2VuKCkgJiYgIWNvbmZpZ1N0YXRlLmdldERlZXAoJ2N1cnJlbnRVc2VyLmlkJykpIHtcclxuICAgIGNsZWFyT0F1dGhTdG9yYWdlKCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxlSW5pdGlhbGl6ZXIoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgY29uc3QgZm4gPSAoKSA9PiB7XHJcbiAgICBjb25zdCBzZXNzaW9uU3RhdGUgPSBpbmplY3Rvci5nZXQoU2Vzc2lvblN0YXRlU2VydmljZSk7XHJcbiAgICBjb25zdCB7IHJlZ2lzdGVyTG9jYWxlRm4gfTogQUJQLlJvb3QgPSBpbmplY3Rvci5nZXQoQ09SRV9PUFRJT05TKTtcclxuXHJcbiAgICBjb25zdCBsYW5nID0gc2Vzc2lvblN0YXRlLmdldExhbmd1YWdlKCkgfHwgJ2VuJztcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICByZWdpc3RlckxvY2FsZUZuKGxhbmcpLnRoZW4obW9kdWxlID0+IHtcclxuICAgICAgICBpZiAobW9kdWxlPy5kZWZhdWx0KSByZWdpc3RlckxvY2FsZURhdGEobW9kdWxlLmRlZmF1bHQpO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVzb2x2ZSgncmVzb2x2ZWQnKTtcclxuICAgICAgfSwgcmVqZWN0KTtcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIHJldHVybiBmbjtcclxufVxyXG4iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
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
|
-
constructor(initialState) {
|
|
7
|
-
this.initialState = initialState;
|
|
8
|
-
this.state$ = new BehaviorSubject(this.initialState);
|
|
9
|
-
this.update$ = new Subject();
|
|
10
|
-
this.sliceState = (selector, compareFn = compare) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));
|
|
11
|
-
this.sliceUpdate = (selector, filterFn = (x) => x !== undefined) => this.update$.pipe(map(selector), filter(filterFn));
|
|
12
|
-
}
|
|
13
|
-
get state() {
|
|
14
|
-
return this.state$.value;
|
|
15
|
-
}
|
|
16
|
-
patch(state) {
|
|
17
|
-
let patchedState = state;
|
|
18
|
-
if (typeof state === 'object' && !Array.isArray(state)) {
|
|
19
|
-
patchedState = Object.assign(Object.assign({}, this.state), state);
|
|
20
|
-
}
|
|
21
|
-
this.state$.next(patchedState);
|
|
22
|
-
this.update$.next(patchedState);
|
|
23
|
-
}
|
|
24
|
-
deepPatch(state) {
|
|
25
|
-
this.state$.next(deepMerge(this.state, state));
|
|
26
|
-
this.update$.next(state);
|
|
27
|
-
}
|
|
28
|
-
set(state) {
|
|
29
|
-
this.state$.next(state);
|
|
30
|
-
this.update$.next(state);
|
|
31
|
-
}
|
|
32
|
-
reset() {
|
|
33
|
-
this.set(this.initialState);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtc3RvcmUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvaW50ZXJuYWwtc3RvcmUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxhQUFhO0lBbUJ4QixZQUFvQixZQUFtQjtRQUFuQixpQkFBWSxHQUFaLFlBQVksQ0FBTztRQWxCL0IsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFRLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV2RCxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFNcEQsZUFBVSxHQUFHLENBQ1gsUUFBaUMsRUFDakMsWUFBK0MsT0FBTyxFQUN0RCxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFFdEUsZ0JBQVcsR0FBRyxDQUNaLFFBQThDLEVBQzlDLFdBQVcsQ0FBQyxDQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQ3hDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFZCxDQUFDO0lBZDNDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQWNELEtBQUssQ0FBQyxLQUFxQjtRQUN6QixJQUFJLFlBQVksR0FBRyxLQUFjLENBQUM7UUFFbEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RELFlBQVksbUNBQVEsSUFBSSxDQUFDLEtBQUssR0FBSyxLQUFLLENBQUUsQ0FBQztTQUM1QztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQWtDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQXlCO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFZO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBMkIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbXBhcmUgZnJvbSAnanVzdC1jb21wYXJlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGVlcFBhcnRpYWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICcuL29iamVjdC11dGlscyc7XHJcblxyXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxTdG9yZTxTdGF0ZT4ge1xyXG4gIHByaXZhdGUgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGF0ZT4odGhpcy5pbml0aWFsU3RhdGUpO1xyXG5cclxuICBwcml2YXRlIHVwZGF0ZSQgPSBuZXcgU3ViamVjdDxEZWVwUGFydGlhbDxTdGF0ZT4+KCk7XHJcblxyXG4gIGdldCBzdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIHNsaWNlU3RhdGUgPSA8U2xpY2U+KFxyXG4gICAgc2VsZWN0b3I6IChzdGF0ZTogU3RhdGUpID0+IFNsaWNlLFxyXG4gICAgY29tcGFyZUZuOiAoczE6IFNsaWNlLCBzMjogU2xpY2UpID0+IGJvb2xlYW4gPSBjb21wYXJlLFxyXG4gICkgPT4gdGhpcy5zdGF0ZSQucGlwZShtYXAoc2VsZWN0b3IpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZChjb21wYXJlRm4pKTtcclxuXHJcbiAgc2xpY2VVcGRhdGUgPSA8U2xpY2U+KFxyXG4gICAgc2VsZWN0b3I6IChzdGF0ZTogRGVlcFBhcnRpYWw8U3RhdGU+KSA9PiBTbGljZSxcclxuICAgIGZpbHRlckZuID0gKHg6IFNsaWNlKSA9PiB4ICE9PSB1bmRlZmluZWQsXHJcbiAgKSA9PiB0aGlzLnVwZGF0ZSQucGlwZShtYXAoc2VsZWN0b3IpLCBmaWx0ZXIoZmlsdGVyRm4pKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbml0aWFsU3RhdGU6IFN0YXRlKSB7fVxyXG5cclxuICBwYXRjaChzdGF0ZTogUGFydGlhbDxTdGF0ZT4pIHtcclxuICAgIGxldCBwYXRjaGVkU3RhdGUgPSBzdGF0ZSBhcyBTdGF0ZTtcclxuXHJcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShzdGF0ZSkpIHtcclxuICAgICAgcGF0Y2hlZFN0YXRlID0geyAuLi50aGlzLnN0YXRlLCAuLi5zdGF0ZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhdGUkLm5leHQocGF0Y2hlZFN0YXRlKTtcclxuICAgIHRoaXMudXBkYXRlJC5uZXh0KHBhdGNoZWRTdGF0ZSBhcyBEZWVwUGFydGlhbDxTdGF0ZT4pO1xyXG4gIH1cclxuXHJcbiAgZGVlcFBhdGNoKHN0YXRlOiBEZWVwUGFydGlhbDxTdGF0ZT4pIHtcclxuICAgIHRoaXMuc3RhdGUkLm5leHQoZGVlcE1lcmdlKHRoaXMuc3RhdGUsIHN0YXRlKSk7XHJcbiAgICB0aGlzLnVwZGF0ZSQubmV4dChzdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBzZXQoc3RhdGU6IFN0YXRlKSB7XHJcbiAgICB0aGlzLnN0YXRlJC5uZXh0KHN0YXRlKTtcclxuICAgIHRoaXMudXBkYXRlJC5uZXh0KHN0YXRlIGFzIERlZXBQYXJ0aWFsPFN0YXRlPik7XHJcbiAgfVxyXG5cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMuc2V0KHRoaXMuaW5pdGlhbFN0YXRlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// This will not be necessary when only Angukar 9.1+ is supported
|
|
2
|
-
export function getLocaleDirection(locale) {
|
|
3
|
-
return /^(ar(-[A-Z]{2})?|ckb(-IR)?|fa(-AF)?|he|ks|lrc(-IQ)?|mzn|pa-Arab|ps(-PK)?|sd|ug|ur(-IN)?|uz-Arab|yi)$/.test(locale)
|
|
4
|
-
? 'rtl'
|
|
5
|
-
: 'ltr';
|
|
6
|
-
}
|
|
7
|
-
export function createLocalizer(localization) {
|
|
8
|
-
return (resourceName, key, defaultValue) => {
|
|
9
|
-
var _a;
|
|
10
|
-
if (resourceName === '_')
|
|
11
|
-
return key;
|
|
12
|
-
const resource = (_a = localization === null || localization === void 0 ? void 0 : localization.values) === null || _a === void 0 ? void 0 : _a[resourceName];
|
|
13
|
-
if (!resource)
|
|
14
|
-
return defaultValue;
|
|
15
|
-
return resource[key] || defaultValue;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
export function createLocalizerWithFallback(localization) {
|
|
19
|
-
const findLocalization = createLocalizationFinder(localization);
|
|
20
|
-
return (resourceNames, keys, defaultValue) => {
|
|
21
|
-
const { localized } = findLocalization(resourceNames, keys);
|
|
22
|
-
return localized || defaultValue;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
export function createLocalizationPipeKeyGenerator(localization) {
|
|
26
|
-
const findLocalization = createLocalizationFinder(localization);
|
|
27
|
-
return (resourceNames, keys, defaultKey) => {
|
|
28
|
-
const { resourceName, key } = findLocalization(resourceNames, keys);
|
|
29
|
-
return !resourceName ? defaultKey : resourceName === '_' ? key : `${resourceName}::${key}`;
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function createLocalizationFinder(localization) {
|
|
33
|
-
const localize = createLocalizer(localization);
|
|
34
|
-
return (resourceNames, keys) => {
|
|
35
|
-
resourceNames = resourceNames.concat(localization.defaultResourceName || '').filter(Boolean);
|
|
36
|
-
const resourceCount = resourceNames.length;
|
|
37
|
-
const keyCount = keys.length;
|
|
38
|
-
for (let i = 0; i < resourceCount; i++) {
|
|
39
|
-
const resourceName = resourceNames[i];
|
|
40
|
-
for (let j = 0; j < keyCount; j++) {
|
|
41
|
-
const key = keys[j];
|
|
42
|
-
const localized = localize(resourceName, key, null);
|
|
43
|
-
if (localized)
|
|
44
|
-
return { resourceName, key, localized };
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return { resourceName: undefined, key: undefined, localized: undefined };
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL2xvY2FsaXphdGlvbi11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxpRUFBaUU7QUFDakUsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQWM7SUFDL0MsT0FBTyxzR0FBc0csQ0FBQyxJQUFJLENBQ2hILE1BQU0sQ0FDUDtRQUNDLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLFlBQXFEO0lBQ25GLE9BQU8sQ0FBQyxZQUFvQixFQUFFLEdBQVcsRUFBRSxZQUFvQixFQUFFLEVBQUU7O1FBQ2pFLElBQUksWUFBWSxLQUFLLEdBQUc7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUVyQyxNQUFNLFFBQVEsR0FBRyxNQUFBLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxNQUFNLDBDQUFHLFlBQVksQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxZQUFZLENBQUM7UUFFbkMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksWUFBWSxDQUFDO0lBQ3ZDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsWUFBcUQ7SUFDL0YsTUFBTSxnQkFBZ0IsR0FBRyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUVoRSxPQUFPLENBQUMsYUFBdUIsRUFBRSxJQUFjLEVBQUUsWUFBb0IsRUFBRSxFQUFFO1FBQ3ZFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUQsT0FBTyxTQUFTLElBQUksWUFBWSxDQUFDO0lBQ25DLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0NBQWtDLENBQ2hELFlBQXFEO0lBRXJELE1BQU0sZ0JBQWdCLEdBQUcsd0JBQXdCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFaEUsT0FBTyxDQUFDLGFBQXVCLEVBQUUsSUFBYyxFQUFFLFVBQThCLEVBQUUsRUFBRTtRQUNqRixNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDN0YsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQUMsWUFBcUQ7SUFDckYsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRS9DLE9BQU8sQ0FBQyxhQUF1QixFQUFFLElBQWMsRUFBRSxFQUFFO1FBQ2pELGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFN0YsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUMzQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRTdCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXRDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3BELElBQUksU0FBUztvQkFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQzthQUN4RDtTQUNGO1FBRUQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDM0UsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uTG9jYWxpemF0aW9uQ29uZmlndXJhdGlvbkR0byB9IGZyb20gJy4uL3Byb3h5L3ZvbG8vYWJwL2FzcC1uZXQtY29yZS9tdmMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbnMvbW9kZWxzJztcclxuXHJcbi8vIFRoaXMgd2lsbCBub3QgYmUgbmVjZXNzYXJ5IHdoZW4gb25seSBBbmd1a2FyIDkuMSsgaXMgc3VwcG9ydGVkXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhbGVEaXJlY3Rpb24obG9jYWxlOiBzdHJpbmcpOiAnbHRyJyB8ICdydGwnIHtcclxuICByZXR1cm4gL14oYXIoLVtBLVpdezJ9KT98Y2tiKC1JUik/fGZhKC1BRik/fGhlfGtzfGxyYygtSVEpP3xtem58cGEtQXJhYnxwcygtUEspP3xzZHx1Z3x1cigtSU4pP3x1ei1BcmFifHlpKSQvLnRlc3QoXHJcbiAgICBsb2NhbGUsXHJcbiAgKVxyXG4gICAgPyAncnRsJ1xyXG4gICAgOiAnbHRyJztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxvY2FsaXplcihsb2NhbGl6YXRpb246IEFwcGxpY2F0aW9uTG9jYWxpemF0aW9uQ29uZmlndXJhdGlvbkR0bykge1xyXG4gIHJldHVybiAocmVzb3VyY2VOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IHN0cmluZykgPT4ge1xyXG4gICAgaWYgKHJlc291cmNlTmFtZSA9PT0gJ18nKSByZXR1cm4ga2V5O1xyXG5cclxuICAgIGNvbnN0IHJlc291cmNlID0gbG9jYWxpemF0aW9uPy52YWx1ZXM/LltyZXNvdXJjZU5hbWVdO1xyXG5cclxuICAgIGlmICghcmVzb3VyY2UpIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcblxyXG4gICAgcmV0dXJuIHJlc291cmNlW2tleV0gfHwgZGVmYXVsdFZhbHVlO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2NhbGl6ZXJXaXRoRmFsbGJhY2sobG9jYWxpemF0aW9uOiBBcHBsaWNhdGlvbkxvY2FsaXphdGlvbkNvbmZpZ3VyYXRpb25EdG8pIHtcclxuICBjb25zdCBmaW5kTG9jYWxpemF0aW9uID0gY3JlYXRlTG9jYWxpemF0aW9uRmluZGVyKGxvY2FsaXphdGlvbik7XHJcblxyXG4gIHJldHVybiAocmVzb3VyY2VOYW1lczogc3RyaW5nW10sIGtleXM6IHN0cmluZ1tdLCBkZWZhdWx0VmFsdWU6IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgeyBsb2NhbGl6ZWQgfSA9IGZpbmRMb2NhbGl6YXRpb24ocmVzb3VyY2VOYW1lcywga2V5cyk7XHJcbiAgICByZXR1cm4gbG9jYWxpemVkIHx8IGRlZmF1bHRWYWx1ZTtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTG9jYWxpemF0aW9uUGlwZUtleUdlbmVyYXRvcihcclxuICBsb2NhbGl6YXRpb246IEFwcGxpY2F0aW9uTG9jYWxpemF0aW9uQ29uZmlndXJhdGlvbkR0byxcclxuKSB7XHJcbiAgY29uc3QgZmluZExvY2FsaXphdGlvbiA9IGNyZWF0ZUxvY2FsaXphdGlvbkZpbmRlcihsb2NhbGl6YXRpb24pO1xyXG5cclxuICByZXR1cm4gKHJlc291cmNlTmFtZXM6IHN0cmluZ1tdLCBrZXlzOiBzdHJpbmdbXSwgZGVmYXVsdEtleTogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB7XHJcbiAgICBjb25zdCB7IHJlc291cmNlTmFtZSwga2V5IH0gPSBmaW5kTG9jYWxpemF0aW9uKHJlc291cmNlTmFtZXMsIGtleXMpO1xyXG4gICAgcmV0dXJuICFyZXNvdXJjZU5hbWUgPyBkZWZhdWx0S2V5IDogcmVzb3VyY2VOYW1lID09PSAnXycgPyBrZXkgOiBgJHtyZXNvdXJjZU5hbWV9Ojoke2tleX1gO1xyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZUxvY2FsaXphdGlvbkZpbmRlcihsb2NhbGl6YXRpb246IEFwcGxpY2F0aW9uTG9jYWxpemF0aW9uQ29uZmlndXJhdGlvbkR0bykge1xyXG4gIGNvbnN0IGxvY2FsaXplID0gY3JlYXRlTG9jYWxpemVyKGxvY2FsaXphdGlvbik7XHJcblxyXG4gIHJldHVybiAocmVzb3VyY2VOYW1lczogc3RyaW5nW10sIGtleXM6IHN0cmluZ1tdKSA9PiB7XHJcbiAgICByZXNvdXJjZU5hbWVzID0gcmVzb3VyY2VOYW1lcy5jb25jYXQobG9jYWxpemF0aW9uLmRlZmF1bHRSZXNvdXJjZU5hbWUgfHwgJycpLmZpbHRlcihCb29sZWFuKTtcclxuXHJcbiAgICBjb25zdCByZXNvdXJjZUNvdW50ID0gcmVzb3VyY2VOYW1lcy5sZW5ndGg7XHJcbiAgICBjb25zdCBrZXlDb3VudCA9IGtleXMubGVuZ3RoO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzb3VyY2VDb3VudDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IHJlc291cmNlTmFtZSA9IHJlc291cmNlTmFtZXNbaV07XHJcblxyXG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGtleUNvdW50OyBqKyspIHtcclxuICAgICAgICBjb25zdCBrZXkgPSBrZXlzW2pdO1xyXG4gICAgICAgIGNvbnN0IGxvY2FsaXplZCA9IGxvY2FsaXplKHJlc291cmNlTmFtZSwga2V5LCBudWxsKTtcclxuICAgICAgICBpZiAobG9jYWxpemVkKSByZXR1cm4geyByZXNvdXJjZU5hbWUsIGtleSwgbG9jYWxpemVkIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4geyByZXNvdXJjZU5hbWU6IHVuZGVmaW5lZCwga2V5OiB1bmRlZmluZWQsIGxvY2FsaXplZDogdW5kZWZpbmVkIH07XHJcbiAgfTtcclxufVxyXG4iXX0=
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import clone from 'just-clone';
|
|
3
|
-
import { tap } from 'rxjs/operators';
|
|
4
|
-
import { EnvironmentService } from '../services/environment.service';
|
|
5
|
-
import { MultiTenancyService } from '../services/multi-tenancy.service';
|
|
6
|
-
import { createTokenParser } from './string-utils';
|
|
7
|
-
const tenancyPlaceholder = '{0}';
|
|
8
|
-
function getCurrentTenancyName(appBaseUrl) {
|
|
9
|
-
var _a;
|
|
10
|
-
if (appBaseUrl.charAt(appBaseUrl.length - 1) !== '/')
|
|
11
|
-
appBaseUrl += '/';
|
|
12
|
-
const parseTokens = createTokenParser(appBaseUrl);
|
|
13
|
-
const token = tenancyPlaceholder.replace(/[}{]/g, '');
|
|
14
|
-
return (_a = parseTokens(window.location.href)[token]) === null || _a === void 0 ? void 0 : _a[0];
|
|
15
|
-
}
|
|
16
|
-
function getCurrentTenancyNameFromUrl(tenantKey) {
|
|
17
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
18
|
-
return urlParams.get(tenantKey);
|
|
19
|
-
}
|
|
20
|
-
export function parseTenantFromUrl(injector) {
|
|
21
|
-
var _a, _b;
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const environmentService = injector.get(EnvironmentService);
|
|
24
|
-
const multiTenancyService = injector.get(MultiTenancyService);
|
|
25
|
-
const baseUrl = ((_b = (_a = environmentService.getEnvironment()) === null || _a === void 0 ? void 0 : _a.application) === null || _b === void 0 ? void 0 : _b.baseUrl) || '';
|
|
26
|
-
const tenancyName = getCurrentTenancyName(baseUrl);
|
|
27
|
-
const hideTenantBox = () => {
|
|
28
|
-
multiTenancyService.isTenantBoxVisible = false;
|
|
29
|
-
};
|
|
30
|
-
const setDomainTenant = (tenant) => {
|
|
31
|
-
multiTenancyService.domainTenant = {
|
|
32
|
-
id: tenant.tenantId,
|
|
33
|
-
name: tenant.name,
|
|
34
|
-
isAvailable: true,
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
const setEnvironmentWithDomainTenant = (tenant) => {
|
|
38
|
-
hideTenantBox();
|
|
39
|
-
setDomainTenant(tenant);
|
|
40
|
-
};
|
|
41
|
-
if (tenancyName) {
|
|
42
|
-
/**
|
|
43
|
-
* We have to replace tenant name within the urls from environment,
|
|
44
|
-
* because the code below will make a http request to find information about the domain tenant.
|
|
45
|
-
* Before this request takes place, we need to replace placeholders aka "{0}".
|
|
46
|
-
*/
|
|
47
|
-
replaceTenantNameWithinEnvironment(injector, tenancyName);
|
|
48
|
-
return multiTenancyService
|
|
49
|
-
.setTenantByName(tenancyName)
|
|
50
|
-
.pipe(tap(setEnvironmentWithDomainTenant))
|
|
51
|
-
.toPromise();
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
/**
|
|
55
|
-
* If there is no tenant, we still have to clean up {0}. from baseUrl to avoid incorrect http requests.
|
|
56
|
-
*/
|
|
57
|
-
replaceTenantNameWithinEnvironment(injector, '', tenancyPlaceholder + '.');
|
|
58
|
-
const tenantIdFromQueryParams = getCurrentTenancyNameFromUrl(multiTenancyService.tenantKey);
|
|
59
|
-
if (tenantIdFromQueryParams) {
|
|
60
|
-
return multiTenancyService.setTenantById(tenantIdFromQueryParams).toPromise();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return Promise.resolve();
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
function replaceTenantNameWithinEnvironment(injector, tenancyName, placeholder = tenancyPlaceholder) {
|
|
67
|
-
const environmentService = injector.get(EnvironmentService);
|
|
68
|
-
const environment = clone(environmentService.getEnvironment());
|
|
69
|
-
if (environment.application.baseUrl) {
|
|
70
|
-
environment.application.baseUrl = environment.application.baseUrl.replace(placeholder, tenancyName);
|
|
71
|
-
}
|
|
72
|
-
if (environment.oAuthConfig.redirectUri) {
|
|
73
|
-
environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(placeholder, tenancyName);
|
|
74
|
-
}
|
|
75
|
-
environment.oAuthConfig.issuer = environment.oAuthConfig.issuer.replace(placeholder, tenancyName);
|
|
76
|
-
Object.keys(environment.apis).forEach(api => {
|
|
77
|
-
Object.keys(environment.apis[api]).forEach(key => {
|
|
78
|
-
environment.apis[api][key] = environment.apis[api][key].replace(placeholder, tenancyName);
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
return environmentService.setState(environment);
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktdGVuYW5jeS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9tdWx0aS10ZW5hbmN5LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFFL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0FBRWpDLFNBQVMscUJBQXFCLENBQUMsVUFBa0I7O0lBQy9DLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUc7UUFBRSxVQUFVLElBQUksR0FBRyxDQUFDO0lBRXhFLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsT0FBTyxNQUFBLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQywwQ0FBRyxDQUFDLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsU0FBUyw0QkFBNEIsQ0FBQyxTQUFpQjtJQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlELE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztB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QU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDL0MsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDNUYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgY2xvbmUgZnJvbSAnanVzdC1jbG9uZSc7XHJcblxyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbW9kZWxzL2Vudmlyb25tZW50JztcclxuXHJcbmltcG9ydCB7IEZpbmRUZW5hbnRSZXN1bHREdG8gfSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL211bHRpLXRlbmFuY3kvbW9kZWxzJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE11bHRpVGVuYW5jeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tdWx0aS10ZW5hbmN5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjcmVhdGVUb2tlblBhcnNlciB9IGZyb20gJy4vc3RyaW5nLXV0aWxzJztcclxuXHJcbmNvbnN0IHRlbmFuY3lQbGFjZWhvbGRlciA9ICd7MH0nO1xyXG5cclxuZnVuY3Rpb24gZ2V0Q3VycmVudFRlbmFuY3lOYW1lKGFwcEJhc2VVcmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgaWYgKGFwcEJhc2VVcmwuY2hhckF0KGFwcEJhc2VVcmwubGVuZ3RoIC0gMSkgIT09ICcvJykgYXBwQmFzZVVybCArPSAnLyc7XHJcblxyXG4gIGNvbnN0IHBhcnNlVG9rZW5zID0gY3JlYXRlVG9rZW5QYXJzZXIoYXBwQmFzZVVybCk7XHJcbiAgY29uc3QgdG9rZW4gPSB0ZW5hbmN5UGxhY2Vob2xkZXIucmVwbGFjZSgvW317XS9nLCAnJyk7XHJcbiAgcmV0dXJuIHBhcnNlVG9rZW5zKHdpbmRvdy5sb2NhdGlvbi5ocmVmKVt0b2tlbl0/LlswXTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0Q3VycmVudFRlbmFuY3lOYW1lRnJvbVVybCh0ZW5hbnRLZXk6IHN0cmluZykge1xyXG4gIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XHJcbiAgcmV0dXJuIHVybFBhcmFtcy5nZXQodGVuYW50S2V5KTtcclxufVxyXG5cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBhcnNlVGVuYW50RnJvbVVybChpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICBjb25zdCBlbnZpcm9ubWVudFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoRW52aXJvbm1lbnRTZXJ2aWNlKTtcclxuICBjb25zdCBtdWx0aVRlbmFuY3lTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE11bHRpVGVuYW5jeVNlcnZpY2UpO1xyXG5cclxuICBjb25zdCBiYXNlVXJsID0gZW52aXJvbm1lbnRTZXJ2aWNlLmdldEVudmlyb25tZW50KCk/LmFwcGxpY2F0aW9uPy5iYXNlVXJsIHx8ICcnO1xyXG4gIGNvbnN0IHRlbmFuY3lOYW1lID0gZ2V0Q3VycmVudFRlbmFuY3lOYW1lKGJhc2VVcmwpO1xyXG5cclxuICBjb25zdCBoaWRlVGVuYW50Qm94ID0gKCkgPT4ge1xyXG4gICAgbXVsdGlUZW5hbmN5U2VydmljZS5pc1RlbmFudEJveFZpc2libGUgPSBmYWxzZTtcclxuICB9O1xyXG5cclxuICBjb25zdCBzZXREb21haW5UZW5hbnQgPSAodGVuYW50OiBGaW5kVGVuYW50UmVzdWx0RHRvKSA9PiB7XHJcbiAgICBtdWx0aVRlbmFuY3lTZXJ2aWNlLmRvbWFpblRlbmFudCA9IHtcclxuICAgICAgaWQ6IHRlbmFudC50ZW5hbnRJZCxcclxuICAgICAgbmFtZTogdGVuYW50Lm5hbWUsXHJcbiAgICAgIGlzQXZhaWxhYmxlOiB0cnVlLFxyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBjb25zdCBzZXRFbnZpcm9ubWVudFdpdGhEb21haW5UZW5hbnQgPSAodGVuYW50OiBGaW5kVGVuYW50UmVzdWx0RHRvKSA9PiB7XHJcbiAgICBoaWRlVGVuYW50Qm94KCk7XHJcbiAgICBzZXREb21haW5UZW5hbnQodGVuYW50KTtcclxuICB9O1xyXG5cclxuICBpZiAodGVuYW5jeU5hbWUpIHtcclxuICAgIC8qKlxyXG4gICAgICogV2UgaGF2ZSB0byByZXBsYWNlIHRlbmFudCBuYW1lIHdpdGhpbiB0aGUgdXJscyBmcm9tIGVudmlyb25tZW50LFxyXG4gICAgICogYmVjYXVzZSB0aGUgY29kZSBiZWxvdyB3aWxsIG1ha2UgYSBodHRwIHJlcXVlc3QgdG8gZmluZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZG9tYWluIHRlbmFudC5cclxuICAgICAqIEJlZm9yZSB0aGlzIHJlcXVlc3QgdGFrZXMgcGxhY2UsIHdlIG5lZWQgdG8gcmVwbGFjZSBwbGFjZWhvbGRlcnMgYWthIFwiezB9XCIuXHJcbiAgICAgKi9cclxuICAgIHJlcGxhY2VUZW5hbnROYW1lV2l0aGluRW52aXJvbm1lbnQoaW5qZWN0b3IsIHRlbmFuY3lOYW1lKTtcclxuICAgIHJldHVybiBtdWx0aVRlbmFuY3lTZXJ2aWNlXHJcbiAgICAgIC5zZXRUZW5hbnRCeU5hbWUodGVuYW5jeU5hbWUpXHJcbiAgICAgIC5waXBlKHRhcChzZXRFbnZpcm9ubWVudFdpdGhEb21haW5UZW5hbnQpKVxyXG4gICAgICAudG9Qcm9taXNlKCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIC8qKlxyXG4gICAgICogSWYgdGhlcmUgaXMgbm8gdGVuYW50LCB3ZSBzdGlsbCBoYXZlIHRvIGNsZWFuIHVwIHswfS4gZnJvbSBiYXNlVXJsIHRvIGF2b2lkIGluY29ycmVjdCBodHRwIHJlcXVlc3RzLlxyXG4gICAgICovXHJcbiAgICByZXBsYWNlVGVuYW50TmFtZVdpdGhpbkVudmlyb25tZW50KGluamVjdG9yLCAnJywgdGVuYW5jeVBsYWNlaG9sZGVyICsgJy4nKTtcclxuXHJcbiAgICBjb25zdCB0ZW5hbnRJZEZyb21RdWVyeVBhcmFtcyA9IGdldEN1cnJlbnRUZW5hbmN5TmFtZUZyb21VcmwobXVsdGlUZW5hbmN5U2VydmljZS50ZW5hbnRLZXkpO1xyXG4gICAgaWYgKHRlbmFudElkRnJvbVF1ZXJ5UGFyYW1zKSB7XHJcbiAgICAgIHJldHVybiBtdWx0aVRlbmFuY3lTZXJ2aWNlLnNldFRlbmFudEJ5SWQodGVuYW50SWRGcm9tUXVlcnlQYXJhbXMpLnRvUHJvbWlzZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xyXG59XHJcblxyXG5mdW5jdGlvbiByZXBsYWNlVGVuYW50TmFtZVdpdGhpbkVudmlyb25tZW50KFxyXG4gIGluamVjdG9yOiBJbmplY3RvcixcclxuICB0ZW5hbmN5TmFtZTogc3RyaW5nLFxyXG4gIHBsYWNlaG9sZGVyID0gdGVuYW5jeVBsYWNlaG9sZGVyLFxyXG4pIHtcclxuICBjb25zdCBlbnZpcm9ubWVudFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoRW52aXJvbm1lbnRTZXJ2aWNlKTtcclxuXHJcbiAgY29uc3QgZW52aXJvbm1lbnQgPSBjbG9uZShlbnZpcm9ubWVudFNlcnZpY2UuZ2V0RW52aXJvbm1lbnQoKSkgYXMgRW52aXJvbm1lbnQ7XHJcblxyXG4gIGlmIChlbnZpcm9ubWVudC5hcHBsaWNhdGlvbi5iYXNlVXJsKSB7XHJcbiAgICBlbnZpcm9ubWVudC5hcHBsaWNhdGlvbi5iYXNlVXJsID0gZW52aXJvbm1lbnQuYXBwbGljYXRpb24uYmFzZVVybC5yZXBsYWNlKFxyXG4gICAgICBwbGFjZWhvbGRlcixcclxuICAgICAgdGVuYW5jeU5hbWUsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaWYgKGVudmlyb25tZW50Lm9BdXRoQ29uZmlnLnJlZGlyZWN0VXJpKSB7XHJcbiAgICBlbnZpcm9ubWVudC5vQXV0aENvbmZpZy5yZWRpcmVjdFVyaSA9IGVudmlyb25tZW50Lm9BdXRoQ29uZmlnLnJlZGlyZWN0VXJpLnJlcGxhY2UoXHJcbiAgICAgIHBsYWNlaG9sZGVyLFxyXG4gICAgICB0ZW5hbmN5TmFtZSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBlbnZpcm9ubWVudC5vQXV0aENvbmZpZy5pc3N1ZXIgPSBlbnZpcm9ubWVudC5vQXV0aENvbmZpZy5pc3N1ZXIucmVwbGFjZShwbGFjZWhvbGRlciwgdGVuYW5jeU5hbWUpO1xyXG5cclxuICBPYmplY3Qua2V5cyhlbnZpcm9ubWVudC5hcGlzKS5mb3JFYWNoKGFwaSA9PiB7XHJcbiAgICBPYmplY3Qua2V5cyhlbnZpcm9ubWVudC5hcGlzW2FwaV0pLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgZW52aXJvbm1lbnQuYXBpc1thcGldW2tleV0gPSBlbnZpcm9ubWVudC5hcGlzW2FwaV1ba2V5XS5yZXBsYWNlKHBsYWNlaG9sZGVyLCB0ZW5hbmN5TmFtZSk7XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGVudmlyb25tZW50U2VydmljZS5zZXRTdGF0ZShlbnZpcm9ubWVudCk7XHJcbn1cclxuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { PRIMARY_OUTLET } from '@angular/router';
|
|
3
|
-
import { noop } from './common-utils';
|
|
4
|
-
export function findRoute(routesService, path) {
|
|
5
|
-
const node = routesService.find(route => route.path === path);
|
|
6
|
-
return node || path === '/'
|
|
7
|
-
? node
|
|
8
|
-
: findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');
|
|
9
|
-
}
|
|
10
|
-
export function getRoutePath(router, url = router.url) {
|
|
11
|
-
const emptyGroup = { segments: [] };
|
|
12
|
-
const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];
|
|
13
|
-
return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');
|
|
14
|
-
}
|
|
15
|
-
export function reloadRoute(router, ngZone) {
|
|
16
|
-
const { shouldReuseRoute } = router.routeReuseStrategy;
|
|
17
|
-
const setRouteReuse = (reuse) => {
|
|
18
|
-
router.routeReuseStrategy.shouldReuseRoute = reuse;
|
|
19
|
-
};
|
|
20
|
-
setRouteReuse(() => false);
|
|
21
|
-
router.navigated = false;
|
|
22
|
-
ngZone.run(() => __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
yield router.navigateByUrl(router.url).catch(noop);
|
|
24
|
-
setRouteReuse(shouldReuseRoute);
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvcm91dGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQTJCLE1BQU0saUJBQWlCLENBQUM7QUFHMUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RDLE1BQU0sVUFBVSxTQUFTLENBQUMsYUFBNEIsRUFBRSxJQUFZO0lBQ2xFLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBRTlELE9BQU8sSUFBSSxJQUFJLElBQUksS0FBSyxHQUFHO1FBQ3pCLENBQUMsQ0FBQyxJQUFJO1FBQ04sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWMsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUc7SUFDM0QsTUFBTSxVQUFVLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFxQixDQUFDO0lBQ3ZELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV4RSxPQUFPLEdBQUcsR0FBRyxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE1BQWMsRUFBRSxNQUFjO0lBQ3hELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUN2RCxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQThCLEVBQUUsRUFBRTtRQUN2RCxNQUFNLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3JELENBQUMsQ0FBQztJQUVGLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixNQUFNLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUV6QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVMsRUFBRTtRQUNwQixNQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRCxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQUklNQVJZX09VVExFVCwgUm91dGVyLCBVcmxTZWdtZW50R3JvdXAgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcclxuaW1wb3J0IHsgUm91dGVzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4vY29tbW9uLXV0aWxzJztcclxuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuL3RyZWUtdXRpbHMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRSb3V0ZShyb3V0ZXNTZXJ2aWNlOiBSb3V0ZXNTZXJ2aWNlLCBwYXRoOiBzdHJpbmcpOiBUcmVlTm9kZTxBQlAuUm91dGU+IHtcclxuICBjb25zdCBub2RlID0gcm91dGVzU2VydmljZS5maW5kKHJvdXRlID0+IHJvdXRlLnBhdGggPT09IHBhdGgpO1xyXG5cclxuICByZXR1cm4gbm9kZSB8fCBwYXRoID09PSAnLydcclxuICAgID8gbm9kZVxyXG4gICAgOiBmaW5kUm91dGUocm91dGVzU2VydmljZSwgcGF0aC5zcGxpdCgnLycpLnNsaWNlKDAsIC0xKS5qb2luKCcvJykgfHwgJy8nKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlUGF0aChyb3V0ZXI6IFJvdXRlciwgdXJsID0gcm91dGVyLnVybCkge1xyXG4gIGNvbnN0IGVtcHR5R3JvdXAgPSB7IHNlZ21lbnRzOiBbXSB9IGFzIFVybFNlZ21lbnRHcm91cDtcclxuICBjb25zdCBwcmltYXJ5R3JvdXAgPSByb3V0ZXIucGFyc2VVcmwodXJsKS5yb290LmNoaWxkcmVuW1BSSU1BUllfT1VUTEVUXTtcclxuXHJcbiAgcmV0dXJuICcvJyArIChwcmltYXJ5R3JvdXAgfHwgZW1wdHlHcm91cCkuc2VnbWVudHMubWFwKCh7IHBhdGggfSkgPT4gcGF0aCkuam9pbignLycpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVsb2FkUm91dGUocm91dGVyOiBSb3V0ZXIsIG5nWm9uZTogTmdab25lKSB7XHJcbiAgY29uc3QgeyBzaG91bGRSZXVzZVJvdXRlIH0gPSByb3V0ZXIucm91dGVSZXVzZVN0cmF0ZWd5O1xyXG4gIGNvbnN0IHNldFJvdXRlUmV1c2UgPSAocmV1c2U6IHR5cGVvZiBzaG91bGRSZXVzZVJvdXRlKSA9PiB7XHJcbiAgICByb3V0ZXIucm91dGVSZXVzZVN0cmF0ZWd5LnNob3VsZFJldXNlUm91dGUgPSByZXVzZTtcclxuICB9O1xyXG5cclxuICBzZXRSb3V0ZVJldXNlKCgpID0+IGZhbHNlKTtcclxuICByb3V0ZXIubmF2aWdhdGVkID0gZmFsc2U7XHJcblxyXG4gIG5nWm9uZS5ydW4oYXN5bmMgKCkgPT4ge1xyXG4gICAgYXdhaXQgcm91dGVyLm5hdmlnYXRlQnlVcmwocm91dGVyLnVybCkuY2F0Y2gobm9vcCk7XHJcbiAgICBzZXRSb3V0ZVJldXNlKHNob3VsZFJldXNlUm91dGUpO1xyXG4gIH0pO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,21 +0,0 @@
|
|
|
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) => { var _a; return (_a = params[digit]) !== null && _a !== void 0 ? _a : match; })
|
|
19
|
-
.replace(/\s+/g, ' ');
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL3N0cmluZy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxPQUFPLENBQUMsR0FBVyxFQUFFLEVBQUU7UUFDckIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMzRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUE4QixDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWSxFQUFFLE1BQWdCO0lBQ3hELE9BQU8sSUFBSTtTQUNSLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsV0FBQyxPQUFBLE1BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBSSxLQUFLLENBQUEsRUFBQSxDQUFDO1NBQ3BGLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUb2tlblBhcnNlcihmb3JtYXQ6IHN0cmluZykge1xyXG4gIHJldHVybiAoc3RyOiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IHRva2Vuczogc3RyaW5nW10gPSBbXTtcclxuICAgIGNvbnN0IHJlZ2V4ID0gZm9ybWF0LnJlcGxhY2UoL1xcLi9nLCAnXFxcXC4nKS5yZXBsYWNlKC9cXHtcXHM/KFswLTlhLXpBLVpdKylcXHM/XFx9L2csIChfLCB0b2tlbikgPT4ge1xyXG4gICAgICB0b2tlbnMucHVzaCh0b2tlbik7XHJcbiAgICAgIHJldHVybiAnKC4rKSc7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBtYXRjaGVzID0gKHN0ci5tYXRjaChyZWdleCkgfHwgW10pLnNsaWNlKDEpO1xyXG5cclxuICAgIHJldHVybiBtYXRjaGVzLnJlZHVjZSgoYWNjLCB2LCBpKSA9PiB7XHJcbiAgICAgIGNvbnN0IGtleSA9IHRva2Vuc1tpXTtcclxuICAgICAgYWNjW2tleV0gPSBbLi4uKGFjY1trZXldIHx8IFtdKSwgdl0uZmlsdGVyKEJvb2xlYW4pO1xyXG4gICAgICByZXR1cm4gYWNjO1xyXG4gICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+KTtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW50ZXJwb2xhdGUodGV4dDogc3RyaW5nLCBwYXJhbXM6IHN0cmluZ1tdKSB7XHJcbiAgcmV0dXJuIHRleHRcclxuICAgIC5yZXBsYWNlKC8oWydcIl0/XFx7XFxzKihcXGQrKVxccypcXH1bJ1wiXT8pL2csIChfLCBtYXRjaCwgZGlnaXQpID0+IHBhcmFtc1tkaWdpdF0gPz8gbWF0Y2gpXHJcbiAgICAucmVwbGFjZSgvXFxzKy9nLCAnICcpO1xyXG59XHJcbiJdfQ==
|