@abp/ng.core 9.0.2 → 9.1.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/abp-ng.core-testing.mjs +14 -14
- package/fesm2022/abp-ng.core.mjs +267 -283
- package/fesm2022/abp-ng.core.mjs.map +1 -1
- package/lib/providers/cookie-language.provider.d.ts +2 -3
- package/lib/utils/initial-utils.d.ts +2 -3
- package/package.json +2 -8
- package/esm2022/abp-ng.core.mjs +0 -5
- package/esm2022/lib/abstracts/abstract-guard.mjs +0 -2
- package/esm2022/lib/abstracts/auth-error-filter.mjs +0 -25
- package/esm2022/lib/abstracts/auth-response.model.mjs +0 -2
- package/esm2022/lib/abstracts/auth.guard.mjs +0 -24
- package/esm2022/lib/abstracts/auth.service.mjs +0 -67
- package/esm2022/lib/abstracts/index.mjs +0 -7
- package/esm2022/lib/abstracts/ng-model.component.mjs +0 -58
- package/esm2022/lib/clients/http.client.mjs +0 -28
- package/esm2022/lib/clients/index.mjs +0 -2
- package/esm2022/lib/components/dynamic-layout.component.mjs +0 -115
- package/esm2022/lib/components/index.mjs +0 -4
- package/esm2022/lib/components/replaceable-route-container.component.mjs +0 -42
- package/esm2022/lib/components/router-outlet.component.mjs +0 -15
- package/esm2022/lib/constants/default-layouts.mjs +0 -6
- package/esm2022/lib/constants/different-locales.mjs +0 -337
- package/esm2022/lib/constants/index.mjs +0 -3
- package/esm2022/lib/core.module.mjs +0 -203
- package/esm2022/lib/directives/autofocus.directive.mjs +0 -30
- package/esm2022/lib/directives/caps-lock.directive.mjs +0 -41
- package/esm2022/lib/directives/debounce.directive.mjs +0 -36
- package/esm2022/lib/directives/for.directive.mjs +0 -160
- package/esm2022/lib/directives/form-submit.directive.mjs +0 -77
- package/esm2022/lib/directives/index.mjs +0 -11
- package/esm2022/lib/directives/init.directive.mjs +0 -24
- package/esm2022/lib/directives/permission.directive.mjs +0 -75
- package/esm2022/lib/directives/replaceable-template.directive.mjs +0 -133
- package/esm2022/lib/directives/show-password.directive.mjs +0 -25
- package/esm2022/lib/directives/stop-propagation.directive.mjs +0 -32
- package/esm2022/lib/enums/common.mjs +0 -2
- package/esm2022/lib/enums/index.mjs +0 -2
- package/esm2022/lib/guards/index.mjs +0 -2
- package/esm2022/lib/guards/permission.guard.mjs +0 -62
- package/esm2022/lib/handlers/index.mjs +0 -2
- package/esm2022/lib/handlers/routes.handler.mjs +0 -51
- package/esm2022/lib/interceptors/api.interceptor.mjs +0 -27
- package/esm2022/lib/interceptors/index.mjs +0 -2
- package/esm2022/lib/localization.module.mjs +0 -16
- package/esm2022/lib/models/auth-events.mjs +0 -29
- package/esm2022/lib/models/auth.mjs +0 -2
- package/esm2022/lib/models/common.mjs +0 -2
- package/esm2022/lib/models/dtos.mjs +0 -137
- package/esm2022/lib/models/environment.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -12
- package/esm2022/lib/models/localization.mjs +0 -2
- package/esm2022/lib/models/replaceable-components.mjs +0 -2
- package/esm2022/lib/models/rest.mjs +0 -2
- package/esm2022/lib/models/session.mjs +0 -2
- package/esm2022/lib/models/sort.mjs +0 -2
- package/esm2022/lib/models/utility.mjs +0 -2
- package/esm2022/lib/pipes/index.mjs +0 -8
- package/esm2022/lib/pipes/localization.pipe.mjs +0 -33
- package/esm2022/lib/pipes/safe-html.pipe.mjs +0 -23
- package/esm2022/lib/pipes/short-date-time.pipe.mjs +0 -34
- package/esm2022/lib/pipes/short-date.pipe.mjs +0 -34
- package/esm2022/lib/pipes/short-time.pipe.mjs +0 -34
- package/esm2022/lib/pipes/sort.pipe.mjs +0 -49
- package/esm2022/lib/pipes/to-injector.pipe.mjs +0 -29
- package/esm2022/lib/providers/cookie-language.provider.mjs +0 -22
- package/esm2022/lib/providers/core-module-config.provider.mjs +0 -135
- package/esm2022/lib/providers/include-localization-resources.provider.mjs +0 -6
- package/esm2022/lib/providers/index.mjs +0 -5
- package/esm2022/lib/providers/locale.provider.mjs +0 -26
- package/esm2022/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +0 -27
- package/esm2022/lib/proxy/pages/abp/multi-tenancy/index.mjs +0 -2
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +0 -24
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.mjs +0 -2
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +0 -24
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +0 -24
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.mjs +0 -6
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.mjs +0 -2
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.mjs +0 -2
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.mjs +0 -2
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.mjs +0 -2
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.mjs +0 -2
- package/esm2022/lib/proxy/volo/abp/http/modeling/index.mjs +0 -2
- package/esm2022/lib/proxy/volo/abp/http/modeling/models.mjs +0 -2
- package/esm2022/lib/proxy/volo/abp/localization/index.mjs +0 -2
- package/esm2022/lib/proxy/volo/abp/localization/models.mjs +0 -2
- package/esm2022/lib/proxy/volo/abp/models.mjs +0 -2
- package/esm2022/lib/services/config-state.service.mjs +0 -189
- package/esm2022/lib/services/content-projection.service.mjs +0 -17
- package/esm2022/lib/services/dom-insertion.service.mjs +0 -34
- package/esm2022/lib/services/environment.service.mjs +0 -54
- package/esm2022/lib/services/http-error-reporter.service.mjs +0 -29
- package/esm2022/lib/services/http-wait.service.mjs +0 -75
- package/esm2022/lib/services/index.mjs +0 -26
- package/esm2022/lib/services/internet-connection-service.mjs +0 -32
- package/esm2022/lib/services/lazy-load.service.mjs +0 -40
- package/esm2022/lib/services/list.service.mjs +0 -125
- package/esm2022/lib/services/local-storage-listener.service.mjs +0 -22
- package/esm2022/lib/services/local-storage.service.mjs +0 -32
- package/esm2022/lib/services/localization.service.mjs +0 -218
- package/esm2022/lib/services/multi-tenancy.service.mjs +0 -48
- package/esm2022/lib/services/permission.service.mjs +0 -63
- package/esm2022/lib/services/replaceable-components.service.mjs +0 -49
- package/esm2022/lib/services/resource-wait.service.mjs +0 -39
- package/esm2022/lib/services/rest.service.mjs +0 -78
- package/esm2022/lib/services/router-events.service.mjs +0 -51
- package/esm2022/lib/services/router-wait.service.mjs +0 -51
- package/esm2022/lib/services/routes.service.mjs +0 -200
- package/esm2022/lib/services/session-state.service.mjs +0 -84
- package/esm2022/lib/services/subscription.service.mjs +0 -43
- package/esm2022/lib/services/title-strategy.service.mjs +0 -46
- package/esm2022/lib/services/track-by.service.mjs +0 -21
- package/esm2022/lib/services/window.service.mjs +0 -41
- package/esm2022/lib/strategies/container.strategy.mjs +0 -38
- package/esm2022/lib/strategies/content-security.strategy.mjs +0 -30
- package/esm2022/lib/strategies/content.strategy.mjs +0 -52
- package/esm2022/lib/strategies/context.strategy.mjs +0 -37
- package/esm2022/lib/strategies/cross-origin.strategy.mjs +0 -28
- package/esm2022/lib/strategies/dom.strategy.mjs +0 -27
- package/esm2022/lib/strategies/index.mjs +0 -9
- package/esm2022/lib/strategies/loading.strategy.mjs +0 -58
- package/esm2022/lib/strategies/projection.strategy.mjs +0 -80
- package/esm2022/lib/tokens/app-config.token.mjs +0 -3
- package/esm2022/lib/tokens/check-authentication-state.mjs +0 -3
- package/esm2022/lib/tokens/compare-func.token.mjs +0 -31
- package/esm2022/lib/tokens/cookie-language-key.token.mjs +0 -5
- package/esm2022/lib/tokens/dynamic-layout.token.mjs +0 -3
- package/esm2022/lib/tokens/http-context.token.mjs +0 -3
- package/esm2022/lib/tokens/include-localization-resources.token.mjs +0 -3
- package/esm2022/lib/tokens/index.mjs +0 -20
- package/esm2022/lib/tokens/list.token.mjs +0 -3
- package/esm2022/lib/tokens/localization.token.mjs +0 -10
- package/esm2022/lib/tokens/lodaer-delay.token.mjs +0 -3
- package/esm2022/lib/tokens/manage-profile.token.mjs +0 -3
- package/esm2022/lib/tokens/options.token.mjs +0 -8
- package/esm2022/lib/tokens/others-group.token.mjs +0 -3
- package/esm2022/lib/tokens/pipe-to-login.token.mjs +0 -3
- package/esm2022/lib/tokens/queue.token.mjs +0 -3
- package/esm2022/lib/tokens/set-token-response-to-storage.token.mjs +0 -6
- package/esm2022/lib/tokens/tenant-key.token.mjs +0 -3
- package/esm2022/lib/tokens/tenant-not-found-by-name.mjs +0 -3
- package/esm2022/lib/tokens/title-strategy-disable-project-name.token.mjs +0 -3
- package/esm2022/lib/utils/array-utils.mjs +0 -7
- package/esm2022/lib/utils/common-utils.mjs +0 -35
- package/esm2022/lib/utils/date-extensions.mjs +0 -6
- package/esm2022/lib/utils/date-utils.mjs +0 -13
- package/esm2022/lib/utils/environment-utils.mjs +0 -36
- package/esm2022/lib/utils/factory-utils.mjs +0 -24
- package/esm2022/lib/utils/file-utils.mjs +0 -15
- package/esm2022/lib/utils/form-utils.mjs +0 -12
- package/esm2022/lib/utils/generator-utils.mjs +0 -43
- package/esm2022/lib/utils/http-utils.mjs +0 -19
- package/esm2022/lib/utils/index.mjs +0 -21
- package/esm2022/lib/utils/initial-utils.mjs +0 -60
- package/esm2022/lib/utils/internal-store-utils.mjs +0 -37
- package/esm2022/lib/utils/lazy-load-utils.mjs +0 -40
- package/esm2022/lib/utils/localization-utils.mjs +0 -49
- package/esm2022/lib/utils/multi-tenancy-utils.mjs +0 -93
- package/esm2022/lib/utils/number-utils.mjs +0 -4
- package/esm2022/lib/utils/object-utils.mjs +0 -37
- package/esm2022/lib/utils/queue.mjs +0 -41
- package/esm2022/lib/utils/route-utils.mjs +0 -26
- package/esm2022/lib/utils/string-utils.mjs +0 -30
- package/esm2022/lib/utils/tree-utils.mjs +0 -70
- package/esm2022/lib/validators/age.validator.mjs +0 -14
- package/esm2022/lib/validators/credit-card.validator.mjs +0 -21
- package/esm2022/lib/validators/index.mjs +0 -29
- package/esm2022/lib/validators/range.validator.mjs +0 -15
- package/esm2022/lib/validators/required.validator.mjs +0 -15
- package/esm2022/lib/validators/string-length.validator.mjs +0 -15
- package/esm2022/lib/validators/unique-character.validator.mjs +0 -13
- package/esm2022/lib/validators/url.validator.mjs +0 -17
- package/esm2022/lib/validators/username.validator.mjs +0 -14
- package/esm2022/locale/abp-ng.core-locale.mjs +0 -5
- package/esm2022/locale/public-api.mjs +0 -2
- package/esm2022/locale/utils/register-locale.mjs +0 -101
- package/esm2022/public-api.mjs +0 -28
- package/esm2022/testing/abp-ng.core-testing.mjs +0 -5
- package/esm2022/testing/lib/core-testing.module.mjs +0 -76
- package/esm2022/testing/lib/pipes/index.mjs +0 -2
- package/esm2022/testing/lib/pipes/localization.pipe.mjs +0 -20
- package/esm2022/testing/lib/services/index.mjs +0 -3
- package/esm2022/testing/lib/services/mock-permission.service.mjs +0 -35
- package/esm2022/testing/lib/services/mock-rest.service.mjs +0 -31
- package/esm2022/testing/lib/utils/clear-page.util.mjs +0 -10
- package/esm2022/testing/lib/utils/index.mjs +0 -3
- package/esm2022/testing/lib/utils/wait.util.mjs +0 -5
- package/esm2022/testing/public-api.mjs +0 -5
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { registerLocaleData } from '@angular/common';
|
|
2
|
-
import { tap, catchError } from 'rxjs/operators';
|
|
3
|
-
import { lastValueFrom, throwError } from 'rxjs';
|
|
4
|
-
import { ConfigStateService } from '../services/config-state.service';
|
|
5
|
-
import { EnvironmentService } from '../services/environment.service';
|
|
6
|
-
import { SessionStateService } from '../services/session-state.service';
|
|
7
|
-
import { CORE_OPTIONS } from '../tokens/options.token';
|
|
8
|
-
import { APP_INIT_ERROR_HANDLERS } from '../tokens/app-config.token';
|
|
9
|
-
import { getRemoteEnv } from './environment-utils';
|
|
10
|
-
import { parseTenantFromUrl } from './multi-tenancy-utils';
|
|
11
|
-
import { AuthService } from '../abstracts';
|
|
12
|
-
import { CHECK_AUTHENTICATION_STATE_FN_KEY } from '../tokens/check-authentication-state';
|
|
13
|
-
import { noop } from './common-utils';
|
|
14
|
-
export function getInitialData(injector) {
|
|
15
|
-
const fn = async () => {
|
|
16
|
-
const environmentService = injector.get(EnvironmentService);
|
|
17
|
-
const configState = injector.get(ConfigStateService);
|
|
18
|
-
const options = injector.get(CORE_OPTIONS);
|
|
19
|
-
environmentService.setState(options.environment);
|
|
20
|
-
await getRemoteEnv(injector, options.environment);
|
|
21
|
-
await parseTenantFromUrl(injector);
|
|
22
|
-
const authService = injector.get(AuthService, undefined, { optional: true });
|
|
23
|
-
const checkAuthenticationState = injector.get(CHECK_AUTHENTICATION_STATE_FN_KEY, noop, {
|
|
24
|
-
optional: true,
|
|
25
|
-
});
|
|
26
|
-
if (!options.skipInitAuthService && authService) {
|
|
27
|
-
await authService.init();
|
|
28
|
-
}
|
|
29
|
-
if (options.skipGetAppConfiguration)
|
|
30
|
-
return;
|
|
31
|
-
const result$ = configState.refreshAppState().pipe(tap(() => checkAuthenticationState(injector)), tap(() => {
|
|
32
|
-
const currentTenant = configState.getOne('currentTenant');
|
|
33
|
-
injector.get(SessionStateService).setTenant(currentTenant);
|
|
34
|
-
}), catchError(error => {
|
|
35
|
-
const appInitErrorHandlers = injector.get(APP_INIT_ERROR_HANDLERS, null);
|
|
36
|
-
if (appInitErrorHandlers && appInitErrorHandlers.length) {
|
|
37
|
-
appInitErrorHandlers.forEach(func => func(error));
|
|
38
|
-
}
|
|
39
|
-
return throwError(error);
|
|
40
|
-
}));
|
|
41
|
-
await lastValueFrom(result$);
|
|
42
|
-
};
|
|
43
|
-
return fn;
|
|
44
|
-
}
|
|
45
|
-
export function localeInitializer(injector) {
|
|
46
|
-
const fn = () => {
|
|
47
|
-
const sessionState = injector.get(SessionStateService);
|
|
48
|
-
const { registerLocaleFn } = injector.get(CORE_OPTIONS);
|
|
49
|
-
const lang = sessionState.getLanguage() || 'en';
|
|
50
|
-
return new Promise((resolve, reject) => {
|
|
51
|
-
registerLocaleFn(lang).then(module => {
|
|
52
|
-
if (module?.default)
|
|
53
|
-
registerLocaleData(module.default);
|
|
54
|
-
return resolve('resolved');
|
|
55
|
-
}, reject);
|
|
56
|
-
});
|
|
57
|
-
};
|
|
58
|
-
return fn;
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQWtCO0lBQy9DLE1BQU0sRUFBRSxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQ3BCLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FB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dCI6WyJpbXBvcnQgeyByZWdpc3RlckxvY2FsZURhdGEgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RGbGFncywgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdGFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscy9jb21tb24nO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL21vZGVscy9lbnZpcm9ubWVudCc7XHJcbmltcG9ydCB7IEN1cnJlbnRUZW5hbnREdG8gfSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL211bHRpLXRlbmFuY3kvbW9kZWxzJztcclxuaW1wb3J0IHsgQ29uZmlnU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Nlc3Npb24tc3RhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IENPUkVfT1BUSU9OUyB9IGZyb20gJy4uL3Rva2Vucy9vcHRpb25zLnRva2VuJztcclxuaW1wb3J0IHsgQVBQX0lOSVRfRVJST1JfSEFORExFUlMgfSBmcm9tICcuLi90b2tlbnMvYXBwLWNvbmZpZy50b2tlbic7XHJcbmltcG9ydCB7IGdldFJlbW90ZUVudiB9IGZyb20gJy4vZW52aXJvbm1lbnQtdXRpbHMnO1xyXG5pbXBvcnQgeyBwYXJzZVRlbmFudEZyb21VcmwgfSBmcm9tICcuL211bHRpLXRlbmFuY3ktdXRpbHMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2Fic3RyYWN0cyc7XHJcbmltcG9ydCB7IENIRUNLX0FVVEhFTlRJQ0FUSU9OX1NUQVRFX0ZOX0tFWSB9IGZyb20gJy4uL3Rva2Vucy9jaGVjay1hdXRoZW50aWNhdGlvbi1zdGF0ZSc7XHJcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2NvbW1vbi11dGlscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5pdGlhbERhdGEoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgY29uc3QgZm4gPSBhc3luYyAoKSA9PiB7XHJcbiAgICBjb25zdCBlbnZpcm9ubWVudFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoRW52aXJvbm1lbnRTZXJ2aWNlKTtcclxuICAgIGNvbnN0IGNvbmZpZ1N0YXRlID0gaW5qZWN0b3IuZ2V0KENvbmZpZ1N0YXRlU2VydmljZSk7XHJcbiAgICBjb25zdCBvcHRpb25zID0gaW5qZWN0b3IuZ2V0KENPUkVfT1BUSU9OUykgYXMgQUJQLlJvb3Q7XHJcblxyXG4gICAgZW52aXJvbm1lbnRTZXJ2aWNlLnNldFN0YXRlKG9wdGlvbnMuZW52aXJvbm1lbnQgYXMgRW52aXJvbm1lbnQpO1xyXG4gICAgYXdhaXQgZ2V0UmVtb3RlRW52KGluamVjdG9yLCBvcHRpb25zLmVudmlyb25tZW50KTtcclxuICAgIGF3YWl0IHBhcnNlVGVuYW50RnJvbVVybChpbmplY3Rvcik7XHJcbiAgICBjb25zdCBhdXRoU2VydmljZSA9IGluamVjdG9yLmdldChBdXRoU2VydmljZSwgdW5kZWZpbmVkLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xyXG4gICAgY29uc3QgY2hlY2tBdXRoZW50aWNhdGlvblN0YXRlID0gaW5qZWN0b3IuZ2V0KENIRUNLX0FVVEhFTlRJQ0FUSU9OX1NUQVRFX0ZOX0tFWSwgbm9vcCwge1xyXG4gICAgICBvcHRpb25hbDogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgaWYgKCFvcHRpb25zLnNraXBJbml0QXV0aFNlcnZpY2UgJiYgYXV0aFNlcnZpY2UpIHtcclxuICAgICAgYXdhaXQgYXV0aFNlcnZpY2UuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgaWYgKG9wdGlvbnMuc2tpcEdldEFwcENvbmZpZ3VyYXRpb24pIHJldHVybjtcclxuXHJcbiAgICBjb25zdCByZXN1bHQkID0gY29uZmlnU3RhdGUucmVmcmVzaEFwcFN0YXRlKCkucGlwZShcclxuICAgICAgdGFwKCgpID0+IGNoZWNrQXV0aGVudGljYXRpb25TdGF0ZShpbmplY3RvcikpLFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRUZW5hbnQgPSBjb25maWdTdGF0ZS5nZXRPbmUoJ2N1cnJlbnRUZW5hbnQnKSBhcyBDdXJyZW50VGVuYW50RHRvO1xyXG4gICAgICAgIGluamVjdG9yLmdldChTZXNzaW9uU3RhdGVTZXJ2aWNlKS5zZXRUZW5hbnQoY3VycmVudFRlbmFudCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICBjb25zdCBhcHBJbml0RXJyb3JIYW5kbGVycyA9IGluamVjdG9yLmdldChBUFBfSU5JVF9FUlJPUl9IQU5ETEVSUywgbnVsbCk7XHJcbiAgICAgICAgaWYgKGFwcEluaXRFcnJvckhhbmRsZXJzICYmIGFwcEluaXRFcnJvckhhbmRsZXJzLmxlbmd0aCkge1xyXG4gICAgICAgICAgYXBwSW5pdEVycm9ySGFuZGxlcnMuZm9yRWFjaChmdW5jID0+IGZ1bmMoZXJyb3IpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gICAgYXdhaXQgbGFzdFZhbHVlRnJvbShyZXN1bHQkKTtcclxuICB9O1xyXG5cclxuICByZXR1cm4gZm47XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2NhbGVJbml0aWFsaXplcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICBjb25zdCBmbiA9ICgpID0+IHtcclxuICAgIGNvbnN0IHNlc3Npb25TdGF0ZSA9IGluamVjdG9yLmdldChTZXNzaW9uU3RhdGVTZXJ2aWNlKTtcclxuICAgIGNvbnN0IHsgcmVnaXN0ZXJMb2NhbGVGbiB9OiBBQlAuUm9vdCA9IGluamVjdG9yLmdldChDT1JFX09QVElPTlMpO1xyXG5cclxuICAgIGNvbnN0IGxhbmcgPSBzZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UoKSB8fCAnZW4nO1xyXG5cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHJlZ2lzdGVyTG9jYWxlRm4obGFuZykudGhlbihtb2R1bGUgPT4ge1xyXG4gICAgICAgIGlmIChtb2R1bGU/LmRlZmF1bHQpIHJlZ2lzdGVyTG9jYWxlRGF0YShtb2R1bGUuZGVmYXVsdCk7XHJcblxyXG4gICAgICAgIHJldHVybiByZXNvbHZlKCdyZXNvbHZlZCcpO1xyXG4gICAgICB9LCByZWplY3QpO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgcmV0dXJuIGZuO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,37 +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
|
-
get state() {
|
|
7
|
-
return this.state$.value;
|
|
8
|
-
}
|
|
9
|
-
constructor(initialState) {
|
|
10
|
-
this.initialState = initialState;
|
|
11
|
-
this.state$ = new BehaviorSubject(this.initialState);
|
|
12
|
-
this.update$ = new Subject();
|
|
13
|
-
this.sliceState = (selector, compareFn = compare) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));
|
|
14
|
-
this.sliceUpdate = (selector, filterFn = (x) => x !== undefined) => this.update$.pipe(map(selector), filter(filterFn));
|
|
15
|
-
}
|
|
16
|
-
patch(state) {
|
|
17
|
-
let patchedState = state;
|
|
18
|
-
if (typeof state === 'object' && !Array.isArray(state)) {
|
|
19
|
-
patchedState = { ...this.state, ...state };
|
|
20
|
-
}
|
|
21
|
-
this.state$.next(patchedState);
|
|
22
|
-
this.update$.next(patchedState);
|
|
23
|
-
}
|
|
24
|
-
deepPatch(state) {
|
|
25
|
-
// TODO: Strict improve deepMerge
|
|
26
|
-
this.state$.next(deepMerge(this.state, state));
|
|
27
|
-
this.update$.next(state);
|
|
28
|
-
}
|
|
29
|
-
set(state) {
|
|
30
|
-
this.state$.next(state);
|
|
31
|
-
this.update$.next(state);
|
|
32
|
-
}
|
|
33
|
-
reset() {
|
|
34
|
-
this.set(this.initialState);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtc3RvcmUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvaW50ZXJuYWwtc3RvcmUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxhQUFhO0lBS3hCLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQVlELFlBQW9CLFlBQW1CO1FBQW5CLGlCQUFZLEdBQVosWUFBWSxDQUFPO1FBbEIvQixXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXZELFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQU1wRCxlQUFVLEdBQUcsQ0FDWCxRQUFpQyxFQUNqQyxZQUErQyxPQUFPLEVBQ3RELEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUV0RSxnQkFBVyxHQUFHLENBQ1osUUFBOEMsRUFDOUMsV0FBVyxDQUFDLENBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsRUFDeEMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUVkLENBQUM7SUFFM0MsS0FBSyxDQUFDLEtBQXFCO1FBQ3pCLElBQUksWUFBWSxHQUFHLEtBQWMsQ0FBQztRQUVsQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUM3QyxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBa0MsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBeUI7UUFDakMsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBVSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFZO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBMkIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbXBhcmUgZnJvbSAnanVzdC1jb21wYXJlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGVlcFBhcnRpYWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICcuL29iamVjdC11dGlscyc7XHJcblxyXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxTdG9yZTxTdGF0ZT4ge1xyXG4gIHByaXZhdGUgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGF0ZT4odGhpcy5pbml0aWFsU3RhdGUpO1xyXG5cclxuICBwcml2YXRlIHVwZGF0ZSQgPSBuZXcgU3ViamVjdDxEZWVwUGFydGlhbDxTdGF0ZT4+KCk7XHJcblxyXG4gIGdldCBzdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIHNsaWNlU3RhdGUgPSA8U2xpY2U+KFxyXG4gICAgc2VsZWN0b3I6IChzdGF0ZTogU3RhdGUpID0+IFNsaWNlLFxyXG4gICAgY29tcGFyZUZuOiAoczE6IFNsaWNlLCBzMjogU2xpY2UpID0+IGJvb2xlYW4gPSBjb21wYXJlLFxyXG4gICkgPT4gdGhpcy5zdGF0ZSQucGlwZShtYXAoc2VsZWN0b3IpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZChjb21wYXJlRm4pKTtcclxuXHJcbiAgc2xpY2VVcGRhdGUgPSA8U2xpY2U+KFxyXG4gICAgc2VsZWN0b3I6IChzdGF0ZTogRGVlcFBhcnRpYWw8U3RhdGU+KSA9PiBTbGljZSxcclxuICAgIGZpbHRlckZuID0gKHg6IFNsaWNlKSA9PiB4ICE9PSB1bmRlZmluZWQsXHJcbiAgKSA9PiB0aGlzLnVwZGF0ZSQucGlwZShtYXAoc2VsZWN0b3IpLCBmaWx0ZXIoZmlsdGVyRm4pKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbml0aWFsU3RhdGU6IFN0YXRlKSB7fVxyXG5cclxuICBwYXRjaChzdGF0ZTogUGFydGlhbDxTdGF0ZT4pIHtcclxuICAgIGxldCBwYXRjaGVkU3RhdGUgPSBzdGF0ZSBhcyBTdGF0ZTtcclxuXHJcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShzdGF0ZSkpIHtcclxuICAgICAgcGF0Y2hlZFN0YXRlID0geyAuLi50aGlzLnN0YXRlLCAuLi5zdGF0ZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhdGUkLm5leHQocGF0Y2hlZFN0YXRlKTtcclxuICAgIHRoaXMudXBkYXRlJC5uZXh0KHBhdGNoZWRTdGF0ZSBhcyBEZWVwUGFydGlhbDxTdGF0ZT4pO1xyXG4gIH1cclxuXHJcbiAgZGVlcFBhdGNoKHN0YXRlOiBEZWVwUGFydGlhbDxTdGF0ZT4pIHtcclxuICAgIC8vIFRPRE86IFN0cmljdCBpbXByb3ZlIGRlZXBNZXJnZVxyXG4gICAgdGhpcy5zdGF0ZSQubmV4dChkZWVwTWVyZ2UodGhpcy5zdGF0ZSwgc3RhdGUpIGFzIFN0YXRlKTtcclxuICAgIHRoaXMudXBkYXRlJC5uZXh0KHN0YXRlKTtcclxuICB9XHJcblxyXG4gIHNldChzdGF0ZTogU3RhdGUpIHtcclxuICAgIHRoaXMuc3RhdGUkLm5leHQoc3RhdGUpO1xyXG4gICAgdGhpcy51cGRhdGUkLm5leHQoc3RhdGUgYXMgRGVlcFBhcnRpYWw8U3RhdGU+KTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5zZXQodGhpcy5pbml0aWFsU3RhdGUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { CROSS_ORIGIN_STRATEGY } from '../strategies/cross-origin.strategy';
|
|
3
|
-
import { DOM_STRATEGY } from '../strategies/dom.strategy';
|
|
4
|
-
export function fromLazyLoad(element, domStrategy = DOM_STRATEGY.AppendToHead(), crossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous()) {
|
|
5
|
-
crossOriginStrategy.setCrossOrigin(element);
|
|
6
|
-
domStrategy.insertElement(element);
|
|
7
|
-
return new Observable((observer) => {
|
|
8
|
-
element.onload = (event) => {
|
|
9
|
-
clearCallbacks(element);
|
|
10
|
-
observer.next(event);
|
|
11
|
-
observer.complete();
|
|
12
|
-
};
|
|
13
|
-
const handleError = createErrorHandler(observer, element);
|
|
14
|
-
element.onerror = handleError;
|
|
15
|
-
element.onabort = handleError;
|
|
16
|
-
element.onemptied = handleError;
|
|
17
|
-
element.onstalled = handleError;
|
|
18
|
-
element.onsuspend = handleError;
|
|
19
|
-
return () => {
|
|
20
|
-
clearCallbacks(element);
|
|
21
|
-
observer.complete();
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
function createErrorHandler(observer, element) {
|
|
26
|
-
return function (event) {
|
|
27
|
-
clearCallbacks(element);
|
|
28
|
-
element.parentNode?.removeChild(element);
|
|
29
|
-
observer.error(event);
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function clearCallbacks(element) {
|
|
33
|
-
element.onload = null;
|
|
34
|
-
element.onerror = null;
|
|
35
|
-
element.onabort = null;
|
|
36
|
-
element.onemptied = null;
|
|
37
|
-
element.onstalled = null;
|
|
38
|
-
element.onsuspend = null;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1sb2FkLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL2xhenktbG9hZC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBdUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFlLE1BQU0sNEJBQTRCLENBQUM7QUFFdkUsTUFBTSxVQUFVLFlBQVksQ0FDMUIsT0FBNEMsRUFDNUMsY0FBMkIsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUN0RCxzQkFBMkMscUJBQXFCLENBQUMsU0FBUyxFQUFFO0lBRTVFLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRW5DLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUU7UUFDOUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ2hDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQVUsQ0FBQyxDQUFDO1lBQzFCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFMUQsT0FBTyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUM7UUFDOUIsT0FBTyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUM7UUFDOUIsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDaEMsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDaEMsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFFaEMsT0FBTyxHQUFHLEVBQUU7WUFDVixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQTBCLFFBQXFCLEVBQUUsT0FBb0I7SUFDOUYsT0FBTyxVQUFVLEtBQXFCO1FBQ3BDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QixPQUFPLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxPQUFvQjtJQUMxQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN0QixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN2QixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN2QixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN6QixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN6QixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ1JPU1NfT1JJR0lOX1NUUkFURUdZLCBDcm9zc09yaWdpblN0cmF0ZWd5IH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9jcm9zcy1vcmlnaW4uc3RyYXRlZ3knO1xyXG5pbXBvcnQgeyBET01fU1RSQVRFR1ksIERvbVN0cmF0ZWd5IH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9kb20uc3RyYXRlZ3knO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZyb21MYXp5TG9hZDxUIGV4dGVuZHMgRXZlbnQ+KFxyXG4gIGVsZW1lbnQ6IEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTExpbmtFbGVtZW50LFxyXG4gIGRvbVN0cmF0ZWd5OiBEb21TdHJhdGVneSA9IERPTV9TVFJBVEVHWS5BcHBlbmRUb0hlYWQoKSxcclxuICBjcm9zc09yaWdpblN0cmF0ZWd5OiBDcm9zc09yaWdpblN0cmF0ZWd5ID0gQ1JPU1NfT1JJR0lOX1NUUkFURUdZLkFub255bW91cygpLFxyXG4pOiBPYnNlcnZhYmxlPFQ+IHtcclxuICBjcm9zc09yaWdpblN0cmF0ZWd5LnNldENyb3NzT3JpZ2luKGVsZW1lbnQpO1xyXG4gIGRvbVN0cmF0ZWd5Lmluc2VydEVsZW1lbnQoZWxlbWVudCk7XHJcblxyXG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPFQ+KSA9PiB7XHJcbiAgICBlbGVtZW50Lm9ubG9hZCA9IChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgY2xlYXJDYWxsYmFja3MoZWxlbWVudCk7XHJcbiAgICAgIG9ic2VydmVyLm5leHQoZXZlbnQgYXMgVCk7XHJcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGhhbmRsZUVycm9yID0gY3JlYXRlRXJyb3JIYW5kbGVyKG9ic2VydmVyLCBlbGVtZW50KTtcclxuXHJcbiAgICBlbGVtZW50Lm9uZXJyb3IgPSBoYW5kbGVFcnJvcjtcclxuICAgIGVsZW1lbnQub25hYm9ydCA9IGhhbmRsZUVycm9yO1xyXG4gICAgZWxlbWVudC5vbmVtcHRpZWQgPSBoYW5kbGVFcnJvcjtcclxuICAgIGVsZW1lbnQub25zdGFsbGVkID0gaGFuZGxlRXJyb3I7XHJcbiAgICBlbGVtZW50Lm9uc3VzcGVuZCA9IGhhbmRsZUVycm9yO1xyXG5cclxuICAgIHJldHVybiAoKSA9PiB7XHJcbiAgICAgIGNsZWFyQ2FsbGJhY2tzKGVsZW1lbnQpO1xyXG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgfTtcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlRXJyb3JIYW5kbGVyPFQgZXh0ZW5kcyBFdmVudCA9IEV2ZW50PihvYnNlcnZlcjogT2JzZXJ2ZXI8VD4sIGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIChldmVudDogRXZlbnQgfCBzdHJpbmcpIHtcclxuICAgIGNsZWFyQ2FsbGJhY2tzKGVsZW1lbnQpO1xyXG4gICAgZWxlbWVudC5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChlbGVtZW50KTtcclxuICAgIG9ic2VydmVyLmVycm9yKGV2ZW50KTtcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjbGVhckNhbGxiYWNrcyhlbGVtZW50OiBIVE1MRWxlbWVudCkge1xyXG4gIGVsZW1lbnQub25sb2FkID0gbnVsbDtcclxuICBlbGVtZW50Lm9uZXJyb3IgPSBudWxsO1xyXG4gIGVsZW1lbnQub25hYm9ydCA9IG51bGw7XHJcbiAgZWxlbWVudC5vbmVtcHRpZWQgPSBudWxsO1xyXG4gIGVsZW1lbnQub25zdGFsbGVkID0gbnVsbDtcclxuICBlbGVtZW50Lm9uc3VzcGVuZCA9IG51bGw7XHJcbn1cclxuIl19
|
|
@@ -1,49 +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
|
-
if (resourceName === '_')
|
|
10
|
-
return key;
|
|
11
|
-
const resource = localization?.values?.[resourceName];
|
|
12
|
-
if (!resource)
|
|
13
|
-
return defaultValue;
|
|
14
|
-
return resource[key] || defaultValue;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
export function createLocalizerWithFallback(localization) {
|
|
18
|
-
const findLocalization = createLocalizationFinder(localization);
|
|
19
|
-
return (resourceNames, keys, defaultValue) => {
|
|
20
|
-
const { localized } = findLocalization(resourceNames, keys);
|
|
21
|
-
return localized || defaultValue;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export function createLocalizationPipeKeyGenerator(localization) {
|
|
25
|
-
const findLocalization = createLocalizationFinder(localization);
|
|
26
|
-
return (resourceNames, keys, defaultKey) => {
|
|
27
|
-
const { resourceName, key } = findLocalization(resourceNames, keys);
|
|
28
|
-
return !resourceName ? defaultKey : resourceName === '_' ? key : `${resourceName}::${key}`;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
function createLocalizationFinder(localization) {
|
|
32
|
-
const localize = createLocalizer(localization);
|
|
33
|
-
return (resourceNames, keys) => {
|
|
34
|
-
resourceNames = resourceNames.concat(localization.defaultResourceName || '').filter(Boolean);
|
|
35
|
-
const resourceCount = resourceNames.length;
|
|
36
|
-
const keyCount = keys.length;
|
|
37
|
-
for (let i = 0; i < resourceCount; i++) {
|
|
38
|
-
const resourceName = resourceNames[i];
|
|
39
|
-
for (let j = 0; j < keyCount; j++) {
|
|
40
|
-
const key = keys[j];
|
|
41
|
-
const localized = localize(resourceName, key, null);
|
|
42
|
-
if (localized)
|
|
43
|
-
return { resourceName, key, localized };
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return { resourceName: undefined, key: undefined, localized: undefined };
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL2xvY2FsaXphdGlvbi11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxpRUFBaUU7QUFDakUsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQWM7SUFDL0MsT0FBTyxzR0FBc0csQ0FBQyxJQUFJLENBQ2hILE1BQU0sQ0FDUDtRQUNDLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLFlBQXFEO0lBQ25GLE9BQU8sQ0FBQyxZQUFvQixFQUFFLEdBQVcsRUFBRSxZQUEyQixFQUFFLEVBQUU7UUFDeEUsSUFBSSxZQUFZLEtBQUssR0FBRztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBRXJDLE1BQU0sUUFBUSxHQUFHLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sWUFBWSxDQUFDO1FBRW5DLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFlBQVksQ0FBQztJQUN2QyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUFDLFlBQXFEO0lBQy9GLE1BQU0sZ0JBQWdCLEdBQUcsd0JBQXdCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFaEUsT0FBTyxDQUFDLGFBQXVCLEVBQUUsSUFBYyxFQUFFLFlBQW9CLEVBQUUsRUFBRTtRQUN2RSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVELE9BQU8sU0FBUyxJQUFJLFlBQVksQ0FBQztJQUNuQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGtDQUFrQyxDQUNoRCxZQUFxRDtJQUVyRCxNQUFNLGdCQUFnQixHQUFHLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRWhFLE9BQU8sQ0FBQyxhQUF1QixFQUFFLElBQWMsRUFBRSxVQUE4QixFQUFFLEVBQUU7UUFDakYsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQzdGLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUFDLFlBQXFEO0lBQ3JGLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUUvQyxPQUFPLENBQUMsYUFBdUIsRUFBRSxJQUFjLEVBQUUsRUFBRTtRQUNqRCxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTdGLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUU3QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdkMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXRDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwQixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxTQUFTO29CQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3pELENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDM0UsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uTG9jYWxpemF0aW9uQ29uZmlndXJhdGlvbkR0byB9IGZyb20gJy4uL3Byb3h5L3ZvbG8vYWJwL2FzcC1uZXQtY29yZS9tdmMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbnMvbW9kZWxzJztcclxuXHJcbi8vIFRoaXMgd2lsbCBub3QgYmUgbmVjZXNzYXJ5IHdoZW4gb25seSBBbmd1a2FyIDkuMSsgaXMgc3VwcG9ydGVkXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhbGVEaXJlY3Rpb24obG9jYWxlOiBzdHJpbmcpOiAnbHRyJyB8ICdydGwnIHtcclxuICByZXR1cm4gL14oYXIoLVtBLVpdezJ9KT98Y2tiKC1JUik/fGZhKC1BRik/fGhlfGtzfGxyYygtSVEpP3xtem58cGEtQXJhYnxwcygtUEspP3xzZHx1Z3x1cigtSU4pP3x1ei1BcmFifHlpKSQvLnRlc3QoXHJcbiAgICBsb2NhbGUsXHJcbiAgKVxyXG4gICAgPyAncnRsJ1xyXG4gICAgOiAnbHRyJztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxvY2FsaXplcihsb2NhbGl6YXRpb246IEFwcGxpY2F0aW9uTG9jYWxpemF0aW9uQ29uZmlndXJhdGlvbkR0bykge1xyXG4gIHJldHVybiAocmVzb3VyY2VOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHtcclxuICAgIGlmIChyZXNvdXJjZU5hbWUgPT09ICdfJykgcmV0dXJuIGtleTtcclxuXHJcbiAgICBjb25zdCByZXNvdXJjZSA9IGxvY2FsaXphdGlvbj8udmFsdWVzPy5bcmVzb3VyY2VOYW1lXTtcclxuXHJcbiAgICBpZiAoIXJlc291cmNlKSByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG5cclxuICAgIHJldHVybiByZXNvdXJjZVtrZXldIHx8IGRlZmF1bHRWYWx1ZTtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTG9jYWxpemVyV2l0aEZhbGxiYWNrKGxvY2FsaXphdGlvbjogQXBwbGljYXRpb25Mb2NhbGl6YXRpb25Db25maWd1cmF0aW9uRHRvKSB7XHJcbiAgY29uc3QgZmluZExvY2FsaXphdGlvbiA9IGNyZWF0ZUxvY2FsaXphdGlvbkZpbmRlcihsb2NhbGl6YXRpb24pO1xyXG5cclxuICByZXR1cm4gKHJlc291cmNlTmFtZXM6IHN0cmluZ1tdLCBrZXlzOiBzdHJpbmdbXSwgZGVmYXVsdFZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IHsgbG9jYWxpemVkIH0gPSBmaW5kTG9jYWxpemF0aW9uKHJlc291cmNlTmFtZXMsIGtleXMpO1xyXG4gICAgcmV0dXJuIGxvY2FsaXplZCB8fCBkZWZhdWx0VmFsdWU7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxvY2FsaXphdGlvblBpcGVLZXlHZW5lcmF0b3IoXHJcbiAgbG9jYWxpemF0aW9uOiBBcHBsaWNhdGlvbkxvY2FsaXphdGlvbkNvbmZpZ3VyYXRpb25EdG8sXHJcbikge1xyXG4gIGNvbnN0IGZpbmRMb2NhbGl6YXRpb24gPSBjcmVhdGVMb2NhbGl6YXRpb25GaW5kZXIobG9jYWxpemF0aW9uKTtcclxuXHJcbiAgcmV0dXJuIChyZXNvdXJjZU5hbWVzOiBzdHJpbmdbXSwga2V5czogc3RyaW5nW10sIGRlZmF1bHRLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4ge1xyXG4gICAgY29uc3QgeyByZXNvdXJjZU5hbWUsIGtleSB9ID0gZmluZExvY2FsaXphdGlvbihyZXNvdXJjZU5hbWVzLCBrZXlzKTtcclxuICAgIHJldHVybiAhcmVzb3VyY2VOYW1lID8gZGVmYXVsdEtleSA6IHJlc291cmNlTmFtZSA9PT0gJ18nID8ga2V5IDogYCR7cmVzb3VyY2VOYW1lfTo6JHtrZXl9YDtcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVMb2NhbGl6YXRpb25GaW5kZXIobG9jYWxpemF0aW9uOiBBcHBsaWNhdGlvbkxvY2FsaXphdGlvbkNvbmZpZ3VyYXRpb25EdG8pIHtcclxuICBjb25zdCBsb2NhbGl6ZSA9IGNyZWF0ZUxvY2FsaXplcihsb2NhbGl6YXRpb24pO1xyXG5cclxuICByZXR1cm4gKHJlc291cmNlTmFtZXM6IHN0cmluZ1tdLCBrZXlzOiBzdHJpbmdbXSkgPT4ge1xyXG4gICAgcmVzb3VyY2VOYW1lcyA9IHJlc291cmNlTmFtZXMuY29uY2F0KGxvY2FsaXphdGlvbi5kZWZhdWx0UmVzb3VyY2VOYW1lIHx8ICcnKS5maWx0ZXIoQm9vbGVhbik7XHJcblxyXG4gICAgY29uc3QgcmVzb3VyY2VDb3VudCA9IHJlc291cmNlTmFtZXMubGVuZ3RoO1xyXG4gICAgY29uc3Qga2V5Q291bnQgPSBrZXlzLmxlbmd0aDtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc291cmNlQ291bnQ7IGkrKykge1xyXG4gICAgICBjb25zdCByZXNvdXJjZU5hbWUgPSByZXNvdXJjZU5hbWVzW2ldO1xyXG5cclxuICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBrZXlDb3VudDsgaisrKSB7XHJcbiAgICAgICAgY29uc3Qga2V5ID0ga2V5c1tqXTtcclxuICAgICAgICBjb25zdCBsb2NhbGl6ZWQgPSBsb2NhbGl6ZShyZXNvdXJjZU5hbWUsIGtleSwgbnVsbCk7XHJcbiAgICAgICAgaWYgKGxvY2FsaXplZCkgcmV0dXJuIHsgcmVzb3VyY2VOYW1lLCBrZXksIGxvY2FsaXplZCB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHsgcmVzb3VyY2VOYW1lOiB1bmRlZmluZWQsIGtleTogdW5kZWZpbmVkLCBsb2NhbGl6ZWQ6IHVuZGVmaW5lZCB9O1xyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import clone from 'just-clone';
|
|
2
|
-
import { EnvironmentService } from '../services/environment.service';
|
|
3
|
-
import { MultiTenancyService } from '../services/multi-tenancy.service';
|
|
4
|
-
import { createTokenParser } from './string-utils';
|
|
5
|
-
import { firstValueFrom } from 'rxjs';
|
|
6
|
-
import { TENANT_NOT_FOUND_BY_NAME } from '../tokens/tenant-not-found-by-name';
|
|
7
|
-
import { HttpErrorResponse } from '@angular/common/http';
|
|
8
|
-
const tenancyPlaceholder = '{0}';
|
|
9
|
-
function getCurrentTenancyName(appBaseUrl) {
|
|
10
|
-
if (appBaseUrl.charAt(appBaseUrl.length - 1) !== '/')
|
|
11
|
-
appBaseUrl += '/';
|
|
12
|
-
const parseTokens = createTokenParser(appBaseUrl);
|
|
13
|
-
const token = tenancyPlaceholder.replace(/[}{]/g, '');
|
|
14
|
-
return parseTokens(window.location.href)[token]?.[0];
|
|
15
|
-
}
|
|
16
|
-
function getCurrentTenancyNameFromUrl(tenantKey) {
|
|
17
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
18
|
-
return urlParams.get(tenantKey);
|
|
19
|
-
}
|
|
20
|
-
export async function parseTenantFromUrl(injector) {
|
|
21
|
-
const environmentService = injector.get(EnvironmentService);
|
|
22
|
-
const multiTenancyService = injector.get(MultiTenancyService);
|
|
23
|
-
const tenantNotFoundHandler = injector.get(TENANT_NOT_FOUND_BY_NAME, null);
|
|
24
|
-
const baseUrl = environmentService.getEnvironment()?.application?.baseUrl || '';
|
|
25
|
-
const tenancyName = getCurrentTenancyName(baseUrl);
|
|
26
|
-
const hideTenantBox = () => {
|
|
27
|
-
multiTenancyService.isTenantBoxVisible = false;
|
|
28
|
-
};
|
|
29
|
-
const setDomainTenant = (tenant) => {
|
|
30
|
-
multiTenancyService.domainTenant = {
|
|
31
|
-
id: tenant.tenantId,
|
|
32
|
-
name: tenant.name,
|
|
33
|
-
isAvailable: true,
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
const setEnvironmentWithDomainTenant = (tenant) => {
|
|
37
|
-
hideTenantBox();
|
|
38
|
-
setDomainTenant(tenant);
|
|
39
|
-
};
|
|
40
|
-
if (tenancyName) {
|
|
41
|
-
/**
|
|
42
|
-
* We have to replace tenant name within the urls from environment,
|
|
43
|
-
* because the code below will make a http request to find information about the domain tenant.
|
|
44
|
-
* Before this request takes place, we need to replace placeholders aka "{0}".
|
|
45
|
-
*/
|
|
46
|
-
replaceTenantNameWithinEnvironment(injector, tenancyName);
|
|
47
|
-
const tenant$ = multiTenancyService.setTenantByName(tenancyName);
|
|
48
|
-
try {
|
|
49
|
-
const result = await firstValueFrom(tenant$);
|
|
50
|
-
setEnvironmentWithDomainTenant(result);
|
|
51
|
-
return Promise.resolve(result);
|
|
52
|
-
}
|
|
53
|
-
catch (httpError) {
|
|
54
|
-
if (httpError instanceof HttpErrorResponse &&
|
|
55
|
-
httpError.status === 404 &&
|
|
56
|
-
tenantNotFoundHandler) {
|
|
57
|
-
tenantNotFoundHandler(httpError);
|
|
58
|
-
}
|
|
59
|
-
return Promise.reject();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* If there is no tenant, we still have to clean up {0}. from baseUrl to avoid incorrect http requests.
|
|
64
|
-
*/
|
|
65
|
-
replaceTenantNameWithinEnvironment(injector, '', tenancyPlaceholder + '.');
|
|
66
|
-
const tenantIdFromQueryParams = getCurrentTenancyNameFromUrl(multiTenancyService.tenantKey);
|
|
67
|
-
if (tenantIdFromQueryParams) {
|
|
68
|
-
const tenantById$ = multiTenancyService.setTenantById(tenantIdFromQueryParams);
|
|
69
|
-
return firstValueFrom(tenantById$);
|
|
70
|
-
}
|
|
71
|
-
return Promise.resolve();
|
|
72
|
-
}
|
|
73
|
-
function replaceTenantNameWithinEnvironment(injector, tenancyName, placeholder = tenancyPlaceholder) {
|
|
74
|
-
const environmentService = injector.get(EnvironmentService);
|
|
75
|
-
const environment = clone(environmentService.getEnvironment());
|
|
76
|
-
if (environment.application.baseUrl) {
|
|
77
|
-
environment.application.baseUrl = environment.application.baseUrl.replace(placeholder, tenancyName);
|
|
78
|
-
}
|
|
79
|
-
if (environment.oAuthConfig?.redirectUri) {
|
|
80
|
-
environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(placeholder, tenancyName);
|
|
81
|
-
}
|
|
82
|
-
if (!environment.oAuthConfig) {
|
|
83
|
-
environment.oAuthConfig = {};
|
|
84
|
-
}
|
|
85
|
-
environment.oAuthConfig.issuer = (environment.oAuthConfig.issuer || '').replace(placeholder, tenancyName);
|
|
86
|
-
Object.keys(environment.apis).forEach(api => {
|
|
87
|
-
Object.keys(environment.apis[api]).forEach(key => {
|
|
88
|
-
environment.apis[api][key] = (environment.apis[api][key] || '').replace(placeholder, tenancyName);
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
return environmentService.setState(environment);
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktdGVuYW5jeS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9tdWx0aS10ZW5hbmN5LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUkvQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0FBRWpDLFNBQVMscUJBQXFCLENBQUMsVUFBa0I7SUFDL0MsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRztRQUFFLFVBQVUsSUFBSSxHQUFHLENBQUM7SUFFeEUsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEQsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELFNBQVMsNEJBQTRCLENBQUMsU0FBaUI7SUFDckQsTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5RCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsa0JBQWtCLENBQUMsUUFBa0I7SUFDekQsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDNUQsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDOUQsTUFBTSxxQkFBcUIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTNFLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hGLE1BQU0sV0FBVyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRW5ELE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtRQUN6QixtQkFBbUIsQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDakQsQ0FBQyxDQUFDO0lBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUEyQixFQUFFLEVBQUU7UUFDdEQsbUJBQW1CLENBQUMsWUFBWSxHQUFHO1lBQ2pDLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGLE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxNQUEyQixFQUFFLEVBQUU7UUFDckUsYUFBYSxFQUFFLENBQUM7UUFDaEIsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUMsQ0FBQztJQUVGLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEI7Ozs7V0FJRztRQUNILGtDQUFrQyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUUxRCxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0MsOEJBQThCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFBQyxPQUFPLFNBQWtDLEVBQUUsQ0FBQztZQUM1QyxJQUNFLFNBQVMsWUFBWSxpQkFBaUI7Z0JBQ3RDLFNBQVMsQ0FBQyxNQUFNLEtBQUssR0FBRztnQkFDeEIscUJBQXFCLEVBQ3JCLENBQUM7Z0JBQ0QscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBRTNFLE1BQU0sdUJBQXVCLEdBQUcsNEJBQTRCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUYsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQzVCLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUMzQixDQUFDO0FBRUQsU0FBUyxrQ0FBa0MsQ0FDekMsUUFBa0IsRUFDbEIsV0FBbUIsRUFDbkIsV0FBVyxHQUFHLGtCQUFrQjtJQUVoQyxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUU1RCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLENBQWdCLENBQUM7SUFFOUUsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDdkUsV0FBVyxFQUNYLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN6QyxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQy9FLFdBQVcsRUFDWCxXQUFXLENBQ1osQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLFdBQVcsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FDN0UsV0FBVyxFQUNYLFdBQVcsQ0FDWixDQUFDO0lBRUYsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMvQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQ3JFLFdBQVcsRUFDWCxXQUFXLENBQ1osQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGNsb25lIGZyb20gJ2p1c3QtY2xvbmUnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL21vZGVscy9lbnZpcm9ubWVudCc7XHJcblxyXG5pbXBvcnQgeyBGaW5kVGVuYW50UmVzdWx0RHRvIH0gZnJvbSAnLi4vcHJveHkvdm9sby9hYnAvYXNwLW5ldC1jb3JlL212Yy9tdWx0aS10ZW5hbmN5L21vZGVscyc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNdWx0aVRlbmFuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbXVsdGktdGVuYW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY3JlYXRlVG9rZW5QYXJzZXIgfSBmcm9tICcuL3N0cmluZy11dGlscyc7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRFTkFOVF9OT1RfRk9VTkRfQllfTkFNRSB9IGZyb20gJy4uL3Rva2Vucy90ZW5hbnQtbm90LWZvdW5kLWJ5LW5hbWUnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmNvbnN0IHRlbmFuY3lQbGFjZWhvbGRlciA9ICd7MH0nO1xyXG5cclxuZnVuY3Rpb24gZ2V0Q3VycmVudFRlbmFuY3lOYW1lKGFwcEJhc2VVcmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgaWYgKGFwcEJhc2VVcmwuY2hhckF0KGFwcEJhc2VVcmwubGVuZ3RoIC0gMSkgIT09ICcvJykgYXBwQmFzZVVybCArPSAnLyc7XHJcblxyXG4gIGNvbnN0IHBhcnNlVG9rZW5zID0gY3JlYXRlVG9rZW5QYXJzZXIoYXBwQmFzZVVybCk7XHJcbiAgY29uc3QgdG9rZW4gPSB0ZW5hbmN5UGxhY2Vob2xkZXIucmVwbGFjZSgvW317XS9nLCAnJyk7XHJcbiAgcmV0dXJuIHBhcnNlVG9rZW5zKHdpbmRvdy5sb2NhdGlvbi5ocmVmKVt0b2tlbl0/LlswXTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0Q3VycmVudFRlbmFuY3lOYW1lRnJvbVVybCh0ZW5hbnRLZXk6IHN0cmluZykge1xyXG4gIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XHJcbiAgcmV0dXJuIHVybFBhcmFtcy5nZXQodGVuYW50S2V5KTtcclxufVxyXG5cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBhcnNlVGVuYW50RnJvbVVybChpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICBjb25zdCBlbnZpcm9ubWVudFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoRW52aXJvbm1lbnRTZXJ2aWNlKTtcclxuICBjb25zdCBtdWx0aVRlbmFuY3lTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE11bHRpVGVuYW5jeVNlcnZpY2UpO1xyXG4gIGNvbnN0IHRlbmFudE5vdEZvdW5kSGFuZGxlciA9IGluamVjdG9yLmdldChURU5BTlRfTk9UX0ZPVU5EX0JZX05BTUUsIG51bGwpO1xyXG5cclxuICBjb25zdCBiYXNlVXJsID0gZW52aXJvbm1lbnRTZXJ2aWNlLmdldEVudmlyb25tZW50KCk/LmFwcGxpY2F0aW9uPy5iYXNlVXJsIHx8ICcnO1xyXG4gIGNvbnN0IHRlbmFuY3lOYW1lID0gZ2V0Q3VycmVudFRlbmFuY3lOYW1lKGJhc2VVcmwpO1xyXG5cclxuICBjb25zdCBoaWRlVGVuYW50Qm94ID0gKCkgPT4ge1xyXG4gICAgbXVsdGlUZW5hbmN5U2VydmljZS5pc1RlbmFudEJveFZpc2libGUgPSBmYWxzZTtcclxuICB9O1xyXG5cclxuICBjb25zdCBzZXREb21haW5UZW5hbnQgPSAodGVuYW50OiBGaW5kVGVuYW50UmVzdWx0RHRvKSA9PiB7XHJcbiAgICBtdWx0aVRlbmFuY3lTZXJ2aWNlLmRvbWFpblRlbmFudCA9IHtcclxuICAgICAgaWQ6IHRlbmFudC50ZW5hbnRJZCxcclxuICAgICAgbmFtZTogdGVuYW50Lm5hbWUsXHJcbiAgICAgIGlzQXZhaWxhYmxlOiB0cnVlLFxyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBjb25zdCBzZXRFbnZpcm9ubWVudFdpdGhEb21haW5UZW5hbnQgPSAodGVuYW50OiBGaW5kVGVuYW50UmVzdWx0RHRvKSA9PiB7XHJcbiAgICBoaWRlVGVuYW50Qm94KCk7XHJcbiAgICBzZXREb21haW5UZW5hbnQodGVuYW50KTtcclxuICB9O1xyXG5cclxuICBpZiAodGVuYW5jeU5hbWUpIHtcclxuICAgIC8qKlxyXG4gICAgICogV2UgaGF2ZSB0byByZXBsYWNlIHRlbmFudCBuYW1lIHdpdGhpbiB0aGUgdXJscyBmcm9tIGVudmlyb25tZW50LFxyXG4gICAgICogYmVjYXVzZSB0aGUgY29kZSBiZWxvdyB3aWxsIG1ha2UgYSBodHRwIHJlcXVlc3QgdG8gZmluZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZG9tYWluIHRlbmFudC5cclxuICAgICAqIEJlZm9yZSB0aGlzIHJlcXVlc3QgdGFrZXMgcGxhY2UsIHdlIG5lZWQgdG8gcmVwbGFjZSBwbGFjZWhvbGRlcnMgYWthIFwiezB9XCIuXHJcbiAgICAgKi9cclxuICAgIHJlcGxhY2VUZW5hbnROYW1lV2l0aGluRW52aXJvbm1lbnQoaW5qZWN0b3IsIHRlbmFuY3lOYW1lKTtcclxuXHJcbiAgICBjb25zdCB0ZW5hbnQkID0gbXVsdGlUZW5hbmN5U2VydmljZS5zZXRUZW5hbnRCeU5hbWUodGVuYW5jeU5hbWUpO1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGVuYW50JCk7XHJcbiAgICAgIHNldEVudmlyb25tZW50V2l0aERvbWFpblRlbmFudChyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7XHJcbiAgICB9IGNhdGNoIChodHRwRXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBodHRwRXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJlxyXG4gICAgICAgIGh0dHBFcnJvci5zdGF0dXMgPT09IDQwNCAmJlxyXG4gICAgICAgIHRlbmFudE5vdEZvdW5kSGFuZGxlclxyXG4gICAgICApIHtcclxuICAgICAgICB0ZW5hbnROb3RGb3VuZEhhbmRsZXIoaHR0cEVycm9yKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogSWYgdGhlcmUgaXMgbm8gdGVuYW50LCB3ZSBzdGlsbCBoYXZlIHRvIGNsZWFuIHVwIHswfS4gZnJvbSBiYXNlVXJsIHRvIGF2b2lkIGluY29ycmVjdCBodHRwIHJlcXVlc3RzLlxyXG4gICAqL1xyXG4gIHJlcGxhY2VUZW5hbnROYW1lV2l0aGluRW52aXJvbm1lbnQoaW5qZWN0b3IsICcnLCB0ZW5hbmN5UGxhY2Vob2xkZXIgKyAnLicpO1xyXG5cclxuICBjb25zdCB0ZW5hbnRJZEZyb21RdWVyeVBhcmFtcyA9IGdldEN1cnJlbnRUZW5hbmN5TmFtZUZyb21VcmwobXVsdGlUZW5hbmN5U2VydmljZS50ZW5hbnRLZXkpO1xyXG4gIGlmICh0ZW5hbnRJZEZyb21RdWVyeVBhcmFtcykge1xyXG4gICAgY29uc3QgdGVuYW50QnlJZCQgPSBtdWx0aVRlbmFuY3lTZXJ2aWNlLnNldFRlbmFudEJ5SWQodGVuYW50SWRGcm9tUXVlcnlQYXJhbXMpO1xyXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRlbmFudEJ5SWQkKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxufVxyXG5cclxuZnVuY3Rpb24gcmVwbGFjZVRlbmFudE5hbWVXaXRoaW5FbnZpcm9ubWVudChcclxuICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgdGVuYW5jeU5hbWU6IHN0cmluZyxcclxuICBwbGFjZWhvbGRlciA9IHRlbmFuY3lQbGFjZWhvbGRlcixcclxuKSB7XHJcbiAgY29uc3QgZW52aXJvbm1lbnRTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEVudmlyb25tZW50U2VydmljZSk7XHJcblxyXG4gIGNvbnN0IGVudmlyb25tZW50ID0gY2xvbmUoZW52aXJvbm1lbnRTZXJ2aWNlLmdldEVudmlyb25tZW50KCkpIGFzIEVudmlyb25tZW50O1xyXG5cclxuICBpZiAoZW52aXJvbm1lbnQuYXBwbGljYXRpb24uYmFzZVVybCkge1xyXG4gICAgZW52aXJvbm1lbnQuYXBwbGljYXRpb24uYmFzZVVybCA9IGVudmlyb25tZW50LmFwcGxpY2F0aW9uLmJhc2VVcmwucmVwbGFjZShcclxuICAgICAgcGxhY2Vob2xkZXIsXHJcbiAgICAgIHRlbmFuY3lOYW1lLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlmIChlbnZpcm9ubWVudC5vQXV0aENvbmZpZz8ucmVkaXJlY3RVcmkpIHtcclxuICAgIGVudmlyb25tZW50Lm9BdXRoQ29uZmlnLnJlZGlyZWN0VXJpID0gZW52aXJvbm1lbnQub0F1dGhDb25maWcucmVkaXJlY3RVcmkucmVwbGFjZShcclxuICAgICAgcGxhY2Vob2xkZXIsXHJcbiAgICAgIHRlbmFuY3lOYW1lLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlmICghZW52aXJvbm1lbnQub0F1dGhDb25maWcpIHtcclxuICAgIGVudmlyb25tZW50Lm9BdXRoQ29uZmlnID0ge307XHJcbiAgfVxyXG4gIGVudmlyb25tZW50Lm9BdXRoQ29uZmlnLmlzc3VlciA9IChlbnZpcm9ubWVudC5vQXV0aENvbmZpZy5pc3N1ZXIgfHwgJycpLnJlcGxhY2UoXHJcbiAgICBwbGFjZWhvbGRlcixcclxuICAgIHRlbmFuY3lOYW1lLFxyXG4gICk7XHJcblxyXG4gIE9iamVjdC5rZXlzKGVudmlyb25tZW50LmFwaXMpLmZvckVhY2goYXBpID0+IHtcclxuICAgIE9iamVjdC5rZXlzKGVudmlyb25tZW50LmFwaXNbYXBpXSkuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICBlbnZpcm9ubWVudC5hcGlzW2FwaV1ba2V5XSA9IChlbnZpcm9ubWVudC5hcGlzW2FwaV1ba2V5XSB8fCAnJykucmVwbGFjZShcclxuICAgICAgICBwbGFjZWhvbGRlcixcclxuICAgICAgICB0ZW5hbmN5TmFtZSxcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gZW52aXJvbm1lbnRTZXJ2aWNlLnNldFN0YXRlKGVudmlyb25tZW50KTtcclxufVxyXG4iXX0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export function isNumber(value) {
|
|
2
|
-
return value == Number(value);
|
|
3
|
-
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL251bWJlci11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQXNCO0lBQzdDLE9BQU8sS0FBSyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBib29sZWFuIHtcclxuICByZXR1cm4gdmFsdWUgPT0gTnVtYmVyKHZhbHVlKTtcclxufVxyXG4iXX0=
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { exists, isArray, isNode, isNullOrUndefined, isObject, isObjectAndNotArrayNotNode, } from './common-utils';
|
|
2
|
-
export function deepMerge(target, source) {
|
|
3
|
-
if (isObjectAndNotArrayNotNode(target) && isObjectAndNotArrayNotNode(source)) {
|
|
4
|
-
return deepMergeRecursively(target, source);
|
|
5
|
-
}
|
|
6
|
-
else if (isNullOrUndefined(target) && isNullOrUndefined(source)) {
|
|
7
|
-
return {};
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
return exists(source) ? source : target;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
function deepMergeRecursively(target, source) {
|
|
14
|
-
const shouldNotRecurse = isNullOrUndefined(target) ||
|
|
15
|
-
isNullOrUndefined(source) || // at least one not defined
|
|
16
|
-
isArray(target) ||
|
|
17
|
-
isArray(source) || // at least one array
|
|
18
|
-
!isObject(target) ||
|
|
19
|
-
!isObject(source) || // at least one not an object
|
|
20
|
-
isNode(target) ||
|
|
21
|
-
isNode(source); // at least one node
|
|
22
|
-
/**
|
|
23
|
-
* if we will not recurse any further,
|
|
24
|
-
* we will prioritize source if it is a defined value.
|
|
25
|
-
*/
|
|
26
|
-
if (shouldNotRecurse) {
|
|
27
|
-
return exists(source) ? source : target;
|
|
28
|
-
}
|
|
29
|
-
const keysOfTarget = Object.keys(target);
|
|
30
|
-
const keysOfSource = Object.keys(source);
|
|
31
|
-
const uniqueKeys = new Set(keysOfTarget.concat(keysOfSource));
|
|
32
|
-
return [...uniqueKeys].reduce((retVal, key) => {
|
|
33
|
-
retVal[key] = deepMergeRecursively(target[key], source[key]);
|
|
34
|
-
return retVal;
|
|
35
|
-
}, {});
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL29iamVjdC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLE9BQU8sRUFDUCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFFBQVEsRUFDUiwwQkFBMEIsR0FDM0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixNQUFNLFVBQVUsU0FBUyxDQUN2QixNQUEwQixFQUMxQixNQUEwQjtJQUUxQixJQUFJLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxJQUFJLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDN0UsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQztTQUFNLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNsRSxPQUFPLEVBQU8sQ0FBQztJQUNqQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBRSxNQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQzNCLE1BQTBCLEVBQzFCLE1BQTBCO0lBRTFCLE1BQU0sZ0JBQWdCLEdBQ3BCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztRQUN6QixpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSwyQkFBMkI7UUFDeEQsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUNmLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxxQkFBcUI7UUFDeEMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ2pCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLDZCQUE2QjtRQUNsRCxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ2QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsb0JBQW9CO0lBRXRDOzs7T0FHRztJQUNILElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUUsTUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDakQsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBZ0MsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBZ0MsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUM5RCxPQUFPLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDM0MsTUFBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLG9CQUFvQixDQUN4QyxNQUFpQyxDQUFDLEdBQUcsQ0FBQyxFQUN0QyxNQUFpQyxDQUFDLEdBQUcsQ0FBQyxDQUN4QyxDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxFQUFFLEVBQU8sQ0FBQyxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgZXhpc3RzLFxyXG4gIGlzQXJyYXksXHJcbiAgaXNOb2RlLFxyXG4gIGlzTnVsbE9yVW5kZWZpbmVkLFxyXG4gIGlzT2JqZWN0LFxyXG4gIGlzT2JqZWN0QW5kTm90QXJyYXlOb3ROb2RlLFxyXG59IGZyb20gJy4vY29tbW9uLXV0aWxzJztcclxuaW1wb3J0IHsgRGVlcFBhcnRpYWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBNZXJnZTxUPihcclxuICB0YXJnZXQ6IERlZXBQYXJ0aWFsPFQ+IHwgVCxcclxuICBzb3VyY2U6IERlZXBQYXJ0aWFsPFQ+IHwgVCxcclxuKTogRGVlcFBhcnRpYWw8VD4gfCBUIHtcclxuICBpZiAoaXNPYmplY3RBbmROb3RBcnJheU5vdE5vZGUodGFyZ2V0KSAmJiBpc09iamVjdEFuZE5vdEFycmF5Tm90Tm9kZShzb3VyY2UpKSB7XHJcbiAgICByZXR1cm4gZGVlcE1lcmdlUmVjdXJzaXZlbHkodGFyZ2V0LCBzb3VyY2UpO1xyXG4gIH0gZWxzZSBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGFyZ2V0KSAmJiBpc051bGxPclVuZGVmaW5lZChzb3VyY2UpKSB7XHJcbiAgICByZXR1cm4ge30gYXMgVDtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIGV4aXN0cyhzb3VyY2UpID8gKHNvdXJjZSBhcyBUKSA6IHRhcmdldDtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRlZXBNZXJnZVJlY3Vyc2l2ZWx5PFQ+KFxyXG4gIHRhcmdldDogRGVlcFBhcnRpYWw8VD4gfCBULFxyXG4gIHNvdXJjZTogRGVlcFBhcnRpYWw8VD4gfCBULFxyXG4pOiBEZWVwUGFydGlhbDxUPiB8IFQge1xyXG4gIGNvbnN0IHNob3VsZE5vdFJlY3Vyc2UgPVxyXG4gICAgaXNOdWxsT3JVbmRlZmluZWQodGFyZ2V0KSB8fFxyXG4gICAgaXNOdWxsT3JVbmRlZmluZWQoc291cmNlKSB8fCAvLyBhdCBsZWFzdCBvbmUgbm90IGRlZmluZWRcclxuICAgIGlzQXJyYXkodGFyZ2V0KSB8fFxyXG4gICAgaXNBcnJheShzb3VyY2UpIHx8IC8vIGF0IGxlYXN0IG9uZSBhcnJheVxyXG4gICAgIWlzT2JqZWN0KHRhcmdldCkgfHxcclxuICAgICFpc09iamVjdChzb3VyY2UpIHx8IC8vIGF0IGxlYXN0IG9uZSBub3QgYW4gb2JqZWN0XHJcbiAgICBpc05vZGUodGFyZ2V0KSB8fFxyXG4gICAgaXNOb2RlKHNvdXJjZSk7IC8vIGF0IGxlYXN0IG9uZSBub2RlXHJcblxyXG4gIC8qKlxyXG4gICAqIGlmIHdlIHdpbGwgbm90IHJlY3Vyc2UgYW55IGZ1cnRoZXIsXHJcbiAgICogd2Ugd2lsbCBwcmlvcml0aXplIHNvdXJjZSBpZiBpdCBpcyBhIGRlZmluZWQgdmFsdWUuXHJcbiAgICovXHJcbiAgaWYgKHNob3VsZE5vdFJlY3Vyc2UpIHtcclxuICAgIHJldHVybiBleGlzdHMoc291cmNlKSA/IChzb3VyY2UgYXMgVCkgOiB0YXJnZXQ7XHJcbiAgfVxyXG5cclxuICBjb25zdCBrZXlzT2ZUYXJnZXQgPSBPYmplY3Qua2V5cyh0YXJnZXQgYXMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSk7XHJcbiAgY29uc3Qga2V5c09mU291cmNlID0gT2JqZWN0LmtleXMoc291cmNlIGFzIHsgW2tleTogc3RyaW5nXTogYW55IH0pO1xyXG4gIGNvbnN0IHVuaXF1ZUtleXMgPSBuZXcgU2V0KGtleXNPZlRhcmdldC5jb25jYXQoa2V5c09mU291cmNlKSk7XHJcbiAgcmV0dXJuIFsuLi51bmlxdWVLZXlzXS5yZWR1Y2UoKHJldFZhbCwga2V5KSA9PiB7XHJcbiAgICAocmV0VmFsIGFzIGFueSlba2V5XSA9IGRlZXBNZXJnZVJlY3Vyc2l2ZWx5KFxyXG4gICAgICAodGFyZ2V0IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH0pW2tleV0sXHJcbiAgICAgIChzb3VyY2UgYXMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSlba2V5XSxcclxuICAgICk7XHJcbiAgICByZXR1cm4gcmV0VmFsO1xyXG4gIH0sIHt9IGFzIFQpO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export class DefaultQueueManager {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.queue = [];
|
|
4
|
-
this.isRunning = false;
|
|
5
|
-
this.stack = 0;
|
|
6
|
-
this.interval = 0;
|
|
7
|
-
this.stackSize = 100;
|
|
8
|
-
}
|
|
9
|
-
init(interval, stackSize) {
|
|
10
|
-
this.interval = interval;
|
|
11
|
-
this.stackSize = stackSize;
|
|
12
|
-
}
|
|
13
|
-
add(fn) {
|
|
14
|
-
this.queue.push(fn);
|
|
15
|
-
this.run();
|
|
16
|
-
}
|
|
17
|
-
run() {
|
|
18
|
-
if (this.isRunning)
|
|
19
|
-
return;
|
|
20
|
-
this.stack++;
|
|
21
|
-
this.isRunning = true;
|
|
22
|
-
const fn = this.queue.shift();
|
|
23
|
-
if (!fn) {
|
|
24
|
-
this.isRunning = false;
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
fn();
|
|
28
|
-
if (this.stack > this.stackSize) {
|
|
29
|
-
setTimeout(() => {
|
|
30
|
-
this.isRunning = false;
|
|
31
|
-
this.run();
|
|
32
|
-
this.stack = 0;
|
|
33
|
-
}, this.interval);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
this.isRunning = false;
|
|
37
|
-
this.run();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvcXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQUNVLFVBQUssR0FBc0IsRUFBRSxDQUFDO1FBQzlCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixjQUFTLEdBQUcsR0FBRyxDQUFDO0lBcUMxQixDQUFDO0lBbkNRLElBQUksQ0FBQyxRQUFnQixFQUFFLFNBQWlCO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFTSxHQUFHLENBQUMsRUFBYztRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDYixDQUFDO0lBRU8sR0FBRztRQUNULElBQUksSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUViLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFOUIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFFRCxFQUFFLEVBQUUsQ0FBQztRQUNMLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDaEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDYixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBRdWV1ZU1hbmFnZXIge1xyXG4gIGFkZChmbjogKCkgPT4gdm9pZCk6IHZvaWQ7XHJcbiAgaW5pdChpbnRlcnZhbDogbnVtYmVyLCBzdGFja1NpemU6IG51bWJlcik6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0UXVldWVNYW5hZ2VyIGltcGxlbWVudHMgUXVldWVNYW5hZ2VyIHtcclxuICBwcml2YXRlIHF1ZXVlOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xyXG4gIHByaXZhdGUgaXNSdW5uaW5nID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBzdGFjayA9IDA7XHJcbiAgcHJpdmF0ZSBpbnRlcnZhbCA9IDA7XHJcbiAgcHJpdmF0ZSBzdGFja1NpemUgPSAxMDA7XHJcblxyXG4gIHB1YmxpYyBpbml0KGludGVydmFsOiBudW1iZXIsIHN0YWNrU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmludGVydmFsID0gaW50ZXJ2YWw7XHJcbiAgICB0aGlzLnN0YWNrU2l6ZSA9IHN0YWNrU2l6ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGQoZm46ICgpID0+IHZvaWQpIHtcclxuICAgIHRoaXMucXVldWUucHVzaChmbik7XHJcbiAgICB0aGlzLnJ1bigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBydW4oKSB7XHJcbiAgICBpZiAodGhpcy5pc1J1bm5pbmcpIHJldHVybjtcclxuICAgIHRoaXMuc3RhY2srKztcclxuXHJcbiAgICB0aGlzLmlzUnVubmluZyA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgZm4gPSB0aGlzLnF1ZXVlLnNoaWZ0KCk7XHJcblxyXG4gICAgaWYgKCFmbikge1xyXG4gICAgICB0aGlzLmlzUnVubmluZyA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgZm4oKTtcclxuICAgIGlmICh0aGlzLnN0YWNrID4gdGhpcy5zdGFja1NpemUpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1J1bm5pbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJ1bigpO1xyXG4gICAgICAgIHRoaXMuc3RhY2sgPSAwO1xyXG4gICAgICB9LCB0aGlzLmludGVydmFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNSdW5uaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucnVuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { PRIMARY_OUTLET } from "@angular/router";
|
|
2
|
-
import { noop } from './common-utils';
|
|
3
|
-
export function findRoute(routesService, path) {
|
|
4
|
-
const node = routesService.find(route => route.path === path);
|
|
5
|
-
return node || path === '/'
|
|
6
|
-
? node
|
|
7
|
-
: findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');
|
|
8
|
-
}
|
|
9
|
-
export function getRoutePath(router, url = router.url) {
|
|
10
|
-
const emptyGroup = { segments: [] };
|
|
11
|
-
const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];
|
|
12
|
-
return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');
|
|
13
|
-
}
|
|
14
|
-
export function reloadRoute(router, ngZone) {
|
|
15
|
-
const { shouldReuseRoute } = router.routeReuseStrategy;
|
|
16
|
-
const setRouteReuse = (reuse) => {
|
|
17
|
-
router.routeReuseStrategy.shouldReuseRoute = reuse;
|
|
18
|
-
};
|
|
19
|
-
setRouteReuse(() => false);
|
|
20
|
-
router.navigated = false;
|
|
21
|
-
ngZone.run(async () => {
|
|
22
|
-
await router.navigateByUrl(router.url).catch(noop);
|
|
23
|
-
setRouteReuse(shouldReuseRoute);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvcm91dGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBdUMsTUFBTSxpQkFBaUIsQ0FBQztBQUd0RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEMsTUFBTSxVQUFVLFNBQVMsQ0FBQyxhQUE0QixFQUFFLElBQVk7SUFDbEUsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7SUFFOUQsT0FBTyxJQUFJLElBQUksSUFBSSxLQUFLLEdBQUc7UUFDekIsQ0FBQyxDQUFDLElBQUk7UUFDTixDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBYyxFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRztJQUMzRCxNQUFNLFVBQVUsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFrQixFQUFxQixDQUFDO0lBQ3ZFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV4RSxPQUFPLEdBQUcsR0FBRyxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE1BQWMsRUFBRSxNQUFjO0lBQ3hELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUN2RCxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQThCLEVBQUUsRUFBRTtRQUN2RCxNQUFNLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3JELENBQUMsQ0FBQztJQUVGLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixNQUFNLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUV6QixNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ3BCLE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQUklNQVJZX09VVExFVCwgUm91dGVyLCBVcmxTZWdtZW50LCBVcmxTZWdtZW50R3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscy9jb21tb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcm91dGVzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi9jb21tb24tdXRpbHMnO1xyXG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4vdHJlZS11dGlscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZmluZFJvdXRlKHJvdXRlc1NlcnZpY2U6IFJvdXRlc1NlcnZpY2UsIHBhdGg6IHN0cmluZyk6IFRyZWVOb2RlPEFCUC5Sb3V0ZT4gfCBudWxsIHtcclxuICBjb25zdCBub2RlID0gcm91dGVzU2VydmljZS5maW5kKHJvdXRlID0+IHJvdXRlLnBhdGggPT09IHBhdGgpO1xyXG5cclxuICByZXR1cm4gbm9kZSB8fCBwYXRoID09PSAnLydcclxuICAgID8gbm9kZVxyXG4gICAgOiBmaW5kUm91dGUocm91dGVzU2VydmljZSwgcGF0aC5zcGxpdCgnLycpLnNsaWNlKDAsIC0xKS5qb2luKCcvJykgfHwgJy8nKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlUGF0aChyb3V0ZXI6IFJvdXRlciwgdXJsID0gcm91dGVyLnVybCkge1xyXG4gIGNvbnN0IGVtcHR5R3JvdXAgPSB7IHNlZ21lbnRzOiBbXSBhcyBVcmxTZWdtZW50W10gfSBhcyBVcmxTZWdtZW50R3JvdXA7XHJcbiAgY29uc3QgcHJpbWFyeUdyb3VwID0gcm91dGVyLnBhcnNlVXJsKHVybCkucm9vdC5jaGlsZHJlbltQUklNQVJZX09VVExFVF07XHJcblxyXG4gIHJldHVybiAnLycgKyAocHJpbWFyeUdyb3VwIHx8IGVtcHR5R3JvdXApLnNlZ21lbnRzLm1hcCgoeyBwYXRoIH0pID0+IHBhdGgpLmpvaW4oJy8nKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbG9hZFJvdXRlKHJvdXRlcjogUm91dGVyLCBuZ1pvbmU6IE5nWm9uZSkge1xyXG4gIGNvbnN0IHsgc2hvdWxkUmV1c2VSb3V0ZSB9ID0gcm91dGVyLnJvdXRlUmV1c2VTdHJhdGVneTtcclxuICBjb25zdCBzZXRSb3V0ZVJldXNlID0gKHJldXNlOiB0eXBlb2Ygc2hvdWxkUmV1c2VSb3V0ZSkgPT4ge1xyXG4gICAgcm91dGVyLnJvdXRlUmV1c2VTdHJhdGVneS5zaG91bGRSZXVzZVJvdXRlID0gcmV1c2U7XHJcbiAgfTtcclxuXHJcbiAgc2V0Um91dGVSZXVzZSgoKSA9PiBmYWxzZSk7XHJcbiAgcm91dGVyLm5hdmlnYXRlZCA9IGZhbHNlO1xyXG5cclxuICBuZ1pvbmUucnVuKGFzeW5jICgpID0+IHtcclxuICAgIGF3YWl0IHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHJvdXRlci51cmwpLmNhdGNoKG5vb3ApO1xyXG4gICAgc2V0Um91dGVSZXVzZShzaG91bGRSZXVzZVJvdXRlKTtcclxuICB9KTtcclxufVxyXG4iXX0=
|
|
@@ -1,30 +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*\}\1/g, (_, quote, digit) => (quote ? quote : '') + (params[digit] ?? `{${digit}}`) + (quote ? quote : ''))
|
|
19
|
-
.replace(/\s+/g, ' ');
|
|
20
|
-
}
|
|
21
|
-
export function escapeHtmlChars(value) {
|
|
22
|
-
return value && typeof value === 'string'
|
|
23
|
-
? value
|
|
24
|
-
.replace(/&/g, '&')
|
|
25
|
-
.replace(/</g, '<')
|
|
26
|
-
.replace(/>/g, '>')
|
|
27
|
-
.replace(/"/g, '"')
|
|
28
|
-
: value;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL3N0cmluZy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxPQUFPLENBQUMsR0FBVyxFQUFFLEVBQUU7UUFDckIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMzRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUE4QixDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWSxFQUFFLE1BQWdCO0lBQ3pELE9BQU8sSUFBSTtTQUNQLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDeEQsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUM5RTtTQUNBLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBVTtJQUN4QyxPQUFPLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3ZDLENBQUMsQ0FBQyxLQUFLO2FBQ0YsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7YUFDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDckIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDckIsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7UUFDNUIsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY3JlYXRlVG9rZW5QYXJzZXIoZm9ybWF0OiBzdHJpbmcpIHtcclxuICByZXR1cm4gKHN0cjogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCB0b2tlbnM6IHN0cmluZ1tdID0gW107XHJcbiAgICBjb25zdCByZWdleCA9IGZvcm1hdC5yZXBsYWNlKC9cXC4vZywgJ1xcXFwuJykucmVwbGFjZSgvXFx7XFxzPyhbMC05YS16QS1aXSspXFxzP1xcfS9nLCAoXywgdG9rZW4pID0+IHtcclxuICAgICAgdG9rZW5zLnB1c2godG9rZW4pO1xyXG4gICAgICByZXR1cm4gJyguKyknO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgbWF0Y2hlcyA9IChzdHIubWF0Y2gocmVnZXgpIHx8IFtdKS5zbGljZSgxKTtcclxuXHJcbiAgICByZXR1cm4gbWF0Y2hlcy5yZWR1Y2UoKGFjYywgdiwgaSkgPT4ge1xyXG4gICAgICBjb25zdCBrZXkgPSB0b2tlbnNbaV07XHJcbiAgICAgIGFjY1trZXldID0gWy4uLihhY2Nba2V5XSB8fCBbXSksIHZdLmZpbHRlcihCb29sZWFuKTtcclxuICAgICAgcmV0dXJuIGFjYztcclxuICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPik7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGludGVycG9sYXRlKHRleHQ6IHN0cmluZywgcGFyYW1zOiBzdHJpbmdbXSkge1xyXG4gcmV0dXJuIHRleHRcclxuICAgIC5yZXBsYWNlKC8oWydcIl0pP1xce1xccyooXFxkKylcXHMqXFx9XFwxL2csIChfLCBxdW90ZSwgZGlnaXQpID0+IFxyXG4gICAgICAocXVvdGUgPyBxdW90ZSA6ICcnKSArIChwYXJhbXNbZGlnaXRdID8/IGB7JHtkaWdpdH19YCkgKyAocXVvdGUgPyBxdW90ZSA6ICcnKVxyXG4gICAgKVxyXG4gICAgLnJlcGxhY2UoL1xccysvZywgJyAnKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZUh0bWxDaGFycyh2YWx1ZTogYW55KSB7XHJcbiAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcclxuICAgID8gdmFsdWVcclxuICAgICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKVxyXG4gICAgICAgIC5yZXBsYWNlKC88L2csICcmbHQ7JylcclxuICAgICAgICAucmVwbGFjZSgvPi9nLCAnJmd0OycpXHJcbiAgICAgICAgLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKVxyXG4gICAgOiB2YWx1ZTtcclxufVxyXG4iXX0=
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { isArray } from './common-utils';
|
|
2
|
-
/* eslint-disable @typescript-eslint/ban-types */
|
|
3
|
-
export class BaseTreeNode {
|
|
4
|
-
constructor(props) {
|
|
5
|
-
this.children = [];
|
|
6
|
-
this.isLeaf = true;
|
|
7
|
-
Object.assign(this, props);
|
|
8
|
-
}
|
|
9
|
-
static create(props) {
|
|
10
|
-
return new BaseTreeNode(props);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export function createTreeFromList(list, keySelector, parentKeySelector, valueMapper) {
|
|
14
|
-
const map = createMapFromList(list, keySelector, valueMapper);
|
|
15
|
-
const tree = [];
|
|
16
|
-
list.forEach(row => {
|
|
17
|
-
const id = keySelector(row);
|
|
18
|
-
const parentId = parentKeySelector(row);
|
|
19
|
-
const node = map.get(id);
|
|
20
|
-
if (!node)
|
|
21
|
-
return;
|
|
22
|
-
if (parentId) {
|
|
23
|
-
const parent = map.get(parentId);
|
|
24
|
-
if (!parent)
|
|
25
|
-
return;
|
|
26
|
-
parent.children.push(node);
|
|
27
|
-
parent.isLeaf = false;
|
|
28
|
-
node.parent = parent;
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
tree.push(node);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
return tree;
|
|
35
|
-
}
|
|
36
|
-
export function createMapFromList(list, keySelector, valueMapper) {
|
|
37
|
-
const map = new Map();
|
|
38
|
-
list.forEach(row => map.set(keySelector(row), valueMapper(row)));
|
|
39
|
-
return map;
|
|
40
|
-
}
|
|
41
|
-
export function createTreeNodeFilterCreator(key, mapperFn) {
|
|
42
|
-
return (search) => {
|
|
43
|
-
const regex = new RegExp('.*' + search + '.*', 'i');
|
|
44
|
-
return function collectNodes(nodes, matches = []) {
|
|
45
|
-
for (const node of nodes) {
|
|
46
|
-
if (regex.test(mapperFn(node[key])))
|
|
47
|
-
matches.push(node);
|
|
48
|
-
if (node.children.length)
|
|
49
|
-
collectNodes(node.children, matches);
|
|
50
|
-
}
|
|
51
|
-
return matches;
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
export function createGroupMap(list, othersGroupKey) {
|
|
56
|
-
if (!isArray(list) || !list.some(node => Boolean(node.group)))
|
|
57
|
-
return undefined;
|
|
58
|
-
const mapGroup = new Map();
|
|
59
|
-
for (const node of list) {
|
|
60
|
-
const group = node?.group || othersGroupKey;
|
|
61
|
-
if (typeof group !== 'string') {
|
|
62
|
-
throw new Error(`Invalid group: ${group}`);
|
|
63
|
-
}
|
|
64
|
-
const items = mapGroup.get(group) || [];
|
|
65
|
-
items.push(node);
|
|
66
|
-
mapGroup.set(group, items);
|
|
67
|
-
}
|
|
68
|
-
return mapGroup;
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy90cmVlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxpREFBaUQ7QUFDakQsTUFBTSxPQUFPLFlBQVk7SUFLdkIsWUFBWSxLQUFRO1FBSnBCLGFBQVEsR0FBa0IsRUFBRSxDQUFDO1FBQzdCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFJWixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBbUIsS0FBUTtRQUN0QyxPQUFPLElBQUksWUFBWSxDQUFJLEtBQUssQ0FBZ0IsQ0FBQztJQUNuRCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLElBQVMsRUFDVCxXQUFpQyxFQUNqQyxpQkFBcUMsRUFDckMsV0FBMkI7SUFFM0IsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5RCxNQUFNLElBQUksR0FBdUMsRUFBRSxDQUFDO0lBRXBELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDakIsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRWxCLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDbkIsTUFBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsTUFBYyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsSUFBUyxFQUNULFdBQWlDLEVBQ2pDLFdBQTJCO0lBSTNCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7SUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxHQUFZLEVBQ1osUUFBZ0M7SUFFaEMsT0FBTyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXBELE9BQU8sU0FBUyxZQUFZLENBQUMsS0FBb0IsRUFBRSxVQUF5QixFQUFFO1lBQzVFLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFeEQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07b0JBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakUsQ0FBQztZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUM1QixJQUFtQixFQUNuQixjQUFzQjtJQUV0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUVoRixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztJQUVsRCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksRUFBRSxLQUFLLElBQUksY0FBYyxDQUFDO1FBQzVDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuL2NvbW1vbi11dGlscyc7XHJcblxyXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzICovXHJcbmV4cG9ydCBjbGFzcyBCYXNlVHJlZU5vZGU8VCBleHRlbmRzIG9iamVjdD4ge1xyXG4gIGNoaWxkcmVuOiBUcmVlTm9kZTxUPltdID0gW107XHJcbiAgaXNMZWFmID0gdHJ1ZTtcclxuICBwYXJlbnQ/OiBUcmVlTm9kZTxUPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHM6IFQpIHtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcywgcHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNyZWF0ZTxUIGV4dGVuZHMgb2JqZWN0Pihwcm9wczogVCkge1xyXG4gICAgcmV0dXJuIG5ldyBCYXNlVHJlZU5vZGU8VD4ocHJvcHMpIGFzIFRyZWVOb2RlPFQ+O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyZWVGcm9tTGlzdDxUIGV4dGVuZHMgb2JqZWN0LCBSPihcclxuICBsaXN0OiBUW10sXHJcbiAga2V5U2VsZWN0b3I6IChpdGVtOiBUKSA9PiBOb2RlS2V5LFxyXG4gIHBhcmVudEtleVNlbGVjdG9yOiB0eXBlb2Yga2V5U2VsZWN0b3IsXHJcbiAgdmFsdWVNYXBwZXI6IChpdGVtOiBUKSA9PiBSLFxyXG4pIHtcclxuICBjb25zdCBtYXAgPSBjcmVhdGVNYXBGcm9tTGlzdChsaXN0LCBrZXlTZWxlY3RvciwgdmFsdWVNYXBwZXIpO1xyXG4gIGNvbnN0IHRyZWU6IE5vZGVWYWx1ZTxULCB0eXBlb2YgdmFsdWVNYXBwZXI+W10gPSBbXTtcclxuXHJcbiAgbGlzdC5mb3JFYWNoKHJvdyA9PiB7XHJcbiAgICBjb25zdCBpZCA9IGtleVNlbGVjdG9yKHJvdyk7XHJcbiAgICBjb25zdCBwYXJlbnRJZCA9IHBhcmVudEtleVNlbGVjdG9yKHJvdyk7XHJcbiAgICBjb25zdCBub2RlID0gbWFwLmdldChpZCk7XHJcblxyXG4gICAgaWYgKCFub2RlKSByZXR1cm47XHJcblxyXG4gICAgaWYgKHBhcmVudElkKSB7XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IG1hcC5nZXQocGFyZW50SWQpO1xyXG4gICAgICBpZiAoIXBhcmVudCkgcmV0dXJuO1xyXG4gICAgICAocGFyZW50IGFzIGFueSkuY2hpbGRyZW4ucHVzaChub2RlKTtcclxuICAgICAgKHBhcmVudCBhcyBhbnkpLmlzTGVhZiA9IGZhbHNlO1xyXG4gICAgICAobm9kZSBhcyBhbnkpLnBhcmVudCA9IHBhcmVudDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyZWUucHVzaChub2RlKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIHRyZWU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNYXBGcm9tTGlzdDxUIGV4dGVuZHMgb2JqZWN0LCBSPihcclxuICBsaXN0OiBUW10sXHJcbiAga2V5U2VsZWN0b3I6IChpdGVtOiBUKSA9PiBOb2RlS2V5LFxyXG4gIHZhbHVlTWFwcGVyOiAoaXRlbTogVCkgPT4gUixcclxuKSB7XHJcbiAgdHlwZSBLZXkgPSBSZXR1cm5UeXBlPHR5cGVvZiBrZXlTZWxlY3Rvcj47XHJcbiAgdHlwZSBWYWx1ZSA9IE5vZGVWYWx1ZTxULCB0eXBlb2YgdmFsdWVNYXBwZXI+O1xyXG4gIGNvbnN0IG1hcCA9IG5ldyBNYXA8S2V5LCBWYWx1ZT4oKTtcclxuICBsaXN0LmZvckVhY2gocm93ID0+IG1hcC5zZXQoa2V5U2VsZWN0b3Iocm93KSwgdmFsdWVNYXBwZXIocm93KSkpO1xyXG4gIHJldHVybiBtYXA7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUcmVlTm9kZUZpbHRlckNyZWF0b3I8VCBleHRlbmRzIG9iamVjdD4oXHJcbiAga2V5OiBrZXlvZiBULFxyXG4gIG1hcHBlckZuOiAodmFsdWU6IGFueSkgPT4gc3RyaW5nLFxyXG4pIHtcclxuICByZXR1cm4gKHNlYXJjaDogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoJy4qJyArIHNlYXJjaCArICcuKicsICdpJyk7XHJcblxyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNvbGxlY3ROb2Rlcyhub2RlczogVHJlZU5vZGU8VD5bXSwgbWF0Y2hlczogVHJlZU5vZGU8VD5bXSA9IFtdKSB7XHJcbiAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG4gICAgICAgIGlmIChyZWdleC50ZXN0KG1hcHBlckZuKG5vZGVba2V5XSkpKSBtYXRjaGVzLnB1c2gobm9kZSk7XHJcblxyXG4gICAgICAgIGlmIChub2RlLmNoaWxkcmVuLmxlbmd0aCkgY29sbGVjdE5vZGVzKG5vZGUuY2hpbGRyZW4sIG1hdGNoZXMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gbWF0Y2hlcztcclxuICAgIH07XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUdyb3VwTWFwPFQgZXh0ZW5kcyB7IGdyb3VwPzogc3RyaW5nIH0+KFxyXG4gIGxpc3Q6IFRyZWVOb2RlPFQ+W10sXHJcbiAgb3RoZXJzR3JvdXBLZXk6IHN0cmluZyxcclxuKSB7XHJcbiAgaWYgKCFpc0FycmF5KGxpc3QpIHx8ICFsaXN0LnNvbWUobm9kZSA9PiBCb29sZWFuKG5vZGUuZ3JvdXApKSkgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3QgbWFwR3JvdXAgPSBuZXcgTWFwPHN0cmluZywgVHJlZU5vZGU8VD5bXT4oKTtcclxuXHJcbiAgZm9yIChjb25zdCBub2RlIG9mIGxpc3QpIHtcclxuICAgIGNvbnN0IGdyb3VwID0gbm9kZT8uZ3JvdXAgfHwgb3RoZXJzR3JvdXBLZXk7XHJcbiAgICBpZiAodHlwZW9mIGdyb3VwICE9PSAnc3RyaW5nJykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ3JvdXA6ICR7Z3JvdXB9YCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaXRlbXMgPSBtYXBHcm91cC5nZXQoZ3JvdXApIHx8IFtdO1xyXG4gICAgaXRlbXMucHVzaChub2RlKTtcclxuICAgIG1hcEdyb3VwLnNldChncm91cCwgaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG1hcEdyb3VwO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBUcmVlTm9kZTxUIGV4dGVuZHMgb2JqZWN0PiA9IHtcclxuICBbSyBpbiBrZXlvZiBUXTogVFtLXTtcclxufSAmIHtcclxuICBjaGlsZHJlbjogVHJlZU5vZGU8VD5bXTtcclxuICBpc0xlYWY6IGJvb2xlYW47XHJcbiAgcGFyZW50PzogVHJlZU5vZGU8VD47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSb3V0ZUdyb3VwPFQgZXh0ZW5kcyBvYmplY3Q+ID0ge1xyXG4gIHJlYWRvbmx5IGdyb3VwOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgaXRlbXM6IFRyZWVOb2RlPFQ+W107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBOb2RlS2V5ID0gbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sIHwgdW5kZWZpbmVkIHwgbnVsbDtcclxuXHJcbmV4cG9ydCB0eXBlIE5vZGVWYWx1ZTxUIGV4dGVuZHMgb2JqZWN0LCBGIGV4dGVuZHMgKC4uLmFyZ3M6IGFueSkgPT4gYW55PiA9IEYgZXh0ZW5kcyB1bmRlZmluZWRcclxuICA/IFRyZWVOb2RlPFQ+XHJcbiAgOiBSZXR1cm5UeXBlPEY+O1xyXG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export function validateMinAge({ age = 18 } = {}) {
|
|
2
|
-
return (control) => {
|
|
3
|
-
if (['', null, undefined].indexOf(control.value) > -1)
|
|
4
|
-
return null;
|
|
5
|
-
return isValidMinAge(control.value, age) ? null : { minAge: { age } };
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
function isValidMinAge(value, minAge) {
|
|
9
|
-
const date = new Date();
|
|
10
|
-
date.setFullYear(date.getFullYear() - minAge);
|
|
11
|
-
date.setHours(23, 59, 59, 999);
|
|
12
|
-
return Number(new Date(value)) <= date.valueOf();
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi92YWxpZGF0b3JzL2FnZS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEtBQW9CLEVBQUU7SUFDN0QsT0FBTyxDQUFDLE9BQXdCLEVBQXNCLEVBQUU7UUFDdEQsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUVuRSxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUN4RSxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsS0FBc0IsRUFBRSxNQUFjO0lBQzNELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUUvQixPQUFPLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWluQWdlRXJyb3Ige1xyXG4gIG1pbkFnZToge1xyXG4gICAgYWdlOiBudW1iZXI7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNaW5BZ2VPcHRpb25zIHtcclxuICBhZ2U/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU1pbkFnZSh7IGFnZSA9IDE4IH06IE1pbkFnZU9wdGlvbnMgPSB7fSk6IFZhbGlkYXRvckZuIHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IE1pbkFnZUVycm9yIHwgbnVsbCA9PiB7XHJcbiAgICBpZiAoWycnLCBudWxsLCB1bmRlZmluZWRdLmluZGV4T2YoY29udHJvbC52YWx1ZSkgPiAtMSkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgcmV0dXJuIGlzVmFsaWRNaW5BZ2UoY29udHJvbC52YWx1ZSwgYWdlKSA/IG51bGwgOiB7IG1pbkFnZTogeyBhZ2UgfSB9O1xyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzVmFsaWRNaW5BZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlciwgbWluQWdlOiBudW1iZXIpIHtcclxuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcclxuICBkYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSAtIG1pbkFnZSk7XHJcbiAgZGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xyXG5cclxuICByZXR1cm4gTnVtYmVyKG5ldyBEYXRlKHZhbHVlKSkgPD0gZGF0ZS52YWx1ZU9mKCk7XHJcbn1cclxuIl19
|