@abp/ng.core 5.0.1 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/abp-ng.core.d.ts +5 -5
- package/bundles/abp-ng.core-locale.umd.js +361 -361
- package/bundles/abp-ng.core-locale.umd.js.map +1 -1
- package/bundles/abp-ng.core-testing.umd.js +442 -442
- package/bundles/abp-ng.core-testing.umd.js.map +1 -1
- package/bundles/abp-ng.core.umd.js +4873 -4868
- package/bundles/abp-ng.core.umd.js.map +1 -1
- package/esm2015/abp-ng.core.js +4 -4
- package/esm2015/lib/abstracts/index.js +2 -2
- package/esm2015/lib/abstracts/ng-model.component.js +59 -59
- package/esm2015/lib/components/dynamic-layout.component.js +89 -89
- package/esm2015/lib/components/index.js +4 -4
- package/esm2015/lib/components/replaceable-route-container.component.js +42 -42
- package/esm2015/lib/components/router-outlet.component.js +15 -15
- package/esm2015/lib/constants/different-locales.js +337 -337
- package/esm2015/lib/constants/index.js +2 -2
- package/esm2015/lib/core.module.js +281 -281
- package/esm2015/lib/directives/autofocus.directive.js +30 -30
- package/esm2015/lib/directives/debounce.directive.js +36 -36
- package/esm2015/lib/directives/for.directive.js +151 -151
- package/esm2015/lib/directives/form-submit.directive.js +69 -69
- package/esm2015/lib/directives/index.js +9 -9
- package/esm2015/lib/directives/init.directive.js +21 -21
- package/esm2015/lib/directives/permission.directive.js +48 -48
- package/esm2015/lib/directives/replaceable-template.directive.js +121 -121
- package/esm2015/lib/directives/stop-propagation.directive.js +32 -32
- package/esm2015/lib/enums/common.js +2 -2
- package/esm2015/lib/enums/index.js +2 -2
- package/esm2015/lib/guards/auth.guard.js +29 -29
- package/esm2015/lib/guards/index.js +3 -3
- package/esm2015/lib/guards/permission.guard.js +44 -44
- package/esm2015/lib/handlers/oauth-configuration.handler.js +37 -37
- package/esm2015/lib/handlers/routes.handler.js +47 -47
- package/esm2015/lib/interceptors/api.interceptor.js +54 -54
- package/esm2015/lib/interceptors/index.js +2 -2
- package/esm2015/lib/localization.module.js +16 -16
- package/esm2015/lib/models/auth.js +2 -2
- package/esm2015/lib/models/common.js +2 -2
- package/esm2015/lib/models/dtos.js +119 -119
- package/esm2015/lib/models/environment.js +2 -2
- package/esm2015/lib/models/index.js +10 -10
- package/esm2015/lib/models/localization.js +2 -2
- package/esm2015/lib/models/replaceable-components.js +2 -2
- package/esm2015/lib/models/rest.js +2 -2
- package/esm2015/lib/models/session.js +2 -2
- package/esm2015/lib/models/utility.js +2 -2
- package/esm2015/lib/pipes/index.js +3 -3
- package/esm2015/lib/pipes/localization.pipe.js +33 -33
- package/esm2015/lib/pipes/sort.pipe.js +49 -49
- package/esm2015/lib/providers/cookie-language.provider.js +22 -22
- package/esm2015/lib/providers/locale.provider.js +22 -22
- package/esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js +29 -29
- package/esm2015/lib/proxy/pages/abp/multi-tenancy/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js +24 -24
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js +25 -25
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js +5 -5
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js +3 -3
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js +2 -2
- package/esm2015/lib/proxy/volo/abp/http/modeling/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/http/modeling/models.js +3 -3
- package/esm2015/lib/proxy/volo/abp/localization/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/localization/models.js +2 -2
- package/esm2015/lib/proxy/volo/abp/models.js +2 -2
- package/esm2015/lib/services/auth.service.js +47 -47
- package/esm2015/lib/services/config-state.service.js +130 -130
- package/esm2015/lib/services/content-projection.service.js +17 -17
- package/esm2015/lib/services/dom-insertion.service.js +32 -32
- package/esm2015/lib/services/environment.service.js +35 -35
- package/esm2015/lib/services/http-error-reporter.service.js +29 -29
- package/esm2015/lib/services/http-wait.service.js +72 -72
- package/esm2015/lib/services/index.js +22 -22
- package/esm2015/lib/services/lazy-load.service.js +38 -38
- package/esm2015/lib/services/list.service.js +103 -103
- package/esm2015/lib/services/localization.service.js +182 -182
- package/esm2015/lib/services/multi-tenancy.service.js +48 -48
- package/esm2015/lib/services/permission.service.js +64 -64
- package/esm2015/lib/services/replaceable-components.service.js +49 -49
- package/esm2015/lib/services/resource-wait.service.js +39 -39
- package/esm2015/lib/services/rest.service.js +63 -63
- package/esm2015/lib/services/router-events.service.js +38 -38
- package/esm2015/lib/services/router-wait.service.js +51 -51
- package/esm2015/lib/services/routes.service.js +147 -147
- package/esm2015/lib/services/session-state.service.js +76 -76
- package/esm2015/lib/services/subscription.service.js +41 -41
- package/esm2015/lib/services/track-by.service.js +21 -21
- package/esm2015/lib/strategies/auth-flow.strategy.js +202 -202
- package/esm2015/lib/strategies/container.strategy.js +38 -38
- package/esm2015/lib/strategies/content-security.strategy.js +28 -28
- package/esm2015/lib/strategies/content.strategy.js +48 -48
- package/esm2015/lib/strategies/context.strategy.js +37 -37
- package/esm2015/lib/strategies/cross-origin.strategy.js +26 -26
- package/esm2015/lib/strategies/dom.strategy.js +27 -27
- package/esm2015/lib/strategies/index.js +9 -9
- package/esm2015/lib/strategies/loading.strategy.js +58 -58
- package/esm2015/lib/strategies/projection.strategy.js +80 -80
- package/esm2015/lib/tokens/app-config.token.js +3 -3
- package/esm2015/lib/tokens/cookie-language-key.token.js +5 -5
- package/esm2015/lib/tokens/index.js +9 -9
- package/esm2015/lib/tokens/list.token.js +3 -3
- package/esm2015/lib/tokens/localization.token.js +10 -10
- package/esm2015/lib/tokens/lodaer-delay.token.js +3 -3
- package/esm2015/lib/tokens/manage-profile.token.js +12 -12
- package/esm2015/lib/tokens/options.token.js +8 -8
- package/esm2015/lib/tokens/tenant-key.token.js +3 -3
- package/esm2015/lib/utils/array-utils.js +7 -7
- package/esm2015/lib/utils/auth-utils.js +42 -42
- package/esm2015/lib/utils/common-utils.js +29 -29
- package/esm2015/lib/utils/date-extensions.js +6 -6
- package/esm2015/lib/utils/date-utils.js +13 -13
- package/esm2015/lib/utils/environment-utils.js +36 -36
- package/esm2015/lib/utils/factory-utils.js +24 -24
- package/esm2015/lib/utils/file-utils.js +14 -14
- package/esm2015/lib/utils/form-utils.js +12 -12
- package/esm2015/lib/utils/generator-utils.js +34 -34
- package/esm2015/lib/utils/http-utils.js +19 -19
- package/esm2015/lib/utils/index.js +21 -21
- package/esm2015/lib/utils/initial-utils.js +64 -64
- package/esm2015/lib/utils/internal-store-utils.js +36 -36
- package/esm2015/lib/utils/lazy-load-utils.js +40 -40
- package/esm2015/lib/utils/localization-utils.js +50 -50
- package/esm2015/lib/utils/multi-tenancy-utils.js +83 -83
- package/esm2015/lib/utils/number-utils.js +4 -4
- package/esm2015/lib/utils/object-utils.js +37 -37
- package/esm2015/lib/utils/route-utils.js +27 -27
- package/esm2015/lib/utils/string-utils.js +25 -21
- package/esm2015/lib/utils/tree-utils.js +54 -54
- package/esm2015/lib/validators/age.validator.js +14 -14
- package/esm2015/lib/validators/credit-card.validator.js +21 -21
- package/esm2015/lib/validators/index.js +23 -23
- package/esm2015/lib/validators/range.validator.js +15 -15
- package/esm2015/lib/validators/required.validator.js +13 -13
- package/esm2015/lib/validators/string-length.validator.js +15 -15
- package/esm2015/lib/validators/url.validator.js +16 -16
- package/esm2015/locale/abp-ng.core-locale.js +4 -4
- package/esm2015/locale/public-api.js +2 -2
- package/esm2015/locale/utils/register-locale.js +43 -43
- package/esm2015/public-api.js +26 -26
- package/esm2015/testing/abp-ng.core-testing.js +4 -4
- package/esm2015/testing/lib/core-testing.module.js +62 -62
- package/esm2015/testing/lib/services/index.js +3 -3
- package/esm2015/testing/lib/services/mock-permission.service.js +35 -35
- package/esm2015/testing/lib/services/mock-rest.service.js +30 -30
- package/esm2015/testing/lib/utils/clear-page.util.js +10 -10
- package/esm2015/testing/lib/utils/index.js +3 -3
- package/esm2015/testing/lib/utils/wait.util.js +5 -5
- package/esm2015/testing/public-api.js +4 -4
- package/fesm2015/abp-ng.core-locale.js +40 -40
- package/fesm2015/abp-ng.core-locale.js.map +1 -1
- package/fesm2015/abp-ng.core-testing.js +113 -113
- package/fesm2015/abp-ng.core-testing.js.map +1 -1
- package/fesm2015/abp-ng.core.js +3979 -3975
- package/fesm2015/abp-ng.core.js.map +1 -1
- package/lib/abstracts/index.d.ts +1 -1
- package/lib/abstracts/ng-model.component.d.ts +25 -25
- package/lib/components/dynamic-layout.component.d.ts +27 -27
- package/lib/components/index.d.ts +3 -3
- package/lib/components/replaceable-route-container.component.d.ts +17 -17
- package/lib/components/router-outlet.component.d.ts +5 -5
- package/lib/constants/different-locales.d.ts +334 -334
- package/lib/constants/index.d.ts +1 -1
- package/lib/core.module.d.ts +56 -56
- package/lib/directives/autofocus.directive.d.ts +12 -12
- package/lib/directives/debounce.directive.d.ts +13 -13
- package/lib/directives/for.directive.d.ts +36 -36
- package/lib/directives/form-submit.directive.d.ts +19 -19
- package/lib/directives/index.d.ts +8 -8
- package/lib/directives/init.directive.d.ts +10 -10
- package/lib/directives/permission.directive.d.ts +18 -18
- package/lib/directives/replaceable-template.directive.d.ts +30 -30
- package/lib/directives/stop-propagation.directive.d.ts +12 -12
- package/lib/enums/common.d.ts +5 -5
- package/lib/enums/index.d.ts +1 -1
- package/lib/guards/auth.guard.d.ts +13 -13
- package/lib/guards/index.d.ts +2 -2
- package/lib/guards/permission.guard.d.ts +16 -16
- package/lib/handlers/oauth-configuration.handler.d.ts +13 -13
- package/lib/handlers/routes.handler.d.ts +11 -11
- package/lib/interceptors/api.interceptor.d.ts +16 -16
- package/lib/interceptors/index.d.ts +1 -1
- package/lib/localization.module.d.ts +7 -7
- package/lib/models/auth.d.ts +6 -6
- package/lib/models/common.d.ts +77 -77
- package/lib/models/dtos.d.ts +95 -95
- package/lib/models/environment.d.ts +35 -35
- package/lib/models/index.d.ts +9 -9
- package/lib/models/localization.d.ts +5 -5
- package/lib/models/replaceable-components.d.ts +45 -45
- package/lib/models/rest.d.ts +35 -35
- package/lib/models/session.d.ts +7 -7
- package/lib/models/utility.d.ts +14 -14
- package/lib/pipes/index.d.ts +2 -2
- package/lib/pipes/localization.pipe.d.ts +12 -12
- package/lib/pipes/sort.pipe.d.ts +9 -9
- package/lib/providers/cookie-language.provider.d.ts +3 -3
- package/lib/providers/locale.provider.d.ts +9 -9
- package/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.d.ts +12 -12
- package/lib/proxy/pages/abp/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.d.ts +4 -4
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.d.ts +85 -85
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.d.ts +71 -71
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.d.ts +14 -14
- package/lib/proxy/volo/abp/http/modeling/index.d.ts +1 -1
- package/lib/proxy/volo/abp/http/modeling/models.d.ts +70 -70
- package/lib/proxy/volo/abp/localization/index.d.ts +1 -1
- package/lib/proxy/volo/abp/localization/models.d.ts +6 -6
- package/lib/proxy/volo/abp/models.d.ts +4 -4
- package/lib/services/auth.service.d.ts +17 -17
- package/lib/services/config-state.service.d.ts +339 -339
- package/lib/services/content-projection.service.d.ts +10 -10
- package/lib/services/dom-insertion.service.d.ts +10 -10
- package/lib/services/environment.service.d.ts +96 -96
- package/lib/services/http-error-reporter.service.d.ts +12 -12
- package/lib/services/http-wait.service.d.ts +30 -30
- package/lib/services/index.d.ts +21 -21
- package/lib/services/lazy-load.service.d.ts +13 -13
- package/lib/services/list.service.d.ts +39 -39
- package/lib/services/localization.service.d.ts +47 -47
- package/lib/services/multi-tenancy.service.d.ts +22 -22
- package/lib/services/permission.service.d.ts +19 -19
- package/lib/services/replaceable-components.service.d.ts +19 -19
- package/lib/services/resource-wait.service.d.ts +15 -15
- package/lib/services/rest.service.d.ts +20 -20
- package/lib/services/router-events.service.d.ts +29 -29
- package/lib/services/router-wait.service.d.ts +20 -20
- package/lib/services/routes.service.d.ts +50 -50
- package/lib/services/session-state.service.d.ts +25 -25
- package/lib/services/subscription.service.d.ts +17 -17
- package/lib/services/track-by.service.d.ts +11 -11
- package/lib/strategies/auth-flow.strategy.d.ts +367 -367
- package/lib/strategies/container.strategy.d.ts +22 -22
- package/lib/strategies/content-security.strategy.d.ts +17 -17
- package/lib/strategies/content.strategy.d.ts +26 -26
- package/lib/strategies/context.strategy.d.ts +23 -23
- package/lib/strategies/cross-origin.strategy.d.ts +14 -14
- package/lib/strategies/dom.strategy.d.ts +13 -13
- package/lib/strategies/index.d.ts +8 -8
- package/lib/strategies/loading.strategy.d.ts +28 -28
- package/lib/strategies/projection.strategy.d.ts +39 -39
- package/lib/tokens/app-config.token.d.ts +3 -3
- package/lib/tokens/cookie-language-key.token.d.ts +2 -2
- package/lib/tokens/index.d.ts +8 -8
- package/lib/tokens/list.token.d.ts +2 -2
- package/lib/tokens/localization.token.d.ts +6 -6
- package/lib/tokens/lodaer-delay.token.d.ts +2 -2
- package/lib/tokens/manage-profile.token.d.ts +2 -2
- package/lib/tokens/options.token.d.ts +4 -4
- package/lib/tokens/tenant-key.token.d.ts +2 -2
- package/lib/utils/array-utils.d.ts +1 -1
- package/lib/utils/auth-utils.d.ts +162 -162
- package/lib/utils/common-utils.d.ts +9 -9
- package/lib/utils/date-extensions.d.ts +6 -6
- package/lib/utils/date-utils.d.ts +4 -4
- package/lib/utils/environment-utils.d.ts +3 -3
- package/lib/utils/factory-utils.d.ts +9 -9
- package/lib/utils/file-utils.d.ts +1 -1
- package/lib/utils/form-utils.d.ts +2 -2
- package/lib/utils/generator-utils.d.ts +3 -3
- package/lib/utils/http-utils.d.ts +8 -8
- package/lib/utils/index.d.ts +20 -20
- package/lib/utils/initial-utils.d.ts +159 -159
- package/lib/utils/internal-store-utils.d.ts +14 -14
- package/lib/utils/lazy-load-utils.d.ts +4 -4
- package/lib/utils/localization-utils.d.ts +5 -5
- package/lib/utils/multi-tenancy-utils.d.ts +3 -3
- package/lib/utils/number-utils.d.ts +1 -1
- package/lib/utils/object-utils.d.ts +1 -1
- package/lib/utils/route-utils.d.ts +8 -8
- package/lib/utils/string-utils.d.ts +3 -2
- package/lib/utils/tree-utils.d.ts +19 -19
- package/lib/validators/age.validator.d.ts +10 -10
- package/lib/validators/credit-card.validator.d.ts +5 -5
- package/lib/validators/index.d.ts +22 -22
- package/lib/validators/range.validator.d.ts +12 -12
- package/lib/validators/required.validator.d.ts +8 -8
- package/lib/validators/string-length.validator.d.ts +14 -14
- package/lib/validators/url.validator.d.ts +5 -5
- package/locale/abp-ng.core-locale.d.ts +5 -5
- package/locale/public-api.d.ts +1 -1
- package/locale/utils/register-locale.d.ts +13 -13
- package/package.json +2 -2
- package/public-api.d.ts +24 -24
- package/testing/abp-ng.core-testing.d.ts +5 -5
- package/testing/lib/core-testing.module.d.ts +16 -16
- package/testing/lib/services/index.d.ts +2 -2
- package/testing/lib/services/mock-permission.service.d.ts +10 -10
- package/testing/lib/services/mock-rest.service.d.ts +13 -13
- package/testing/lib/utils/clear-page.util.d.ts +2 -2
- package/testing/lib/utils/index.d.ts +2 -2
- package/testing/lib/utils/wait.util.d.ts +2 -2
- package/testing/public-api.d.ts +3 -3
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export function getShortDateFormat(configStateService) {
|
|
2
|
-
const dateTimeFormat = configStateService.getDeep('localization.currentCulture.dateTimeFormat');
|
|
3
|
-
return dateTimeFormat.shortDatePattern;
|
|
4
|
-
}
|
|
5
|
-
export function getShortTimeFormat(configStateService) {
|
|
6
|
-
const dateTimeFormat = configStateService.getDeep('localization.currentCulture.dateTimeFormat');
|
|
7
|
-
return dateTimeFormat.shortTimePattern.replace('tt', 'a');
|
|
8
|
-
}
|
|
9
|
-
export function getShortDateShortTimeFormat(configStateService) {
|
|
10
|
-
const dateTimeFormat = configStateService.getDeep('localization.currentCulture.dateTimeFormat');
|
|
11
|
-
return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat.shortTimePattern.replace('tt', 'a')}`;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export function getShortDateFormat(configStateService) {
|
|
2
|
+
const dateTimeFormat = configStateService.getDeep('localization.currentCulture.dateTimeFormat');
|
|
3
|
+
return dateTimeFormat.shortDatePattern;
|
|
4
|
+
}
|
|
5
|
+
export function getShortTimeFormat(configStateService) {
|
|
6
|
+
const dateTimeFormat = configStateService.getDeep('localization.currentCulture.dateTimeFormat');
|
|
7
|
+
return dateTimeFormat.shortTimePattern.replace('tt', 'a');
|
|
8
|
+
}
|
|
9
|
+
export function getShortDateShortTimeFormat(configStateService) {
|
|
10
|
+
const dateTimeFormat = configStateService.getDeep('localization.currentCulture.dateTimeFormat');
|
|
11
|
+
return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat.shortTimePattern.replace('tt', 'a')}`;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9kYXRlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxrQkFBc0M7SUFDdkUsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUMvQyw0Q0FBNEMsQ0FDeEIsQ0FBQztJQUV2QixPQUFPLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLGtCQUFzQztJQUN2RSxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQy9DLDRDQUE0QyxDQUN4QixDQUFDO0lBRXZCLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxrQkFBc0M7SUFDaEYsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUMvQyw0Q0FBNEMsQ0FDeEIsQ0FBQztJQUV2QixPQUFPLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixJQUFJLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDcEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lRm9ybWF0RHRvIH0gZnJvbSAnLi4vcHJveHkvdm9sby9hYnAvYXNwLW5ldC1jb3JlL212Yy9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9ucy9tb2RlbHMnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hvcnREYXRlRm9ybWF0KGNvbmZpZ1N0YXRlU2VydmljZTogQ29uZmlnU3RhdGVTZXJ2aWNlKSB7XG4gIGNvbnN0IGRhdGVUaW1lRm9ybWF0ID0gY29uZmlnU3RhdGVTZXJ2aWNlLmdldERlZXAoXG4gICAgJ2xvY2FsaXphdGlvbi5jdXJyZW50Q3VsdHVyZS5kYXRlVGltZUZvcm1hdCcsXG4gICkgYXMgRGF0ZVRpbWVGb3JtYXREdG87XG5cbiAgcmV0dXJuIGRhdGVUaW1lRm9ybWF0LnNob3J0RGF0ZVBhdHRlcm47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaG9ydFRpbWVGb3JtYXQoY29uZmlnU3RhdGVTZXJ2aWNlOiBDb25maWdTdGF0ZVNlcnZpY2UpIHtcbiAgY29uc3QgZGF0ZVRpbWVGb3JtYXQgPSBjb25maWdTdGF0ZVNlcnZpY2UuZ2V0RGVlcChcbiAgICAnbG9jYWxpemF0aW9uLmN1cnJlbnRDdWx0dXJlLmRhdGVUaW1lRm9ybWF0JyxcbiAgKSBhcyBEYXRlVGltZUZvcm1hdER0bztcblxuICByZXR1cm4gZGF0ZVRpbWVGb3JtYXQuc2hvcnRUaW1lUGF0dGVybi5yZXBsYWNlKCd0dCcsICdhJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaG9ydERhdGVTaG9ydFRpbWVGb3JtYXQoY29uZmlnU3RhdGVTZXJ2aWNlOiBDb25maWdTdGF0ZVNlcnZpY2UpIHtcbiAgY29uc3QgZGF0ZVRpbWVGb3JtYXQgPSBjb25maWdTdGF0ZVNlcnZpY2UuZ2V0RGVlcChcbiAgICAnbG9jYWxpemF0aW9uLmN1cnJlbnRDdWx0dXJlLmRhdGVUaW1lRm9ybWF0JyxcbiAgKSBhcyBEYXRlVGltZUZvcm1hdER0bztcblxuICByZXR1cm4gYCR7ZGF0ZVRpbWVGb3JtYXQuc2hvcnREYXRlUGF0dGVybn0gJHtkYXRlVGltZUZvcm1hdC5zaG9ydFRpbWVQYXR0ZXJuLnJlcGxhY2UoJ3R0JywgJ2EnKX1gO1xufVxuIl19
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { of } from 'rxjs';
|
|
3
|
-
import { catchError, tap } from 'rxjs/operators';
|
|
4
|
-
import { EnvironmentService } from '../services/environment.service';
|
|
5
|
-
import { HttpErrorReporterService } from '../services/http-error-reporter.service';
|
|
6
|
-
import { deepMerge } from './object-utils';
|
|
7
|
-
export function getRemoteEnv(injector, environment) {
|
|
8
|
-
const environmentService = injector.get(EnvironmentService);
|
|
9
|
-
const { remoteEnv } = environment;
|
|
10
|
-
const { headers = {}, method = 'GET', url } = remoteEnv || {};
|
|
11
|
-
if (!url)
|
|
12
|
-
return Promise.resolve();
|
|
13
|
-
const http = injector.get(HttpClient);
|
|
14
|
-
const httpErrorReporter = injector.get(HttpErrorReporterService);
|
|
15
|
-
return http
|
|
16
|
-
.request(method, url, { headers })
|
|
17
|
-
.pipe(catchError(err => {
|
|
18
|
-
httpErrorReporter.reportError(err);
|
|
19
|
-
return of(null);
|
|
20
|
-
}), // TODO: Consider get handle function from a provider
|
|
21
|
-
tap(env => environmentService.setState(mergeEnvironments(environment, env, remoteEnv))))
|
|
22
|
-
.toPromise();
|
|
23
|
-
}
|
|
24
|
-
function mergeEnvironments(local, remote, config) {
|
|
25
|
-
switch (config.mergeStrategy) {
|
|
26
|
-
case 'deepmerge':
|
|
27
|
-
return deepMerge(local, remote);
|
|
28
|
-
case 'overwrite':
|
|
29
|
-
case null:
|
|
30
|
-
case undefined:
|
|
31
|
-
return remote;
|
|
32
|
-
default:
|
|
33
|
-
return config.mergeStrategy(local, remote);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { catchError, tap } from 'rxjs/operators';
|
|
4
|
+
import { EnvironmentService } from '../services/environment.service';
|
|
5
|
+
import { HttpErrorReporterService } from '../services/http-error-reporter.service';
|
|
6
|
+
import { deepMerge } from './object-utils';
|
|
7
|
+
export function getRemoteEnv(injector, environment) {
|
|
8
|
+
const environmentService = injector.get(EnvironmentService);
|
|
9
|
+
const { remoteEnv } = environment;
|
|
10
|
+
const { headers = {}, method = 'GET', url } = remoteEnv || {};
|
|
11
|
+
if (!url)
|
|
12
|
+
return Promise.resolve();
|
|
13
|
+
const http = injector.get(HttpClient);
|
|
14
|
+
const httpErrorReporter = injector.get(HttpErrorReporterService);
|
|
15
|
+
return http
|
|
16
|
+
.request(method, url, { headers })
|
|
17
|
+
.pipe(catchError(err => {
|
|
18
|
+
httpErrorReporter.reportError(err);
|
|
19
|
+
return of(null);
|
|
20
|
+
}), // TODO: Consider get handle function from a provider
|
|
21
|
+
tap(env => environmentService.setState(mergeEnvironments(environment, env, remoteEnv))))
|
|
22
|
+
.toPromise();
|
|
23
|
+
}
|
|
24
|
+
function mergeEnvironments(local, remote, config) {
|
|
25
|
+
switch (config.mergeStrategy) {
|
|
26
|
+
case 'deepmerge':
|
|
27
|
+
return deepMerge(local, remote);
|
|
28
|
+
case 'overwrite':
|
|
29
|
+
case null:
|
|
30
|
+
case undefined:
|
|
31
|
+
return remote;
|
|
32
|
+
default:
|
|
33
|
+
return config.mergeStrategy(local, remote);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvZW52aXJvbm1lbnQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxVQUFVLFlBQVksQ0FBQyxRQUFrQixFQUFFLFdBQWlDO0lBQ2hGLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRTVELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFDbEMsTUFBTSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxTQUFTLElBQUssRUFBZ0IsQ0FBQztJQUM3RSxJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRW5DLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFakUsT0FBTyxJQUFJO1NBQ1IsT0FBTyxDQUFjLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUM5QyxJQUFJLENBQ0gsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2YsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxFQUFFLHFEQUFxRDtJQUN6RCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQ3hGO1NBQ0EsU0FBUyxFQUFFLENBQUM7QUFDakIsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQ3hCLEtBQTJCLEVBQzNCLE1BQVcsRUFDWCxNQUFpQjtJQUVqQixRQUFRLE1BQU0sQ0FBQyxhQUFhLEVBQUU7UUFDNUIsS0FBSyxXQUFXO1lBQ2QsT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLEtBQUssV0FBVyxDQUFDO1FBQ2pCLEtBQUssSUFBSSxDQUFDO1FBQ1YsS0FBSyxTQUFTO1lBQ1osT0FBTyxNQUFNLENBQUM7UUFDaEI7WUFDRSxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzlDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVudmlyb25tZW50LCBSZW1vdGVFbnYgfSBmcm9tICcuLi9tb2RlbHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZW52aXJvbm1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXBvcnRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9odHRwLWVycm9yLXJlcG9ydGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAnLi9vYmplY3QtdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3RlRW52KGluamVjdG9yOiBJbmplY3RvciwgZW52aXJvbm1lbnQ6IFBhcnRpYWw8RW52aXJvbm1lbnQ+KSB7XG4gIGNvbnN0IGVudmlyb25tZW50U2VydmljZSA9IGluamVjdG9yLmdldChFbnZpcm9ubWVudFNlcnZpY2UpO1xuXG4gIGNvbnN0IHsgcmVtb3RlRW52IH0gPSBlbnZpcm9ubWVudDtcbiAgY29uc3QgeyBoZWFkZXJzID0ge30sIG1ldGhvZCA9ICdHRVQnLCB1cmwgfSA9IHJlbW90ZUVudiB8fCAoe30gYXMgUmVtb3RlRW52KTtcbiAgaWYgKCF1cmwpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblxuICBjb25zdCBodHRwID0gaW5qZWN0b3IuZ2V0KEh0dHBDbGllbnQpO1xuICBjb25zdCBodHRwRXJyb3JSZXBvcnRlciA9IGluamVjdG9yLmdldChIdHRwRXJyb3JSZXBvcnRlclNlcnZpY2UpO1xuXG4gIHJldHVybiBodHRwXG4gICAgLnJlcXVlc3Q8RW52aXJvbm1lbnQ+KG1ldGhvZCwgdXJsLCB7IGhlYWRlcnMgfSlcbiAgICAucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgaHR0cEVycm9yUmVwb3J0ZXIucmVwb3J0RXJyb3IoZXJyKTtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgfSksIC8vIFRPRE86IENvbnNpZGVyIGdldCBoYW5kbGUgZnVuY3Rpb24gZnJvbSBhIHByb3ZpZGVyXG4gICAgICB0YXAoZW52ID0+IGVudmlyb25tZW50U2VydmljZS5zZXRTdGF0ZShtZXJnZUVudmlyb25tZW50cyhlbnZpcm9ubWVudCwgZW52LCByZW1vdGVFbnYpKSksXG4gICAgKVxuICAgIC50b1Byb21pc2UoKTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VFbnZpcm9ubWVudHMoXG4gIGxvY2FsOiBQYXJ0aWFsPEVudmlyb25tZW50PixcbiAgcmVtb3RlOiBhbnksXG4gIGNvbmZpZzogUmVtb3RlRW52LFxuKTogRW52aXJvbm1lbnQge1xuICBzd2l0Y2ggKGNvbmZpZy5tZXJnZVN0cmF0ZWd5KSB7XG4gICAgY2FzZSAnZGVlcG1lcmdlJzpcbiAgICAgIHJldHVybiBkZWVwTWVyZ2UobG9jYWwsIHJlbW90ZSk7XG4gICAgY2FzZSAnb3ZlcndyaXRlJzpcbiAgICBjYXNlIG51bGw6XG4gICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgICByZXR1cm4gcmVtb3RlO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gY29uZmlnLm1lcmdlU3RyYXRlZ3kobG9jYWwsIHJlbW90ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { Compiler, Injector, NgModuleFactory, } from '@angular/core';
|
|
2
|
-
import { filter, map } from 'rxjs/operators';
|
|
3
|
-
export class LazyModuleFactory extends NgModuleFactory {
|
|
4
|
-
constructor(moduleWithProviders) {
|
|
5
|
-
super();
|
|
6
|
-
this.moduleWithProviders = moduleWithProviders;
|
|
7
|
-
}
|
|
8
|
-
get moduleType() {
|
|
9
|
-
return this.moduleWithProviders.ngModule;
|
|
10
|
-
}
|
|
11
|
-
create(parentInjector) {
|
|
12
|
-
const injector = Injector.create({
|
|
13
|
-
parent: parentInjector,
|
|
14
|
-
providers: this.moduleWithProviders.providers,
|
|
15
|
-
});
|
|
16
|
-
const compiler = injector.get(Compiler);
|
|
17
|
-
const factory = compiler.compileModuleSync(this.moduleType);
|
|
18
|
-
return factory.create(injector);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export function featuresFactory(configState, featureKeys, mapFn = features => features) {
|
|
22
|
-
return configState.getFeatures$(featureKeys).pipe(filter(Boolean), map(mapFn));
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Compiler, Injector, NgModuleFactory, } from '@angular/core';
|
|
2
|
+
import { filter, map } from 'rxjs/operators';
|
|
3
|
+
export class LazyModuleFactory extends NgModuleFactory {
|
|
4
|
+
constructor(moduleWithProviders) {
|
|
5
|
+
super();
|
|
6
|
+
this.moduleWithProviders = moduleWithProviders;
|
|
7
|
+
}
|
|
8
|
+
get moduleType() {
|
|
9
|
+
return this.moduleWithProviders.ngModule;
|
|
10
|
+
}
|
|
11
|
+
create(parentInjector) {
|
|
12
|
+
const injector = Injector.create({
|
|
13
|
+
parent: parentInjector,
|
|
14
|
+
providers: this.moduleWithProviders.providers,
|
|
15
|
+
});
|
|
16
|
+
const compiler = injector.get(Compiler);
|
|
17
|
+
const factory = compiler.compileModuleSync(this.moduleType);
|
|
18
|
+
return factory.create(injector);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function featuresFactory(configState, featureKeys, mapFn = features => features) {
|
|
22
|
+
return configState.getFeatures$(featureKeys).pipe(filter(Boolean), map(mapFn));
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9mYWN0b3J5LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBQ1IsUUFBUSxFQUVSLGVBQWUsR0FJaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3QyxNQUFNLE9BQU8saUJBQXFCLFNBQVEsZUFBa0I7SUFLMUQsWUFBb0IsbUJBQTJDO1FBQzdELEtBQUssRUFBRSxDQUFDO1FBRFUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtJQUUvRCxDQUFDO0lBTkQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO0lBQzNDLENBQUM7SUFNRCxNQUFNLENBQUMsY0FBK0I7UUFDcEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixNQUFNLEVBQUUsY0FBYztZQUN0QixTQUFTLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQTZCO1NBQ2xFLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1RCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsV0FBK0IsRUFDL0IsV0FBcUIsRUFDckIsUUFBMkIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRO0lBRS9DLE9BQU8sV0FBVyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2pGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21waWxlcixcbiAgSW5qZWN0b3IsXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gIE5nTW9kdWxlRmFjdG9yeSxcbiAgTmdNb2R1bGVSZWYsXG4gIFN0YXRpY1Byb3ZpZGVyLFxuICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgTGF6eU1vZHVsZUZhY3Rvcnk8VD4gZXh0ZW5kcyBOZ01vZHVsZUZhY3Rvcnk8VD4ge1xuICBnZXQgbW9kdWxlVHlwZSgpOiBUeXBlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5tb2R1bGVXaXRoUHJvdmlkZXJzLm5nTW9kdWxlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2R1bGVXaXRoUHJvdmlkZXJzOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFQ+KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGNyZWF0ZShwYXJlbnRJbmplY3RvcjogSW5qZWN0b3IgfCBudWxsKTogTmdNb2R1bGVSZWY8VD4ge1xuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHBhcmVudDogcGFyZW50SW5qZWN0b3IsXG4gICAgICBwcm92aWRlcnM6IHRoaXMubW9kdWxlV2l0aFByb3ZpZGVycy5wcm92aWRlcnMgYXMgU3RhdGljUHJvdmlkZXJbXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBpbGVyID0gaW5qZWN0b3IuZ2V0KENvbXBpbGVyKTtcbiAgICBjb25zdCBmYWN0b3J5ID0gY29tcGlsZXIuY29tcGlsZU1vZHVsZVN5bmModGhpcy5tb2R1bGVUeXBlKTtcblxuICAgIHJldHVybiBmYWN0b3J5LmNyZWF0ZShpbmplY3Rvcik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZlYXR1cmVzRmFjdG9yeShcbiAgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSxcbiAgZmVhdHVyZUtleXM6IHN0cmluZ1tdLFxuICBtYXBGbjogKGZlYXR1cmVzKSA9PiBhbnkgPSBmZWF0dXJlcyA9PiBmZWF0dXJlcyxcbikge1xuICByZXR1cm4gY29uZmlnU3RhdGUuZ2V0RmVhdHVyZXMkKGZlYXR1cmVLZXlzKS5waXBlKGZpbHRlcihCb29sZWFuKSwgbWFwKG1hcEZuKSk7XG59XG4iXX0=
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export function downloadBlob(blob, filename) {
|
|
2
|
-
const blobUrl = URL.createObjectURL(blob);
|
|
3
|
-
const link = document.createElement('a');
|
|
4
|
-
link.href = blobUrl;
|
|
5
|
-
link.download = filename;
|
|
6
|
-
document.body.appendChild(link);
|
|
7
|
-
link.dispatchEvent(new MouseEvent('click', {
|
|
8
|
-
bubbles: true,
|
|
9
|
-
cancelable: true,
|
|
10
|
-
view: window,
|
|
11
|
-
}));
|
|
12
|
-
document.body.removeChild(link);
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export function downloadBlob(blob, filename) {
|
|
2
|
+
const blobUrl = URL.createObjectURL(blob);
|
|
3
|
+
const link = document.createElement('a');
|
|
4
|
+
link.href = blobUrl;
|
|
5
|
+
link.download = filename;
|
|
6
|
+
document.body.appendChild(link);
|
|
7
|
+
link.dispatchEvent(new MouseEvent('click', {
|
|
8
|
+
bubbles: true,
|
|
9
|
+
cancelable: true,
|
|
10
|
+
view: window,
|
|
11
|
+
}));
|
|
12
|
+
document.body.removeChild(link);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9maWxlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBVSxFQUFFLFFBQWdCO0lBQ3ZELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV6QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztJQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUV6QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVoQyxJQUFJLENBQUMsYUFBYSxDQUNoQixJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7UUFDdEIsT0FBTyxFQUFFLElBQUk7UUFDYixVQUFVLEVBQUUsSUFBSTtRQUNoQixJQUFJLEVBQUUsTUFBTTtLQUNiLENBQUMsQ0FDSCxDQUFDO0lBRUYsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBkb3dubG9hZEJsb2IoYmxvYjogQmxvYiwgZmlsZW5hbWU6IHN0cmluZykge1xuICBjb25zdCBibG9iVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcblxuICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuXG4gIGxpbmsuaHJlZiA9IGJsb2JVcmw7XG4gIGxpbmsuZG93bmxvYWQgPSBmaWxlbmFtZTtcblxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuXG4gIGxpbmsuZGlzcGF0Y2hFdmVudChcbiAgICBuZXcgTW91c2VFdmVudCgnY2xpY2snLCB7XG4gICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgIHZpZXc6IHdpbmRvdyxcbiAgICB9KSxcbiAgKTtcblxuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xufVxuIl19
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { isNumber } from './number-utils';
|
|
2
|
-
export function mapEnumToOptions(_enum) {
|
|
3
|
-
const options = [];
|
|
4
|
-
for (const member in _enum)
|
|
5
|
-
if (!isNumber(member))
|
|
6
|
-
options.push({
|
|
7
|
-
key: member,
|
|
8
|
-
value: _enum[member],
|
|
9
|
-
});
|
|
10
|
-
return options;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { isNumber } from './number-utils';
|
|
2
|
+
export function mapEnumToOptions(_enum) {
|
|
3
|
+
const options = [];
|
|
4
|
+
for (const member in _enum)
|
|
5
|
+
if (!isNumber(member))
|
|
6
|
+
options.push({
|
|
7
|
+
key: member,
|
|
8
|
+
value: _enum[member],
|
|
9
|
+
});
|
|
10
|
+
return options;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9mb3JtLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxNQUFNLFVBQVUsZ0JBQWdCLENBQUksS0FBUTtJQUMxQyxNQUFNLE9BQU8sR0FBb0IsRUFBRSxDQUFDO0lBRXBDLEtBQUssTUFBTSxNQUFNLElBQUksS0FBSztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3JCLENBQUMsQ0FBQztJQUVQLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnLi9udW1iZXItdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gbWFwRW51bVRvT3B0aW9uczxUPihfZW51bTogVCk6IEFCUC5PcHRpb248VD5bXSB7XG4gIGNvbnN0IG9wdGlvbnM6IEFCUC5PcHRpb248VD5bXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgbWVtYmVyIGluIF9lbnVtKVxuICAgIGlmICghaXNOdW1iZXIobWVtYmVyKSlcbiAgICAgIG9wdGlvbnMucHVzaCh7XG4gICAgICAgIGtleTogbWVtYmVyLFxuICAgICAgICB2YWx1ZTogX2VudW1bbWVtYmVyXSxcbiAgICAgIH0pO1xuXG4gIHJldHVybiBvcHRpb25zO1xufVxuIl19
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
export function uuid(a) {
|
|
2
|
-
return a
|
|
3
|
-
? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)
|
|
4
|
-
: ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);
|
|
5
|
-
}
|
|
6
|
-
export function generateHash(value) {
|
|
7
|
-
let hashed = 0;
|
|
8
|
-
let charCode;
|
|
9
|
-
for (let i = 0; i < value.length; i++) {
|
|
10
|
-
charCode = value.charCodeAt(i);
|
|
11
|
-
hashed = (hashed << 5) - hashed + charCode;
|
|
12
|
-
hashed |= 0;
|
|
13
|
-
}
|
|
14
|
-
return hashed;
|
|
15
|
-
}
|
|
16
|
-
export function generatePassword(length = 8) {
|
|
17
|
-
length = Math.min(Math.max(4, length), 128);
|
|
18
|
-
const lowers = 'abcdefghijklmnopqrstuvwxyz';
|
|
19
|
-
const uppers = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
20
|
-
const numbers = '0123456789';
|
|
21
|
-
const specials = '!@#$%&*()_+{}<>?[]./';
|
|
22
|
-
const all = lowers + uppers + numbers + specials;
|
|
23
|
-
const getRandom = (chrSet) => chrSet[Math.floor(Math.random() * chrSet.length)];
|
|
24
|
-
const password = Array({ length });
|
|
25
|
-
password[0] = getRandom(lowers);
|
|
26
|
-
password[1] = getRandom(uppers);
|
|
27
|
-
password[2] = getRandom(numbers);
|
|
28
|
-
password[3] = getRandom(specials);
|
|
29
|
-
for (let i = 4; i < length; i++) {
|
|
30
|
-
password[i] = getRandom(all);
|
|
31
|
-
}
|
|
32
|
-
return password.sort(() => 0.5 - Math.random()).join('');
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export function uuid(a) {
|
|
2
|
+
return a
|
|
3
|
+
? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)
|
|
4
|
+
: ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);
|
|
5
|
+
}
|
|
6
|
+
export function generateHash(value) {
|
|
7
|
+
let hashed = 0;
|
|
8
|
+
let charCode;
|
|
9
|
+
for (let i = 0; i < value.length; i++) {
|
|
10
|
+
charCode = value.charCodeAt(i);
|
|
11
|
+
hashed = (hashed << 5) - hashed + charCode;
|
|
12
|
+
hashed |= 0;
|
|
13
|
+
}
|
|
14
|
+
return hashed;
|
|
15
|
+
}
|
|
16
|
+
export function generatePassword(length = 8) {
|
|
17
|
+
length = Math.min(Math.max(4, length), 128);
|
|
18
|
+
const lowers = 'abcdefghijklmnopqrstuvwxyz';
|
|
19
|
+
const uppers = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
20
|
+
const numbers = '0123456789';
|
|
21
|
+
const specials = '!@#$%&*()_+{}<>?[]./';
|
|
22
|
+
const all = lowers + uppers + numbers + specials;
|
|
23
|
+
const getRandom = (chrSet) => chrSet[Math.floor(Math.random() * chrSet.length)];
|
|
24
|
+
const password = Array({ length });
|
|
25
|
+
password[0] = getRandom(lowers);
|
|
26
|
+
password[1] = getRandom(uppers);
|
|
27
|
+
password[2] = getRandom(numbers);
|
|
28
|
+
password[3] = getRandom(specials);
|
|
29
|
+
for (let i = 4; i < length; i++) {
|
|
30
|
+
password[i] = getRandom(all);
|
|
31
|
+
}
|
|
32
|
+
return password.sort(() => 0.5 - Math.random()).join('');
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL2dlbmVyYXRvci11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsSUFBSSxDQUFDLENBQU87SUFDMUIsT0FBTyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYTtJQUN4QyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDZixJQUFJLFFBQWdCLENBQUM7SUFFckIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDckMsUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDM0MsTUFBTSxJQUFJLENBQUMsQ0FBQztLQUNiO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQztJQUN6QyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUU1QyxNQUFNLE1BQU0sR0FBRyw0QkFBNEIsQ0FBQztJQUM1QyxNQUFNLE1BQU0sR0FBRyw0QkFBNEIsQ0FBQztJQUM1QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUM7SUFDN0IsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUM7SUFDeEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsUUFBUSxDQUFDO0lBRWpELE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFeEYsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNuQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWxDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDL0IsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUM5QjtJQUVELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdXVpZChhPzogYW55KTogc3RyaW5nIHtcbiAgcmV0dXJuIGFcbiAgICA/IChhIF4gKChNYXRoLnJhbmRvbSgpICogMTYpID4+IChhIC8gNCkpKS50b1N0cmluZygxNilcbiAgICA6ICgnJyArIDFlNyArIC0xZTMgKyAtNGUzICsgLThlMyArIC0xZTExKS5yZXBsYWNlKC9bMDE4XS9nLCB1dWlkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSGFzaCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgbGV0IGhhc2hlZCA9IDA7XG4gIGxldCBjaGFyQ29kZTogbnVtYmVyO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICBjaGFyQ29kZSA9IHZhbHVlLmNoYXJDb2RlQXQoaSk7XG4gICAgaGFzaGVkID0gKGhhc2hlZCA8PCA1KSAtIGhhc2hlZCArIGNoYXJDb2RlO1xuICAgIGhhc2hlZCB8PSAwO1xuICB9XG4gIHJldHVybiBoYXNoZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVBhc3N3b3JkKGxlbmd0aCA9IDgpIHtcbiAgbGVuZ3RoID0gTWF0aC5taW4oTWF0aC5tYXgoNCwgbGVuZ3RoKSwgMTI4KTtcblxuICBjb25zdCBsb3dlcnMgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonO1xuICBjb25zdCB1cHBlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonO1xuICBjb25zdCBudW1iZXJzID0gJzAxMjM0NTY3ODknO1xuICBjb25zdCBzcGVjaWFscyA9ICchQCMkJSYqKClfK3t9PD4/W10uLyc7XG4gIGNvbnN0IGFsbCA9IGxvd2VycyArIHVwcGVycyArIG51bWJlcnMgKyBzcGVjaWFscztcblxuICBjb25zdCBnZXRSYW5kb20gPSAoY2hyU2V0OiBzdHJpbmcpID0+IGNoclNldFtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaHJTZXQubGVuZ3RoKV07XG5cbiAgY29uc3QgcGFzc3dvcmQgPSBBcnJheSh7IGxlbmd0aCB9KTtcbiAgcGFzc3dvcmRbMF0gPSBnZXRSYW5kb20obG93ZXJzKTtcbiAgcGFzc3dvcmRbMV0gPSBnZXRSYW5kb20odXBwZXJzKTtcbiAgcGFzc3dvcmRbMl0gPSBnZXRSYW5kb20obnVtYmVycyk7XG4gIHBhc3N3b3JkWzNdID0gZ2V0UmFuZG9tKHNwZWNpYWxzKTtcblxuICBmb3IgKGxldCBpID0gNDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgcGFzc3dvcmRbaV0gPSBnZXRSYW5kb20oYWxsKTtcbiAgfVxuXG4gIHJldHVybiBwYXNzd29yZC5zb3J0KCgpID0+IDAuNSAtIE1hdGgucmFuZG9tKCkpLmpvaW4oJycpO1xufVxuIl19
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export function getPathName(url) {
|
|
2
|
-
const { pathname } = new URL(url, window.location.origin);
|
|
3
|
-
return pathname;
|
|
4
|
-
}
|
|
5
|
-
export class WebHttpUrlEncodingCodec {
|
|
6
|
-
encodeKey(k) {
|
|
7
|
-
return encodeURIComponent(k);
|
|
8
|
-
}
|
|
9
|
-
encodeValue(v) {
|
|
10
|
-
return encodeURIComponent(v);
|
|
11
|
-
}
|
|
12
|
-
decodeKey(k) {
|
|
13
|
-
return decodeURIComponent(k);
|
|
14
|
-
}
|
|
15
|
-
decodeValue(v) {
|
|
16
|
-
return decodeURIComponent(v);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export function getPathName(url) {
|
|
2
|
+
const { pathname } = new URL(url, window.location.origin);
|
|
3
|
+
return pathname;
|
|
4
|
+
}
|
|
5
|
+
export class WebHttpUrlEncodingCodec {
|
|
6
|
+
encodeKey(k) {
|
|
7
|
+
return encodeURIComponent(k);
|
|
8
|
+
}
|
|
9
|
+
encodeValue(v) {
|
|
10
|
+
return encodeURIComponent(v);
|
|
11
|
+
}
|
|
12
|
+
decodeKey(k) {
|
|
13
|
+
return decodeURIComponent(k);
|
|
14
|
+
}
|
|
15
|
+
decodeValue(v) {
|
|
16
|
+
return decodeURIComponent(v);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9odHRwLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBVztJQUNyQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsU0FBUyxDQUFDLENBQVM7UUFDakIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLENBQVM7UUFDbkIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsU0FBUyxDQUFDLENBQVM7UUFDakIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLENBQVM7UUFDbkIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1ldGVyQ29kZWMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXRoTmFtZSh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHsgcGF0aG5hbWUgfSA9IG5ldyBVUkwodXJsLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcbiAgcmV0dXJuIHBhdGhuYW1lO1xufVxuXG5leHBvcnQgY2xhc3MgV2ViSHR0cFVybEVuY29kaW5nQ29kZWMgaW1wbGVtZW50cyBIdHRwUGFyYW1ldGVyQ29kZWMge1xuICBlbmNvZGVLZXkoazogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGspO1xuICB9XG5cbiAgZW5jb2RlVmFsdWUodjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHYpO1xuICB9XG5cbiAgZGVjb2RlS2V5KGs6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChrKTtcbiAgfVxuXG4gIGRlY29kZVZhbHVlKHY6IHN0cmluZykge1xuICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQodik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export * from './array-utils';
|
|
2
|
-
export * from './auth-utils';
|
|
3
|
-
export * from './common-utils';
|
|
4
|
-
export * from './date-utils';
|
|
5
|
-
export * from './environment-utils';
|
|
6
|
-
export * from './factory-utils';
|
|
7
|
-
export * from './file-utils';
|
|
8
|
-
export * from './form-utils';
|
|
9
|
-
export * from './generator-utils';
|
|
10
|
-
export * from './http-utils';
|
|
11
|
-
export * from './initial-utils';
|
|
12
|
-
export * from './internal-store-utils';
|
|
13
|
-
export * from './lazy-load-utils';
|
|
14
|
-
export * from './localization-utils';
|
|
15
|
-
export * from './multi-tenancy-utils';
|
|
16
|
-
export * from './number-utils';
|
|
17
|
-
export * from './object-utils';
|
|
18
|
-
export * from './route-utils';
|
|
19
|
-
export * from './string-utils';
|
|
20
|
-
export * from './tree-utils';
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './array-utils';
|
|
2
|
+
export * from './auth-utils';
|
|
3
|
+
export * from './common-utils';
|
|
4
|
+
export * from './date-utils';
|
|
5
|
+
export * from './environment-utils';
|
|
6
|
+
export * from './factory-utils';
|
|
7
|
+
export * from './file-utils';
|
|
8
|
+
export * from './form-utils';
|
|
9
|
+
export * from './generator-utils';
|
|
10
|
+
export * from './http-utils';
|
|
11
|
+
export * from './initial-utils';
|
|
12
|
+
export * from './internal-store-utils';
|
|
13
|
+
export * from './lazy-load-utils';
|
|
14
|
+
export * from './localization-utils';
|
|
15
|
+
export * from './multi-tenancy-utils';
|
|
16
|
+
export * from './number-utils';
|
|
17
|
+
export * from './object-utils';
|
|
18
|
+
export * from './route-utils';
|
|
19
|
+
export * from './string-utils';
|
|
20
|
+
export * from './tree-utils';
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FycmF5LXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudC11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2ZhY3RvcnktdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2dlbmVyYXRvci11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2h0dHAtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbml0aWFsLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJuYWwtc3RvcmUtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXp5LWxvYWQtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2NhbGl6YXRpb24tdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tdWx0aS10ZW5hbmN5LXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vb2JqZWN0LXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGUtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJpbmctdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlLXV0aWxzJztcbiJdfQ==
|
|
@@ -1,64 +1,64 @@
|
|
|
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,
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy9pbml0aWFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWxDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNELE1BQU0sVUFBVSxjQUFjLENBQUMsUUFBa0I7SUFDL0MsTUFBTSxFQUFFLEdBQUcsR0FBUyxFQUFFO1FBQ3BCLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBYSxDQUFDO1FBRXZELGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBMEIsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEQsTUFBTSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxNQUFNLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFdkMsSUFBSSxPQUFPLENBQUMsdUJBQXVCO1lBQUUsT0FBTztRQUU1QyxPQUFPLFdBQVc7YUFDZixlQUFlLEVBQUU7YUFDakIsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUNyQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQXFCLENBQUM7WUFDOUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsTUFBTSxvQkFBb0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3pFLElBQUksb0JBQW9CLElBQUksb0JBQW9CLENBQUMsTUFBTSxFQUFFO2dCQUN2RCxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNuRDtZQUVELE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQyxDQUFBLENBQUM7SUFFRixPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsUUFBa0I7SUFDakQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsSUFBSSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUN6RSxpQkFBaUIsRUFBRSxDQUFDO0tBQ3JCO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxRQUFrQjtJQUNsRCxNQUFNLEVBQUUsR0FBRyxHQUFHLEVBQUU7UUFDZCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdkQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQWEsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsRSxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDO1FBRWhELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxPQUFPO29CQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFeEQsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRixPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWdpc3RlckxvY2FsZURhdGEgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgdGFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL21vZGVscy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBDdXJyZW50VGVuYW50RHRvIH0gZnJvbSAnLi4vcHJveHkvdm9sby9hYnAvYXNwLW5ldC1jb3JlL212Yy9tdWx0aS10ZW5hbmN5L21vZGVscyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWctc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZXNzaW9uLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2xlYXJPQXV0aFN0b3JhZ2UgfSBmcm9tICcuLi9zdHJhdGVnaWVzL2F1dGgtZmxvdy5zdHJhdGVneSc7XG5pbXBvcnQgeyBDT1JFX09QVElPTlMgfSBmcm9tICcuLi90b2tlbnMvb3B0aW9ucy50b2tlbic7XG5pbXBvcnQgeyBBUFBfSU5JVF9FUlJPUl9IQU5ETEVSUyB9IGZyb20gJy4uL3Rva2Vucy9hcHAtY29uZmlnLnRva2VuJztcbmltcG9ydCB7IGdldFJlbW90ZUVudiB9IGZyb20gJy4vZW52aXJvbm1lbnQtdXRpbHMnO1xuaW1wb3J0IHsgcGFyc2VUZW5hbnRGcm9tVXJsIH0gZnJvbSAnLi9tdWx0aS10ZW5hbmN5LXV0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxEYXRhKGluamVjdG9yOiBJbmplY3Rvcikge1xuICBjb25zdCBmbiA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBlbnZpcm9ubWVudFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoRW52aXJvbm1lbnRTZXJ2aWNlKTtcbiAgICBjb25zdCBjb25maWdTdGF0ZSA9IGluamVjdG9yLmdldChDb25maWdTdGF0ZVNlcnZpY2UpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSBpbmplY3Rvci5nZXQoQ09SRV9PUFRJT05TKSBhcyBBQlAuUm9vdDtcblxuICAgIGVudmlyb25tZW50U2VydmljZS5zZXRTdGF0ZShvcHRpb25zLmVudmlyb25tZW50IGFzIEVudmlyb25tZW50KTtcbiAgICBhd2FpdCBnZXRSZW1vdGVFbnYoaW5qZWN0b3IsIG9wdGlvbnMuZW52aXJvbm1lbnQpO1xuICAgIGF3YWl0IHBhcnNlVGVuYW50RnJvbVVybChpbmplY3Rvcik7XG4gICAgYXdhaXQgaW5qZWN0b3IuZ2V0KEF1dGhTZXJ2aWNlKS5pbml0KCk7XG5cbiAgICBpZiAob3B0aW9ucy5za2lwR2V0QXBwQ29uZmlndXJhdGlvbikgcmV0dXJuO1xuXG4gICAgcmV0dXJuIGNvbmZpZ1N0YXRlXG4gICAgICAucmVmcmVzaEFwcFN0YXRlKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gY2hlY2tBY2Nlc3NUb2tlbihpbmplY3RvcikpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRUZW5hbnQgPSBjb25maWdTdGF0ZS5nZXRPbmUoJ2N1cnJlbnRUZW5hbnQnKSBhcyBDdXJyZW50VGVuYW50RHRvO1xuICAgICAgICAgIGluamVjdG9yLmdldChTZXNzaW9uU3RhdGVTZXJ2aWNlKS5zZXRUZW5hbnQoY3VycmVudFRlbmFudCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zdCBhcHBJbml0RXJyb3JIYW5kbGVycyA9IGluamVjdG9yLmdldChBUFBfSU5JVF9FUlJPUl9IQU5ETEVSUywgbnVsbCk7XG4gICAgICAgICAgaWYgKGFwcEluaXRFcnJvckhhbmRsZXJzICYmIGFwcEluaXRFcnJvckhhbmRsZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgYXBwSW5pdEVycm9ySGFuZGxlcnMuZm9yRWFjaChmdW5jID0+IGZ1bmMoZXJyb3IpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9O1xuXG4gIHJldHVybiBmbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrQWNjZXNzVG9rZW4oaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIGNvbnN0IGNvbmZpZ1N0YXRlID0gaW5qZWN0b3IuZ2V0KENvbmZpZ1N0YXRlU2VydmljZSk7XG4gIGNvbnN0IG9BdXRoID0gaW5qZWN0b3IuZ2V0KE9BdXRoU2VydmljZSk7XG4gIGlmIChvQXV0aC5oYXNWYWxpZEFjY2Vzc1Rva2VuKCkgJiYgIWNvbmZpZ1N0YXRlLmdldERlZXAoJ2N1cnJlbnRVc2VyLmlkJykpIHtcbiAgICBjbGVhck9BdXRoU3RvcmFnZSgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2NhbGVJbml0aWFsaXplcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgY29uc3QgZm4gPSAoKSA9PiB7XG4gICAgY29uc3Qgc2Vzc2lvblN0YXRlID0gaW5qZWN0b3IuZ2V0KFNlc3Npb25TdGF0ZVNlcnZpY2UpO1xuICAgIGNvbnN0IHsgcmVnaXN0ZXJMb2NhbGVGbiB9OiBBQlAuUm9vdCA9IGluamVjdG9yLmdldChDT1JFX09QVElPTlMpO1xuXG4gICAgY29uc3QgbGFuZyA9IHNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSgpIHx8ICdlbic7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgcmVnaXN0ZXJMb2NhbGVGbihsYW5nKS50aGVuKG1vZHVsZSA9PiB7XG4gICAgICAgIGlmIChtb2R1bGU/LmRlZmF1bHQpIHJlZ2lzdGVyTG9jYWxlRGF0YShtb2R1bGUuZGVmYXVsdCk7XG5cbiAgICAgICAgcmV0dXJuIHJlc29sdmUoJ3Jlc29sdmVkJyk7XG4gICAgICB9LCByZWplY3QpO1xuICAgIH0pO1xuICB9O1xuXG4gIHJldHVybiBmbjtcbn1cbiJdfQ==
|