@abp/ng.core 7.2.1 → 7.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/abp-ng.core.mjs +4 -4
- package/esm2022/lib/abstracts/abstract-guard.mjs +2 -0
- package/{esm2020 → esm2022}/lib/abstracts/auth-response.model.mjs +1 -1
- package/esm2022/lib/abstracts/auth.guard.mjs +18 -0
- package/esm2022/lib/abstracts/auth.service.mjs +46 -0
- package/esm2022/lib/abstracts/index.mjs +6 -0
- package/esm2022/lib/abstracts/ng-model.component.mjs +60 -0
- package/esm2022/lib/clients/http.client.mjs +29 -0
- package/{esm2020 → esm2022}/lib/clients/index.mjs +1 -1
- package/esm2022/lib/components/dynamic-layout.component.mjs +101 -0
- package/{esm2020 → esm2022}/lib/components/index.mjs +3 -3
- package/esm2022/lib/components/replaceable-route-container.component.mjs +43 -0
- package/esm2022/lib/components/router-outlet.component.mjs +16 -0
- package/{esm2020 → esm2022}/lib/constants/different-locales.mjs +336 -336
- package/{esm2020 → esm2022}/lib/constants/index.mjs +1 -1
- package/esm2022/lib/core.module.mjs +285 -0
- package/esm2022/lib/directives/autofocus.directive.mjs +31 -0
- package/esm2022/lib/directives/debounce.directive.mjs +37 -0
- package/esm2022/lib/directives/for.directive.mjs +160 -0
- package/esm2022/lib/directives/form-submit.directive.mjs +78 -0
- package/{esm2020 → esm2022}/lib/directives/index.mjs +8 -8
- package/esm2022/lib/directives/init.directive.mjs +22 -0
- package/esm2022/lib/directives/permission.directive.mjs +75 -0
- package/esm2022/lib/directives/replaceable-template.directive.mjs +133 -0
- package/esm2022/lib/directives/stop-propagation.directive.mjs +33 -0
- package/{esm2020 → esm2022}/lib/enums/common.mjs +1 -1
- package/{esm2020 → esm2022}/lib/enums/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/guards/index.mjs +1 -1
- package/esm2022/lib/guards/permission.guard.mjs +41 -0
- package/esm2022/lib/handlers/routes.handler.mjs +52 -0
- package/esm2022/lib/interceptors/api.interceptor.mjs +28 -0
- package/{esm2020 → esm2022}/lib/interceptors/index.mjs +1 -1
- package/esm2022/lib/localization.module.mjs +17 -0
- package/{esm2020 → esm2022}/lib/models/auth.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/common.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/dtos.mjs +134 -134
- package/{esm2020 → esm2022}/lib/models/environment.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/index.mjs +9 -9
- package/{esm2020 → esm2022}/lib/models/localization.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/replaceable-components.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/rest.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/session.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/utility.mjs +1 -1
- package/{esm2020 → esm2022}/lib/pipes/index.mjs +7 -7
- package/esm2022/lib/pipes/localization.pipe.mjs +34 -0
- package/esm2022/lib/pipes/safe-html.pipe.mjs +24 -0
- package/esm2022/lib/pipes/short-date-time.pipe.mjs +35 -0
- package/esm2022/lib/pipes/short-date.pipe.mjs +35 -0
- package/esm2022/lib/pipes/short-time.pipe.mjs +35 -0
- package/esm2022/lib/pipes/sort.pipe.mjs +50 -0
- package/esm2022/lib/pipes/to-injector.pipe.mjs +30 -0
- package/{esm2020 → esm2022}/lib/providers/cookie-language.provider.mjs +21 -21
- package/{esm2020 → esm2022}/lib/providers/include-localization-resources.provider.mjs +5 -5
- package/{esm2020 → esm2022}/lib/providers/locale.provider.mjs +25 -25
- package/esm2022/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +28 -0
- package/{esm2020 → esm2022}/lib/proxy/pages/abp/multi-tenancy/index.mjs +1 -1
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +25 -0
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.mjs +1 -1
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +25 -0
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +25 -0
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/http/modeling/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/http/modeling/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/localization/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/localization/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/models.mjs +1 -1
- package/esm2022/lib/services/config-state.service.mjs +182 -0
- package/esm2022/lib/services/content-projection.service.mjs +18 -0
- package/esm2022/lib/services/dom-insertion.service.mjs +35 -0
- package/esm2022/lib/services/environment.service.mjs +49 -0
- package/esm2022/lib/services/http-error-reporter.service.mjs +30 -0
- package/esm2022/lib/services/http-wait.service.mjs +76 -0
- package/{esm2020 → esm2022}/lib/services/index.mjs +21 -21
- package/esm2022/lib/services/lazy-load.service.mjs +41 -0
- package/esm2022/lib/services/list.service.mjs +103 -0
- package/esm2022/lib/services/local-storage.service.mjs +33 -0
- package/esm2022/lib/services/localization.service.mjs +218 -0
- package/esm2022/lib/services/multi-tenancy.service.mjs +49 -0
- package/esm2022/lib/services/permission.service.mjs +64 -0
- package/esm2022/lib/services/replaceable-components.service.mjs +50 -0
- package/esm2022/lib/services/resource-wait.service.mjs +40 -0
- package/esm2022/lib/services/rest.service.mjs +79 -0
- package/esm2022/lib/services/router-events.service.mjs +39 -0
- package/esm2022/lib/services/router-wait.service.mjs +52 -0
- package/esm2022/lib/services/routes.service.mjs +165 -0
- package/esm2022/lib/services/session-state.service.mjs +81 -0
- package/esm2022/lib/services/subscription.service.mjs +44 -0
- package/esm2022/lib/services/track-by.service.mjs +22 -0
- package/{esm2020 → esm2022}/lib/strategies/container.strategy.mjs +37 -37
- package/{esm2020 → esm2022}/lib/strategies/content-security.strategy.mjs +29 -29
- package/{esm2020 → esm2022}/lib/strategies/content.strategy.mjs +51 -51
- package/{esm2020 → esm2022}/lib/strategies/context.strategy.mjs +36 -36
- package/{esm2020 → esm2022}/lib/strategies/cross-origin.strategy.mjs +27 -27
- package/{esm2020 → esm2022}/lib/strategies/dom.strategy.mjs +26 -26
- package/{esm2020 → esm2022}/lib/strategies/index.mjs +8 -8
- package/{esm2020 → esm2022}/lib/strategies/loading.strategy.mjs +57 -57
- package/{esm2020 → esm2022}/lib/strategies/projection.strategy.mjs +79 -79
- package/{esm2020 → esm2022}/lib/tokens/app-config.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/check-authentication-state.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/cookie-language-key.token.mjs +4 -4
- package/{esm2020 → esm2022}/lib/tokens/http-context.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/include-localization-resources.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/index.mjs +15 -15
- package/{esm2020 → esm2022}/lib/tokens/list.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/localization.token.mjs +9 -9
- package/{esm2020 → esm2022}/lib/tokens/lodaer-delay.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/manage-profile.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/options.token.mjs +7 -7
- package/{esm2020 → esm2022}/lib/tokens/others-group.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/pipe-to-login.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/queue.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/set-token-response-to-storage.token.mjs +5 -5
- package/{esm2020 → esm2022}/lib/tokens/tenant-key.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/utils/array-utils.mjs +6 -6
- package/{esm2020 → esm2022}/lib/utils/common-utils.mjs +34 -34
- package/{esm2020 → esm2022}/lib/utils/date-extensions.mjs +5 -5
- package/{esm2020 → esm2022}/lib/utils/date-utils.mjs +12 -12
- package/{esm2020 → esm2022}/lib/utils/environment-utils.mjs +35 -35
- package/{esm2020 → esm2022}/lib/utils/factory-utils.mjs +24 -24
- package/{esm2020 → esm2022}/lib/utils/file-utils.mjs +13 -13
- package/{esm2020 → esm2022}/lib/utils/form-utils.mjs +11 -11
- package/{esm2020 → esm2022}/lib/utils/generator-utils.mjs +33 -33
- package/{esm2020 → esm2022}/lib/utils/http-utils.mjs +18 -18
- package/{esm2020 → esm2022}/lib/utils/index.mjs +20 -20
- package/{esm2020 → esm2022}/lib/utils/initial-utils.mjs +59 -59
- package/esm2022/lib/utils/internal-store-utils.mjs +37 -0
- package/{esm2020 → esm2022}/lib/utils/lazy-load-utils.mjs +39 -39
- package/{esm2020 → esm2022}/lib/utils/localization-utils.mjs +48 -48
- package/{esm2020 → esm2022}/lib/utils/multi-tenancy-utils.mjs +80 -80
- package/{esm2020 → esm2022}/lib/utils/number-utils.mjs +3 -3
- package/{esm2020 → esm2022}/lib/utils/object-utils.mjs +36 -36
- package/{esm2020 → esm2022}/lib/utils/queue.mjs +40 -40
- package/{esm2020 → esm2022}/lib/utils/route-utils.mjs +25 -25
- package/{esm2020 → esm2022}/lib/utils/string-utils.mjs +29 -29
- package/{esm2020 → esm2022}/lib/utils/tree-utils.mjs +69 -69
- package/{esm2020 → esm2022}/lib/validators/age.validator.mjs +13 -13
- package/{esm2020 → esm2022}/lib/validators/credit-card.validator.mjs +20 -20
- package/esm2022/lib/validators/index.mjs +29 -0
- package/{esm2020 → esm2022}/lib/validators/range.validator.mjs +14 -14
- package/{esm2020 → esm2022}/lib/validators/required.validator.mjs +14 -14
- package/{esm2020 → esm2022}/lib/validators/string-length.validator.mjs +14 -14
- package/esm2022/lib/validators/unique-character.validator.mjs +13 -0
- package/{esm2020 → esm2022}/lib/validators/url.validator.mjs +16 -16
- package/{esm2020 → esm2022}/lib/validators/username.validator.mjs +13 -13
- package/{esm2020 → esm2022}/locale/abp-ng.core-locale.mjs +4 -4
- package/{esm2020 → esm2022}/locale/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/locale/utils/register-locale.mjs +46 -46
- package/{esm2020 → esm2022}/public-api.mjs +26 -26
- package/{esm2020 → esm2022}/testing/abp-ng.core-testing.mjs +4 -4
- package/esm2022/testing/lib/core-testing.module.mjs +68 -0
- package/{esm2020 → esm2022}/testing/lib/services/index.mjs +2 -2
- package/esm2022/testing/lib/services/mock-permission.service.mjs +36 -0
- package/esm2022/testing/lib/services/mock-rest.service.mjs +32 -0
- package/{esm2020 → esm2022}/testing/lib/utils/clear-page.util.mjs +9 -9
- package/{esm2020 → esm2022}/testing/lib/utils/index.mjs +2 -2
- package/{esm2020 → esm2022}/testing/lib/utils/wait.util.mjs +4 -4
- package/{esm2020 → esm2022}/testing/public-api.mjs +3 -3
- package/{fesm2020 → fesm2022}/abp-ng.core-locale.mjs +45 -45
- package/{fesm2020 → fesm2022}/abp-ng.core-testing.mjs +120 -120
- package/{fesm2020 → fesm2022}/abp-ng.core-testing.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/abp-ng.core.mjs +4199 -4187
- package/fesm2022/abp-ng.core.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/abstracts/abstract-guard.d.ts +5 -0
- package/lib/abstracts/auth-response.model.d.ts +10 -10
- package/lib/abstracts/auth.guard.d.ts +9 -10
- package/lib/abstracts/auth.service.d.ts +30 -30
- package/lib/abstracts/index.d.ts +5 -4
- package/lib/abstracts/ng-model.component.d.ts +25 -25
- package/lib/clients/http.client.d.ts +11 -11
- package/lib/clients/index.d.ts +1 -1
- package/lib/components/dynamic-layout.component.d.ts +28 -28
- package/lib/components/index.d.ts +3 -3
- package/lib/components/replaceable-route-container.component.d.ts +17 -17
- package/lib/components/router-outlet.component.d.ts +5 -5
- package/lib/constants/different-locales.d.ts +334 -334
- package/lib/constants/index.d.ts +1 -1
- package/lib/core.module.d.ts +57 -57
- package/lib/directives/autofocus.directive.d.ts +12 -12
- package/lib/directives/debounce.directive.d.ts +13 -13
- package/lib/directives/for.directive.d.ts +36 -36
- package/lib/directives/form-submit.directive.d.ts +23 -23
- package/lib/directives/index.d.ts +8 -8
- package/lib/directives/init.directive.d.ts +10 -10
- package/lib/directives/permission.directive.d.ts +24 -24
- package/lib/directives/replaceable-template.directive.d.ts +29 -29
- package/lib/directives/stop-propagation.directive.d.ts +12 -12
- package/lib/enums/common.d.ts +5 -5
- package/lib/enums/index.d.ts +1 -1
- package/lib/guards/index.d.ts +1 -1
- package/lib/guards/permission.guard.d.ts +16 -16
- package/lib/handlers/routes.handler.d.ts +11 -11
- package/lib/interceptors/api.interceptor.d.ts +14 -14
- package/lib/interceptors/index.d.ts +1 -1
- package/lib/localization.module.d.ts +7 -7
- package/lib/models/auth.d.ts +14 -14
- package/lib/models/common.d.ts +79 -79
- package/lib/models/dtos.d.ts +107 -107
- package/lib/models/environment.d.ts +38 -38
- package/lib/models/index.d.ts +9 -9
- package/lib/models/localization.d.ts +5 -5
- package/lib/models/replaceable-components.d.ts +45 -45
- package/lib/models/rest.d.ts +36 -36
- package/lib/models/session.d.ts +7 -7
- package/lib/models/utility.d.ts +14 -14
- package/lib/pipes/index.d.ts +7 -7
- package/lib/pipes/localization.pipe.d.ts +12 -12
- package/lib/pipes/safe-html.pipe.d.ts +9 -9
- package/lib/pipes/short-date-time.pipe.d.ts +12 -12
- package/lib/pipes/short-date.pipe.d.ts +12 -12
- package/lib/pipes/short-time.pipe.d.ts +12 -12
- package/lib/pipes/sort.pipe.d.ts +9 -9
- package/lib/pipes/to-injector.pipe.d.ts +10 -10
- package/lib/providers/cookie-language.provider.d.ts +3 -3
- package/lib/providers/include-localization-resources.provider.d.ts +2 -2
- package/lib/providers/locale.provider.d.ts +9 -9
- package/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.d.ts +12 -12
- package/lib/proxy/pages/abp/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.d.ts +5 -5
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.d.ts +106 -106
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.d.ts +71 -71
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.d.ts +14 -14
- package/lib/proxy/volo/abp/http/modeling/index.d.ts +1 -1
- package/lib/proxy/volo/abp/http/modeling/models.d.ts +88 -88
- package/lib/proxy/volo/abp/localization/index.d.ts +1 -1
- package/lib/proxy/volo/abp/localization/models.d.ts +7 -7
- package/lib/proxy/volo/abp/models.d.ts +4 -4
- package/lib/services/config-state.service.d.ts +379 -378
- package/lib/services/content-projection.service.d.ts +10 -10
- package/lib/services/dom-insertion.service.d.ts +10 -10
- package/lib/services/environment.service.d.ts +103 -103
- package/lib/services/http-error-reporter.service.d.ts +12 -12
- package/lib/services/http-wait.service.d.ts +30 -30
- package/lib/services/index.d.ts +21 -21
- package/lib/services/lazy-load.service.d.ts +13 -13
- package/lib/services/list.service.d.ts +39 -39
- package/lib/services/local-storage.service.d.ts +13 -13
- package/lib/services/localization.service.d.ts +54 -54
- package/lib/services/multi-tenancy.service.d.ts +22 -22
- package/lib/services/permission.service.d.ts +19 -19
- package/lib/services/replaceable-components.service.d.ts +19 -19
- package/lib/services/resource-wait.service.d.ts +15 -15
- package/lib/services/rest.service.d.ts +24 -24
- package/lib/services/router-events.service.d.ts +29 -29
- package/lib/services/router-wait.service.d.ts +20 -20
- package/lib/services/routes.service.d.ts +57 -57
- package/lib/services/session-state.service.d.ts +27 -27
- package/lib/services/subscription.service.d.ts +17 -17
- package/lib/services/track-by.service.d.ts +11 -11
- package/lib/strategies/container.strategy.d.ts +22 -22
- package/lib/strategies/content-security.strategy.d.ts +17 -17
- package/lib/strategies/content.strategy.d.ts +26 -26
- package/lib/strategies/context.strategy.d.ts +23 -23
- package/lib/strategies/cross-origin.strategy.d.ts +14 -14
- package/lib/strategies/dom.strategy.d.ts +13 -13
- package/lib/strategies/index.d.ts +8 -8
- package/lib/strategies/loading.strategy.d.ts +28 -28
- package/lib/strategies/projection.strategy.d.ts +39 -39
- package/lib/tokens/app-config.token.d.ts +3 -3
- package/lib/tokens/check-authentication-state.d.ts +3 -3
- package/lib/tokens/cookie-language-key.token.d.ts +2 -2
- package/lib/tokens/http-context.token.d.ts +2 -2
- package/lib/tokens/include-localization-resources.token.d.ts +2 -2
- package/lib/tokens/index.d.ts +15 -15
- package/lib/tokens/list.token.d.ts +2 -2
- package/lib/tokens/localization.token.d.ts +6 -6
- package/lib/tokens/lodaer-delay.token.d.ts +2 -2
- package/lib/tokens/manage-profile.token.d.ts +2 -2
- package/lib/tokens/options.token.d.ts +4 -4
- package/lib/tokens/others-group.token.d.ts +2 -2
- package/lib/tokens/pipe-to-login.token.d.ts +3 -3
- package/lib/tokens/queue.token.d.ts +3 -3
- package/lib/tokens/set-token-response-to-storage.token.d.ts +6 -6
- package/lib/tokens/tenant-key.token.d.ts +2 -2
- package/lib/utils/array-utils.d.ts +1 -1
- package/lib/utils/common-utils.d.ts +11 -11
- package/lib/utils/date-extensions.d.ts +6 -6
- package/lib/utils/date-utils.d.ts +4 -4
- package/lib/utils/environment-utils.d.ts +3 -3
- package/lib/utils/factory-utils.d.ts +11 -11
- package/lib/utils/file-utils.d.ts +1 -1
- package/lib/utils/form-utils.d.ts +2 -2
- package/lib/utils/generator-utils.d.ts +3 -3
- package/lib/utils/http-utils.d.ts +8 -8
- package/lib/utils/index.d.ts +20 -20
- package/lib/utils/initial-utils.d.ts +3 -3
- package/lib/utils/internal-store-utils.d.ts +14 -14
- package/lib/utils/lazy-load-utils.d.ts +4 -4
- package/lib/utils/localization-utils.d.ts +5 -5
- package/lib/utils/multi-tenancy-utils.d.ts +3 -3
- package/lib/utils/number-utils.d.ts +1 -1
- package/lib/utils/object-utils.d.ts +2 -2
- package/lib/utils/queue.d.ts +14 -14
- package/lib/utils/route-utils.d.ts +8 -8
- package/lib/utils/string-utils.d.ts +3 -3
- package/lib/utils/tree-utils.d.ts +26 -26
- package/lib/validators/age.validator.d.ts +10 -10
- package/lib/validators/credit-card.validator.d.ts +5 -5
- package/lib/validators/index.d.ts +28 -24
- package/lib/validators/range.validator.d.ts +12 -12
- package/lib/validators/required.validator.d.ts +8 -8
- package/lib/validators/string-length.validator.d.ts +14 -14
- package/lib/validators/unique-character.validator.d.ts +5 -0
- package/lib/validators/url.validator.d.ts +5 -5
- package/lib/validators/username.validator.d.ts +10 -10
- package/locale/index.d.ts +5 -5
- package/locale/public-api.d.ts +1 -1
- package/locale/utils/register-locale.d.ts +13 -13
- package/package.json +12 -22
- package/public-api.d.ts +25 -25
- package/testing/index.d.ts +5 -5
- package/testing/lib/core-testing.module.d.ts +16 -16
- package/testing/lib/services/index.d.ts +2 -2
- package/testing/lib/services/mock-permission.service.d.ts +10 -10
- package/testing/lib/services/mock-rest.service.d.ts +14 -14
- package/testing/lib/utils/clear-page.util.d.ts +2 -2
- package/testing/lib/utils/index.d.ts +2 -2
- package/testing/lib/utils/wait.util.d.ts +2 -2
- package/testing/public-api.d.ts +3 -3
- package/esm2020/lib/abstracts/auth.guard.mjs +0 -17
- package/esm2020/lib/abstracts/auth.service.mjs +0 -45
- package/esm2020/lib/abstracts/index.mjs +0 -5
- package/esm2020/lib/abstracts/ng-model.component.mjs +0 -59
- package/esm2020/lib/clients/http.client.mjs +0 -34
- package/esm2020/lib/components/dynamic-layout.component.mjs +0 -100
- package/esm2020/lib/components/replaceable-route-container.component.mjs +0 -42
- package/esm2020/lib/components/router-outlet.component.mjs +0 -15
- package/esm2020/lib/core.module.mjs +0 -282
- package/esm2020/lib/directives/autofocus.directive.mjs +0 -30
- package/esm2020/lib/directives/debounce.directive.mjs +0 -36
- package/esm2020/lib/directives/for.directive.mjs +0 -159
- package/esm2020/lib/directives/form-submit.directive.mjs +0 -77
- package/esm2020/lib/directives/init.directive.mjs +0 -21
- package/esm2020/lib/directives/permission.directive.mjs +0 -74
- package/esm2020/lib/directives/replaceable-template.directive.mjs +0 -132
- package/esm2020/lib/directives/stop-propagation.directive.mjs +0 -32
- package/esm2020/lib/guards/permission.guard.mjs +0 -44
- package/esm2020/lib/handlers/routes.handler.mjs +0 -51
- package/esm2020/lib/interceptors/api.interceptor.mjs +0 -27
- package/esm2020/lib/localization.module.mjs +0 -16
- package/esm2020/lib/pipes/localization.pipe.mjs +0 -33
- package/esm2020/lib/pipes/safe-html.pipe.mjs +0 -23
- package/esm2020/lib/pipes/short-date-time.pipe.mjs +0 -34
- package/esm2020/lib/pipes/short-date.pipe.mjs +0 -34
- package/esm2020/lib/pipes/short-time.pipe.mjs +0 -34
- package/esm2020/lib/pipes/sort.pipe.mjs +0 -49
- package/esm2020/lib/pipes/to-injector.pipe.mjs +0 -29
- package/esm2020/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +0 -27
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +0 -24
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +0 -24
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +0 -24
- package/esm2020/lib/services/config-state.service.mjs +0 -178
- package/esm2020/lib/services/content-projection.service.mjs +0 -17
- package/esm2020/lib/services/dom-insertion.service.mjs +0 -34
- package/esm2020/lib/services/environment.service.mjs +0 -48
- package/esm2020/lib/services/http-error-reporter.service.mjs +0 -29
- package/esm2020/lib/services/http-wait.service.mjs +0 -75
- package/esm2020/lib/services/lazy-load.service.mjs +0 -40
- package/esm2020/lib/services/list.service.mjs +0 -102
- package/esm2020/lib/services/local-storage.service.mjs +0 -32
- package/esm2020/lib/services/localization.service.mjs +0 -217
- package/esm2020/lib/services/multi-tenancy.service.mjs +0 -48
- package/esm2020/lib/services/permission.service.mjs +0 -63
- package/esm2020/lib/services/replaceable-components.service.mjs +0 -49
- package/esm2020/lib/services/resource-wait.service.mjs +0 -39
- package/esm2020/lib/services/rest.service.mjs +0 -78
- package/esm2020/lib/services/router-events.service.mjs +0 -38
- package/esm2020/lib/services/router-wait.service.mjs +0 -51
- package/esm2020/lib/services/routes.service.mjs +0 -163
- package/esm2020/lib/services/session-state.service.mjs +0 -80
- package/esm2020/lib/services/subscription.service.mjs +0 -43
- package/esm2020/lib/services/track-by.service.mjs +0 -21
- package/esm2020/lib/utils/internal-store-utils.mjs +0 -37
- package/esm2020/lib/validators/index.mjs +0 -25
- package/esm2020/testing/lib/core-testing.module.mjs +0 -67
- package/esm2020/testing/lib/services/mock-permission.service.mjs +0 -35
- package/esm2020/testing/lib/services/mock-rest.service.mjs +0 -31
- package/fesm2015/abp-ng.core-locale.mjs +0 -57
- package/fesm2015/abp-ng.core-locale.mjs.map +0 -1
- package/fesm2015/abp-ng.core-testing.mjs +0 -146
- package/fesm2015/abp-ng.core-testing.mjs.map +0 -1
- package/fesm2015/abp-ng.core.mjs +0 -4460
- package/fesm2015/abp-ng.core.mjs.map +0 -1
- package/fesm2020/abp-ng.core.mjs.map +0 -1
- package/src/lib/proxy/README.md +0 -17
- /package/{fesm2020 → fesm2022}/abp-ng.core-locale.mjs.map +0 -0
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
export class ContainerStrategy {
|
|
2
|
-
constructor(containerRef) {
|
|
3
|
-
this.containerRef = containerRef;
|
|
4
|
-
}
|
|
5
|
-
prepare() { }
|
|
6
|
-
}
|
|
7
|
-
export class ClearContainerStrategy extends ContainerStrategy {
|
|
8
|
-
getIndex() {
|
|
9
|
-
return 0;
|
|
10
|
-
}
|
|
11
|
-
prepare() {
|
|
12
|
-
this.containerRef.clear();
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export class InsertIntoContainerStrategy extends ContainerStrategy {
|
|
16
|
-
constructor(containerRef, index) {
|
|
17
|
-
super(containerRef);
|
|
18
|
-
this.index = index;
|
|
19
|
-
}
|
|
20
|
-
getIndex() {
|
|
21
|
-
return Math.min(Math.max(0, this.index), this.containerRef.length);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export const CONTAINER_STRATEGY = {
|
|
25
|
-
Clear(containerRef) {
|
|
26
|
-
return new ClearContainerStrategy(containerRef);
|
|
27
|
-
},
|
|
28
|
-
Append(containerRef) {
|
|
29
|
-
return new InsertIntoContainerStrategy(containerRef, containerRef.length);
|
|
30
|
-
},
|
|
31
|
-
Prepend(containerRef) {
|
|
32
|
-
return new InsertIntoContainerStrategy(containerRef, 0);
|
|
33
|
-
},
|
|
34
|
-
Insert(containerRef, index) {
|
|
35
|
-
return new InsertIntoContainerStrategy(containerRef, index);
|
|
36
|
-
},
|
|
37
|
-
};
|
|
1
|
+
export class ContainerStrategy {
|
|
2
|
+
constructor(containerRef) {
|
|
3
|
+
this.containerRef = containerRef;
|
|
4
|
+
}
|
|
5
|
+
prepare() { }
|
|
6
|
+
}
|
|
7
|
+
export class ClearContainerStrategy extends ContainerStrategy {
|
|
8
|
+
getIndex() {
|
|
9
|
+
return 0;
|
|
10
|
+
}
|
|
11
|
+
prepare() {
|
|
12
|
+
this.containerRef.clear();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class InsertIntoContainerStrategy extends ContainerStrategy {
|
|
16
|
+
constructor(containerRef, index) {
|
|
17
|
+
super(containerRef);
|
|
18
|
+
this.index = index;
|
|
19
|
+
}
|
|
20
|
+
getIndex() {
|
|
21
|
+
return Math.min(Math.max(0, this.index), this.containerRef.length);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export const CONTAINER_STRATEGY = {
|
|
25
|
+
Clear(containerRef) {
|
|
26
|
+
return new ClearContainerStrategy(containerRef);
|
|
27
|
+
},
|
|
28
|
+
Append(containerRef) {
|
|
29
|
+
return new InsertIntoContainerStrategy(containerRef, containerRef.length);
|
|
30
|
+
},
|
|
31
|
+
Prepend(containerRef) {
|
|
32
|
+
return new InsertIntoContainerStrategy(containerRef, 0);
|
|
33
|
+
},
|
|
34
|
+
Insert(containerRef, index) {
|
|
35
|
+
return new InsertIntoContainerStrategy(containerRef, index);
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
38
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvY29udGFpbmVyLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBZ0IsaUJBQWlCO0lBQ3JDLFlBQW1CLFlBQThCO1FBQTlCLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtJQUFHLENBQUM7SUFJckQsT0FBTyxLQUFVLENBQUM7Q0FDbkI7QUFFRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsaUJBQWlCO0lBQzNELFFBQVE7UUFDTixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsaUJBQWlCO0lBQ2hFLFlBQVksWUFBOEIsRUFBVSxLQUFhO1FBQy9ELEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUQ4QixVQUFLLEdBQUwsS0FBSyxDQUFRO0lBRWpFLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLEtBQUssQ0FBQyxZQUE4QjtRQUNsQyxPQUFPLElBQUksc0JBQXNCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELE1BQU0sQ0FBQyxZQUE4QjtRQUNuQyxPQUFPLElBQUksMkJBQTJCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QsT0FBTyxDQUFDLFlBQThCO1FBQ3BDLE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELE1BQU0sQ0FBQyxZQUE4QixFQUFFLEtBQWE7UUFDbEQsT0FBTyxJQUFJLDJCQUEyQixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb250YWluZXJTdHJhdGVneSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cclxuXHJcbiAgYWJzdHJhY3QgZ2V0SW5kZXgoKTogbnVtYmVyO1xyXG5cclxuICBwcmVwYXJlKCk6IHZvaWQge31cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENsZWFyQ29udGFpbmVyU3RyYXRlZ3kgZXh0ZW5kcyBDb250YWluZXJTdHJhdGVneSB7XHJcbiAgZ2V0SW5kZXgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgcHJlcGFyZSgpIHtcclxuICAgIHRoaXMuY29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSW5zZXJ0SW50b0NvbnRhaW5lclN0cmF0ZWd5IGV4dGVuZHMgQ29udGFpbmVyU3RyYXRlZ3kge1xyXG4gIGNvbnN0cnVjdG9yKGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBzdXBlcihjb250YWluZXJSZWYpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5kZXgoKSB7XHJcbiAgICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoMCwgdGhpcy5pbmRleCksIHRoaXMuY29udGFpbmVyUmVmLmxlbmd0aCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQ09OVEFJTkVSX1NUUkFURUdZID0ge1xyXG4gIENsZWFyKGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG4gICAgcmV0dXJuIG5ldyBDbGVhckNvbnRhaW5lclN0cmF0ZWd5KGNvbnRhaW5lclJlZik7XHJcbiAgfSxcclxuICBBcHBlbmQoY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgICByZXR1cm4gbmV3IEluc2VydEludG9Db250YWluZXJTdHJhdGVneShjb250YWluZXJSZWYsIGNvbnRhaW5lclJlZi5sZW5ndGgpO1xyXG4gIH0sXHJcbiAgUHJlcGVuZChjb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcclxuICAgIHJldHVybiBuZXcgSW5zZXJ0SW50b0NvbnRhaW5lclN0cmF0ZWd5KGNvbnRhaW5lclJlZiwgMCk7XHJcbiAgfSxcclxuICBJbnNlcnQoY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gbmV3IEluc2VydEludG9Db250YWluZXJTdHJhdGVneShjb250YWluZXJSZWYsIGluZGV4KTtcclxuICB9LFxyXG59O1xyXG4iXX0=
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
export class ContentSecurityStrategy {
|
|
2
|
-
constructor(nonce) {
|
|
3
|
-
this.nonce = nonce;
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
export class LooseContentSecurityStrategy extends ContentSecurityStrategy {
|
|
7
|
-
constructor(nonce) {
|
|
8
|
-
super(nonce);
|
|
9
|
-
}
|
|
10
|
-
applyCSP(element) {
|
|
11
|
-
if (this.nonce) {
|
|
12
|
-
element.setAttribute('nonce', this.nonce);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export class NoContentSecurityStrategy extends ContentSecurityStrategy {
|
|
17
|
-
constructor() {
|
|
18
|
-
super();
|
|
19
|
-
}
|
|
20
|
-
applyCSP(_) { }
|
|
21
|
-
}
|
|
22
|
-
export const CONTENT_SECURITY_STRATEGY = {
|
|
23
|
-
Loose(nonce) {
|
|
24
|
-
return new LooseContentSecurityStrategy(nonce);
|
|
25
|
-
},
|
|
26
|
-
None() {
|
|
27
|
-
return new NoContentSecurityStrategy();
|
|
28
|
-
},
|
|
29
|
-
};
|
|
1
|
+
export class ContentSecurityStrategy {
|
|
2
|
+
constructor(nonce) {
|
|
3
|
+
this.nonce = nonce;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
export class LooseContentSecurityStrategy extends ContentSecurityStrategy {
|
|
7
|
+
constructor(nonce) {
|
|
8
|
+
super(nonce);
|
|
9
|
+
}
|
|
10
|
+
applyCSP(element) {
|
|
11
|
+
if (this.nonce) {
|
|
12
|
+
element.setAttribute('nonce', this.nonce);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export class NoContentSecurityStrategy extends ContentSecurityStrategy {
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
}
|
|
20
|
+
applyCSP(_) { }
|
|
21
|
+
}
|
|
22
|
+
export const CONTENT_SECURITY_STRATEGY = {
|
|
23
|
+
Loose(nonce) {
|
|
24
|
+
return new LooseContentSecurityStrategy(nonce);
|
|
25
|
+
},
|
|
26
|
+
None() {
|
|
27
|
+
return new NoContentSecurityStrategy();
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
30
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1zZWN1cml0eS5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2NvbnRlbnQtc2VjdXJpdHkuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFnQix1QkFBdUI7SUFDM0MsWUFBbUIsS0FBYztRQUFkLFVBQUssR0FBTCxLQUFLLENBQVM7SUFBRyxDQUFDO0NBR3RDO0FBRUQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHVCQUF1QjtJQUN2RSxZQUFZLEtBQWE7UUFDdkIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUE2QztRQUNwRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsdUJBQXVCO0lBQ3BFO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsUUFBUSxDQUFDLENBQXVDLElBQUcsQ0FBQztDQUNyRDtBQUVELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHO0lBQ3ZDLEtBQUssQ0FBQyxLQUFhO1FBQ2pCLE9BQU8sSUFBSSw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsSUFBSTtRQUNGLE9BQU8sSUFBSSx5QkFBeUIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRlbnRTZWN1cml0eVN0cmF0ZWd5IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbm9uY2U/OiBzdHJpbmcpIHt9XHJcblxyXG4gIGFic3RyYWN0IGFwcGx5Q1NQKGVsZW1lbnQ6IEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTFN0eWxlRWxlbWVudCk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb29zZUNvbnRlbnRTZWN1cml0eVN0cmF0ZWd5IGV4dGVuZHMgQ29udGVudFNlY3VyaXR5U3RyYXRlZ3kge1xyXG4gIGNvbnN0cnVjdG9yKG5vbmNlOiBzdHJpbmcpIHtcclxuICAgIHN1cGVyKG5vbmNlKTtcclxuICB9XHJcblxyXG4gIGFwcGx5Q1NQKGVsZW1lbnQ6IEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTFN0eWxlRWxlbWVudCkge1xyXG4gICAgaWYgKHRoaXMubm9uY2UpIHtcclxuICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ25vbmNlJywgdGhpcy5ub25jZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTm9Db250ZW50U2VjdXJpdHlTdHJhdGVneSBleHRlbmRzIENvbnRlbnRTZWN1cml0eVN0cmF0ZWd5IHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBhcHBseUNTUChfOiBIVE1MU2NyaXB0RWxlbWVudCB8IEhUTUxTdHlsZUVsZW1lbnQpIHt9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDT05URU5UX1NFQ1VSSVRZX1NUUkFURUdZID0ge1xyXG4gIExvb3NlKG5vbmNlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBuZXcgTG9vc2VDb250ZW50U2VjdXJpdHlTdHJhdGVneShub25jZSk7XHJcbiAgfSxcclxuICBOb25lKCkge1xyXG4gICAgcmV0dXJuIG5ldyBOb0NvbnRlbnRTZWN1cml0eVN0cmF0ZWd5KCk7XHJcbiAgfSxcclxufTtcclxuIl19
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { CONTENT_SECURITY_STRATEGY } from './content-security.strategy';
|
|
2
|
-
import { DOM_STRATEGY } from './dom.strategy';
|
|
3
|
-
export class ContentStrategy {
|
|
4
|
-
constructor(content, domStrategy = DOM_STRATEGY.AppendToHead(), contentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(), options = {}) {
|
|
5
|
-
this.content = content;
|
|
6
|
-
this.domStrategy = domStrategy;
|
|
7
|
-
this.contentSecurityStrategy = contentSecurityStrategy;
|
|
8
|
-
this.options = options;
|
|
9
|
-
}
|
|
10
|
-
insertElement() {
|
|
11
|
-
const element = this.createElement();
|
|
12
|
-
if (this.options && Object.keys(this.options).length > 0) {
|
|
13
|
-
Object.keys(this.options).forEach(key => {
|
|
14
|
-
if (this.options[key]) {
|
|
15
|
-
element[key] = this.options[key];
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
this.contentSecurityStrategy.applyCSP(element);
|
|
20
|
-
this.domStrategy.insertElement(element);
|
|
21
|
-
return element;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export class StyleContentStrategy extends ContentStrategy {
|
|
25
|
-
createElement() {
|
|
26
|
-
const element = document.createElement('style');
|
|
27
|
-
element.textContent = this.content;
|
|
28
|
-
return element;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
export class ScriptContentStrategy extends ContentStrategy {
|
|
32
|
-
createElement() {
|
|
33
|
-
const element = document.createElement('script');
|
|
34
|
-
element.textContent = this.content;
|
|
35
|
-
return element;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
export const CONTENT_STRATEGY = {
|
|
39
|
-
AppendScriptToBody(content, options) {
|
|
40
|
-
return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody(), undefined, options);
|
|
41
|
-
},
|
|
42
|
-
AppendScriptToHead(content, options) {
|
|
43
|
-
return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);
|
|
44
|
-
},
|
|
45
|
-
AppendStyleToHead(content, options) {
|
|
46
|
-
return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);
|
|
47
|
-
},
|
|
48
|
-
PrependStyleToHead(content, options) {
|
|
49
|
-
return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead(), undefined, options);
|
|
50
|
-
},
|
|
51
|
-
};
|
|
1
|
+
import { CONTENT_SECURITY_STRATEGY } from './content-security.strategy';
|
|
2
|
+
import { DOM_STRATEGY } from './dom.strategy';
|
|
3
|
+
export class ContentStrategy {
|
|
4
|
+
constructor(content, domStrategy = DOM_STRATEGY.AppendToHead(), contentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(), options = {}) {
|
|
5
|
+
this.content = content;
|
|
6
|
+
this.domStrategy = domStrategy;
|
|
7
|
+
this.contentSecurityStrategy = contentSecurityStrategy;
|
|
8
|
+
this.options = options;
|
|
9
|
+
}
|
|
10
|
+
insertElement() {
|
|
11
|
+
const element = this.createElement();
|
|
12
|
+
if (this.options && Object.keys(this.options).length > 0) {
|
|
13
|
+
Object.keys(this.options).forEach(key => {
|
|
14
|
+
if (this.options[key]) {
|
|
15
|
+
element[key] = this.options[key];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
this.contentSecurityStrategy.applyCSP(element);
|
|
20
|
+
this.domStrategy.insertElement(element);
|
|
21
|
+
return element;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class StyleContentStrategy extends ContentStrategy {
|
|
25
|
+
createElement() {
|
|
26
|
+
const element = document.createElement('style');
|
|
27
|
+
element.textContent = this.content;
|
|
28
|
+
return element;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class ScriptContentStrategy extends ContentStrategy {
|
|
32
|
+
createElement() {
|
|
33
|
+
const element = document.createElement('script');
|
|
34
|
+
element.textContent = this.content;
|
|
35
|
+
return element;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export const CONTENT_STRATEGY = {
|
|
39
|
+
AppendScriptToBody(content, options) {
|
|
40
|
+
return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody(), undefined, options);
|
|
41
|
+
},
|
|
42
|
+
AppendScriptToHead(content, options) {
|
|
43
|
+
return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);
|
|
44
|
+
},
|
|
45
|
+
AppendStyleToHead(content, options) {
|
|
46
|
+
return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);
|
|
47
|
+
},
|
|
48
|
+
PrependStyleToHead(content, options) {
|
|
49
|
+
return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead(), undefined, options);
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
52
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2NvbnRlbnQuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUEyQixNQUFNLDZCQUE2QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zRCxNQUFNLE9BQWdCLGVBQWU7SUFDbkMsWUFDUyxPQUFlLEVBQ1osY0FBMkIsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUN0RCwwQkFBbUQseUJBQXlCLENBQUMsSUFBSSxFQUFFLEVBQ25GLFVBQTZCLEVBQUU7UUFIbEMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNaLGdCQUFXLEdBQVgsV0FBVyxDQUEyQztRQUN0RCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTREO1FBQ25GLFlBQU8sR0FBUCxPQUFPLENBQXdCO0lBQ3hDLENBQUM7SUFJSixhQUFhO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBb0MsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFJLElBQUksQ0FBQyxPQUEwQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN0RDtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXhDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxlQUFpQztJQUN6RSxhQUFhO1FBQ1gsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFbkMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWtDO0lBQzNFLGFBQWE7UUFDWCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUVuQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixrQkFBa0IsQ0FBQyxPQUFlLEVBQUUsT0FBMkM7UUFDN0UsT0FBTyxJQUFJLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxPQUFlLEVBQUUsT0FBMkM7UUFDN0UsT0FBTyxJQUFJLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxPQUFlLEVBQUUsT0FBMEM7UUFDM0UsT0FBTyxJQUFJLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxPQUFlLEVBQUUsT0FBMEM7UUFDNUUsT0FBTyxJQUFJLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09OVEVOVF9TRUNVUklUWV9TVFJBVEVHWSwgQ29udGVudFNlY3VyaXR5U3RyYXRlZ3kgfSBmcm9tICcuL2NvbnRlbnQtc2VjdXJpdHkuc3RyYXRlZ3knO1xyXG5pbXBvcnQgeyBET01fU1RSQVRFR1ksIERvbVN0cmF0ZWd5IH0gZnJvbSAnLi9kb20uc3RyYXRlZ3knO1xyXG5cclxuZXhwb3J0IHR5cGUgRWxlbWVudE9wdGlvbnM8VCBleHRlbmRzIEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTFN0eWxlRWxlbWVudCA9IGFueT4gPSBQYXJ0aWFsPHtcclxuICBba2V5IGluIGtleW9mIFRdOiBUW2tleV07XHJcbn0+O1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRlbnRTdHJhdGVneTxUIGV4dGVuZHMgSFRNTFNjcmlwdEVsZW1lbnQgfCBIVE1MU3R5bGVFbGVtZW50ID0gYW55PiB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29udGVudDogc3RyaW5nLFxyXG4gICAgcHJvdGVjdGVkIGRvbVN0cmF0ZWd5OiBEb21TdHJhdGVneSA9IERPTV9TVFJBVEVHWS5BcHBlbmRUb0hlYWQoKSxcclxuICAgIHByb3RlY3RlZCBjb250ZW50U2VjdXJpdHlTdHJhdGVneTogQ29udGVudFNlY3VyaXR5U3RyYXRlZ3kgPSBDT05URU5UX1NFQ1VSSVRZX1NUUkFURUdZLk5vbmUoKSxcclxuICAgIHByb3RlY3RlZCBvcHRpb25zOiBFbGVtZW50T3B0aW9uczxUPiA9IHt9LFxyXG4gICkge31cclxuXHJcbiAgYWJzdHJhY3QgY3JlYXRlRWxlbWVudCgpOiBUO1xyXG5cclxuICBpbnNlcnRFbGVtZW50KCk6IFQge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuY3JlYXRlRWxlbWVudCgpO1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgT2JqZWN0LmtleXModGhpcy5vcHRpb25zKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIChPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMpIGFzIEFycmF5PGtleW9mIEVsZW1lbnRPcHRpb25zPFQ+PikuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnNba2V5XSkge1xyXG4gICAgICAgICAgZWxlbWVudFtrZXldID0gKHRoaXMub3B0aW9ucyBhcyBOb25OdWxsYWJsZTxUPilba2V5XTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29udGVudFNlY3VyaXR5U3RyYXRlZ3kuYXBwbHlDU1AoZWxlbWVudCk7XHJcbiAgICB0aGlzLmRvbVN0cmF0ZWd5Lmluc2VydEVsZW1lbnQoZWxlbWVudCk7XHJcblxyXG4gICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3R5bGVDb250ZW50U3RyYXRlZ3kgZXh0ZW5kcyBDb250ZW50U3RyYXRlZ3k8SFRNTFN0eWxlRWxlbWVudD4ge1xyXG4gIGNyZWF0ZUVsZW1lbnQoKTogSFRNTFN0eWxlRWxlbWVudCB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcclxuICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XHJcblxyXG4gICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2NyaXB0Q29udGVudFN0cmF0ZWd5IGV4dGVuZHMgQ29udGVudFN0cmF0ZWd5PEhUTUxTY3JpcHRFbGVtZW50PiB7XHJcbiAgY3JlYXRlRWxlbWVudCgpOiBIVE1MU2NyaXB0RWxlbWVudCB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICBlbGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5jb250ZW50O1xyXG5cclxuICAgIHJldHVybiBlbGVtZW50O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IENPTlRFTlRfU1RSQVRFR1kgPSB7XHJcbiAgQXBwZW5kU2NyaXB0VG9Cb2R5KGNvbnRlbnQ6IHN0cmluZywgb3B0aW9ucz86IEVsZW1lbnRPcHRpb25zPEhUTUxTY3JpcHRFbGVtZW50Pikge1xyXG4gICAgcmV0dXJuIG5ldyBTY3JpcHRDb250ZW50U3RyYXRlZ3koY29udGVudCwgRE9NX1NUUkFURUdZLkFwcGVuZFRvQm9keSgpLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xyXG4gIH0sXHJcbiAgQXBwZW5kU2NyaXB0VG9IZWFkKGNvbnRlbnQ6IHN0cmluZywgb3B0aW9ucz86IEVsZW1lbnRPcHRpb25zPEhUTUxTY3JpcHRFbGVtZW50Pikge1xyXG4gICAgcmV0dXJuIG5ldyBTY3JpcHRDb250ZW50U3RyYXRlZ3koY29udGVudCwgRE9NX1NUUkFURUdZLkFwcGVuZFRvSGVhZCgpLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xyXG4gIH0sXHJcbiAgQXBwZW5kU3R5bGVUb0hlYWQoY29udGVudDogc3RyaW5nLCBvcHRpb25zPzogRWxlbWVudE9wdGlvbnM8SFRNTFN0eWxlRWxlbWVudD4pIHtcclxuICAgIHJldHVybiBuZXcgU3R5bGVDb250ZW50U3RyYXRlZ3koY29udGVudCwgRE9NX1NUUkFURUdZLkFwcGVuZFRvSGVhZCgpLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xyXG4gIH0sXHJcbiAgUHJlcGVuZFN0eWxlVG9IZWFkKGNvbnRlbnQ6IHN0cmluZywgb3B0aW9ucz86IEVsZW1lbnRPcHRpb25zPEhUTUxTdHlsZUVsZW1lbnQ+KSB7XHJcbiAgICByZXR1cm4gbmV3IFN0eWxlQ29udGVudFN0cmF0ZWd5KGNvbnRlbnQsIERPTV9TVFJBVEVHWS5QcmVwZW5kVG9IZWFkKCksIHVuZGVmaW5lZCwgb3B0aW9ucyk7XHJcbiAgfSxcclxufTtcclxuIl19
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
export class ContextStrategy {
|
|
2
|
-
constructor(context) {
|
|
3
|
-
this.context = context;
|
|
4
|
-
}
|
|
5
|
-
setContext(componentRef) {
|
|
6
|
-
return this.context;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export class NoContextStrategy extends ContextStrategy {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(undefined);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
export class ComponentContextStrategy extends ContextStrategy {
|
|
15
|
-
setContext(componentRef) {
|
|
16
|
-
Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));
|
|
17
|
-
componentRef.changeDetectorRef.detectChanges();
|
|
18
|
-
return this.context;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export class TemplateContextStrategy extends ContextStrategy {
|
|
22
|
-
setContext() {
|
|
23
|
-
return this.context;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export const CONTEXT_STRATEGY = {
|
|
27
|
-
None() {
|
|
28
|
-
return new NoContextStrategy();
|
|
29
|
-
},
|
|
30
|
-
Component(context) {
|
|
31
|
-
return new ComponentContextStrategy(context);
|
|
32
|
-
},
|
|
33
|
-
Template(context) {
|
|
34
|
-
return new TemplateContextStrategy(context);
|
|
35
|
-
},
|
|
36
|
-
};
|
|
1
|
+
export class ContextStrategy {
|
|
2
|
+
constructor(context) {
|
|
3
|
+
this.context = context;
|
|
4
|
+
}
|
|
5
|
+
setContext(componentRef) {
|
|
6
|
+
return this.context;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class NoContextStrategy extends ContextStrategy {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(undefined);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class ComponentContextStrategy extends ContextStrategy {
|
|
15
|
+
setContext(componentRef) {
|
|
16
|
+
Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));
|
|
17
|
+
componentRef.changeDetectorRef.detectChanges();
|
|
18
|
+
return this.context;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class TemplateContextStrategy extends ContextStrategy {
|
|
22
|
+
setContext() {
|
|
23
|
+
return this.context;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export const CONTEXT_STRATEGY = {
|
|
27
|
+
None() {
|
|
28
|
+
return new NoContextStrategy();
|
|
29
|
+
},
|
|
30
|
+
Component(context) {
|
|
31
|
+
return new ComponentContextStrategy(context);
|
|
32
|
+
},
|
|
33
|
+
Template(context) {
|
|
34
|
+
return new TemplateContextStrategy(context);
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
37
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2NvbnRleHQuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFnQixlQUFlO0lBQ25DLFlBQW1CLE9BQWdDO1FBQWhDLFlBQU8sR0FBUCxPQUFPLENBQXlCO0lBQUcsQ0FBQztJQUV2RCxVQUFVLENBQUMsWUFBa0Q7UUFDM0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFFWCxTQUFRLGVBQWtCO0lBQzFCO1FBQ0UsS0FBSyxDQUFDLFNBQStDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sd0JBQW9ELFNBQVEsZUFBa0I7SUFDekYsVUFBVSxDQUFDLFlBQWlEO1FBQzFELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRixZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyx1QkFBMEQsU0FBUSxlQUFrQjtJQUMvRixVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUk7UUFDRixPQUFPLElBQUksaUJBQWlCLEVBQUssQ0FBQztJQUNwQyxDQUFDO0lBQ0QsU0FBUyxDQUE0QixPQUF1QztRQUMxRSxPQUFPLElBQUksd0JBQXdCLENBQUksT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELFFBQVEsQ0FBbUMsT0FBc0M7UUFDL0UsT0FBTyxJQUFJLHVCQUF1QixDQUFJLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBUZW1wbGF0ZVJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmZlcnJlZENvbnRleHRPZiwgSW5mZXJyZWRJbnN0YW5jZU9mIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb250ZXh0U3RyYXRlZ3k8VCA9IGFueT4ge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb250ZXh0OiBQYXJ0aWFsPENvbnRleHRUeXBlPFQ+Pikge31cclxuXHJcbiAgc2V0Q29udGV4dChjb21wb25lbnRSZWY/OiBDb21wb25lbnRSZWY8SW5mZXJyZWRJbnN0YW5jZU9mPFQ+Pik6IFBhcnRpYWw8Q29udGV4dFR5cGU8VD4+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTm9Db250ZXh0U3RyYXRlZ3k8XHJcbiAgVCBleHRlbmRzIFR5cGU8YW55PiB8IFRlbXBsYXRlUmVmPGFueT4gPSBhbnksXHJcbj4gZXh0ZW5kcyBDb250ZXh0U3RyYXRlZ3k8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIodW5kZWZpbmVkIGFzIHVua25vd24gYXMgUGFydGlhbDxDb250ZXh0VHlwZTxUPj4pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudENvbnRleHRTdHJhdGVneTxUIGV4dGVuZHMgVHlwZTxhbnk+ID0gYW55PiBleHRlbmRzIENvbnRleHRTdHJhdGVneTxUPiB7XHJcbiAgc2V0Q29udGV4dChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxJbmZlcnJlZEluc3RhbmNlT2Y8VD4+KTogUGFydGlhbDxJbmZlcnJlZEluc3RhbmNlT2Y8VD4+IHtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMuY29udGV4dCkuZm9yRWFjaChrZXkgPT4gKGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gdGhpcy5jb250ZXh0W2tleV0pKTtcclxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlQ29udGV4dFN0cmF0ZWd5PFQgZXh0ZW5kcyBUZW1wbGF0ZVJlZjxhbnk+ID0gYW55PiBleHRlbmRzIENvbnRleHRTdHJhdGVneTxUPiB7XHJcbiAgc2V0Q29udGV4dCgpOiBQYXJ0aWFsPEluZmVycmVkQ29udGV4dE9mPFQ+PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IENPTlRFWFRfU1RSQVRFR1kgPSB7XHJcbiAgTm9uZTxUIGV4dGVuZHMgVHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PiA9IGFueT4oKSB7XHJcbiAgICByZXR1cm4gbmV3IE5vQ29udGV4dFN0cmF0ZWd5PFQ+KCk7XHJcbiAgfSxcclxuICBDb21wb25lbnQ8VCBleHRlbmRzIFR5cGU8YW55PiA9IGFueT4oY29udGV4dDogUGFydGlhbDxJbmZlcnJlZEluc3RhbmNlT2Y8VD4+KSB7XHJcbiAgICByZXR1cm4gbmV3IENvbXBvbmVudENvbnRleHRTdHJhdGVneTxUPihjb250ZXh0KTtcclxuICB9LFxyXG4gIFRlbXBsYXRlPFQgZXh0ZW5kcyBUZW1wbGF0ZVJlZjxhbnk+ID0gYW55Pihjb250ZXh0OiBQYXJ0aWFsPEluZmVycmVkQ29udGV4dE9mPFQ+Pikge1xyXG4gICAgcmV0dXJuIG5ldyBUZW1wbGF0ZUNvbnRleHRTdHJhdGVneTxUPihjb250ZXh0KTtcclxuICB9LFxyXG59O1xyXG5cclxudHlwZSBDb250ZXh0VHlwZTxUPiA9IFQgZXh0ZW5kcyBUeXBlPGluZmVyIFU+IHwgVGVtcGxhdGVSZWY8aW5mZXIgVT4gPyBVIDogbmV2ZXI7XHJcbiJdfQ==
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
export class CrossOriginStrategy {
|
|
2
|
-
constructor(crossorigin, integrity) {
|
|
3
|
-
this.crossorigin = crossorigin;
|
|
4
|
-
this.integrity = integrity;
|
|
5
|
-
}
|
|
6
|
-
setCrossOrigin(element) {
|
|
7
|
-
if (this.integrity)
|
|
8
|
-
element.setAttribute('integrity', this.integrity);
|
|
9
|
-
if (this.crossorigin) {
|
|
10
|
-
element.setAttribute('crossorigin', this.crossorigin);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
export class NoCrossOriginStrategy extends CrossOriginStrategy {
|
|
15
|
-
setCrossOrigin() { }
|
|
16
|
-
}
|
|
17
|
-
export const CROSS_ORIGIN_STRATEGY = {
|
|
18
|
-
Anonymous(integrity) {
|
|
19
|
-
return new CrossOriginStrategy('anonymous', integrity);
|
|
20
|
-
},
|
|
21
|
-
UseCredentials(integrity) {
|
|
22
|
-
return new CrossOriginStrategy('use-credentials', integrity);
|
|
23
|
-
},
|
|
24
|
-
None() {
|
|
25
|
-
return new NoCrossOriginStrategy(null);
|
|
26
|
-
},
|
|
27
|
-
};
|
|
1
|
+
export class CrossOriginStrategy {
|
|
2
|
+
constructor(crossorigin, integrity) {
|
|
3
|
+
this.crossorigin = crossorigin;
|
|
4
|
+
this.integrity = integrity;
|
|
5
|
+
}
|
|
6
|
+
setCrossOrigin(element) {
|
|
7
|
+
if (this.integrity)
|
|
8
|
+
element.setAttribute('integrity', this.integrity);
|
|
9
|
+
if (this.crossorigin) {
|
|
10
|
+
element.setAttribute('crossorigin', this.crossorigin);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class NoCrossOriginStrategy extends CrossOriginStrategy {
|
|
15
|
+
setCrossOrigin() { }
|
|
16
|
+
}
|
|
17
|
+
export const CROSS_ORIGIN_STRATEGY = {
|
|
18
|
+
Anonymous(integrity) {
|
|
19
|
+
return new CrossOriginStrategy('anonymous', integrity);
|
|
20
|
+
},
|
|
21
|
+
UseCredentials(integrity) {
|
|
22
|
+
return new CrossOriginStrategy('use-credentials', integrity);
|
|
23
|
+
},
|
|
24
|
+
None() {
|
|
25
|
+
return new NoCrossOriginStrategy(null);
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3Mtb3JpZ2luLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvY3Jvc3Mtb3JpZ2luLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDUyxXQUFtRCxFQUNuRCxTQUFrQjtRQURsQixnQkFBVyxHQUFYLFdBQVcsQ0FBd0M7UUFDbkQsY0FBUyxHQUFULFNBQVMsQ0FBUztJQUN4QixDQUFDO0lBRUosY0FBYyxDQUF3QixPQUFVO1FBQzlDLElBQUksSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7SUFDNUQsY0FBYyxLQUFJLENBQUM7Q0FDcEI7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyxTQUFTLENBQUMsU0FBa0I7UUFDMUIsT0FBTyxJQUFJLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsY0FBYyxDQUFDLFNBQWtCO1FBQy9CLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsSUFBSTtRQUNGLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDcm9zc09yaWdpblN0cmF0ZWd5IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjcm9zc29yaWdpbjogJ2Fub255bW91cycgfCAndXNlLWNyZWRlbnRpYWxzJyB8IG51bGwsXHJcbiAgICBwdWJsaWMgaW50ZWdyaXR5Pzogc3RyaW5nLFxyXG4gICkge31cclxuXHJcbiAgc2V0Q3Jvc3NPcmlnaW48VCBleHRlbmRzIEhUTUxFbGVtZW50PihlbGVtZW50OiBUKSB7XHJcbiAgICBpZiAodGhpcy5pbnRlZ3JpdHkpIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdpbnRlZ3JpdHknLCB0aGlzLmludGVncml0eSk7XHJcbiAgICBpZiAodGhpcy5jcm9zc29yaWdpbikge1xyXG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnY3Jvc3NvcmlnaW4nLCB0aGlzLmNyb3Nzb3JpZ2luKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBOb0Nyb3NzT3JpZ2luU3RyYXRlZ3kgZXh0ZW5kcyBDcm9zc09yaWdpblN0cmF0ZWd5IHtcclxuICBzZXRDcm9zc09yaWdpbigpIHt9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDUk9TU19PUklHSU5fU1RSQVRFR1kgPSB7XHJcbiAgQW5vbnltb3VzKGludGVncml0eT86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBDcm9zc09yaWdpblN0cmF0ZWd5KCdhbm9ueW1vdXMnLCBpbnRlZ3JpdHkpO1xyXG4gIH0sXHJcbiAgVXNlQ3JlZGVudGlhbHMoaW50ZWdyaXR5Pzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IENyb3NzT3JpZ2luU3RyYXRlZ3koJ3VzZS1jcmVkZW50aWFscycsIGludGVncml0eSk7XHJcbiAgfSxcclxuICBOb25lKCkge1xyXG4gICAgcmV0dXJuIG5ldyBOb0Nyb3NzT3JpZ2luU3RyYXRlZ3kobnVsbCk7XHJcbiAgfSxcclxufTtcclxuIl19
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
export class DomStrategy {
|
|
2
|
-
constructor(target = document.head, position = 'beforeend') {
|
|
3
|
-
this.target = target;
|
|
4
|
-
this.position = position;
|
|
5
|
-
}
|
|
6
|
-
insertElement(element) {
|
|
7
|
-
this.target.insertAdjacentElement(this.position, element);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
export const DOM_STRATEGY = {
|
|
11
|
-
AfterElement(element) {
|
|
12
|
-
return new DomStrategy(element, 'afterend');
|
|
13
|
-
},
|
|
14
|
-
AppendToBody() {
|
|
15
|
-
return new DomStrategy(document.body, 'beforeend');
|
|
16
|
-
},
|
|
17
|
-
AppendToHead() {
|
|
18
|
-
return new DomStrategy(document.head, 'beforeend');
|
|
19
|
-
},
|
|
20
|
-
BeforeElement(element) {
|
|
21
|
-
return new DomStrategy(element, 'beforebegin');
|
|
22
|
-
},
|
|
23
|
-
PrependToHead() {
|
|
24
|
-
return new DomStrategy(document.head, 'afterbegin');
|
|
25
|
-
},
|
|
26
|
-
};
|
|
1
|
+
export class DomStrategy {
|
|
2
|
+
constructor(target = document.head, position = 'beforeend') {
|
|
3
|
+
this.target = target;
|
|
4
|
+
this.position = position;
|
|
5
|
+
}
|
|
6
|
+
insertElement(element) {
|
|
7
|
+
this.target.insertAdjacentElement(this.position, element);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const DOM_STRATEGY = {
|
|
11
|
+
AfterElement(element) {
|
|
12
|
+
return new DomStrategy(element, 'afterend');
|
|
13
|
+
},
|
|
14
|
+
AppendToBody() {
|
|
15
|
+
return new DomStrategy(document.body, 'beforeend');
|
|
16
|
+
},
|
|
17
|
+
AppendToHead() {
|
|
18
|
+
return new DomStrategy(document.head, 'beforeend');
|
|
19
|
+
},
|
|
20
|
+
BeforeElement(element) {
|
|
21
|
+
return new DomStrategy(element, 'beforebegin');
|
|
22
|
+
},
|
|
23
|
+
PrependToHead() {
|
|
24
|
+
return new DomStrategy(document.head, 'afterbegin');
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
27
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvZG9tLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ1MsU0FBc0IsUUFBUSxDQUFDLElBQUksRUFDbkMsV0FBMkIsV0FBVztRQUR0QyxXQUFNLEdBQU4sTUFBTSxDQUE2QjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUE4QjtJQUM1QyxDQUFDO0lBRUosYUFBYSxDQUF3QixPQUFVO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsWUFBWSxDQUFDLE9BQW9CO1FBQy9CLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxhQUFhLENBQUMsT0FBb0I7UUFDaEMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELGFBQWE7UUFDWCxPQUFPLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRG9tU3RyYXRlZ3kge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRhcmdldDogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5oZWFkLFxyXG4gICAgcHVibGljIHBvc2l0aW9uOiBJbnNlcnRQb3NpdGlvbiA9ICdiZWZvcmVlbmQnLFxyXG4gICkge31cclxuXHJcbiAgaW5zZXJ0RWxlbWVudDxUIGV4dGVuZHMgSFRNTEVsZW1lbnQ+KGVsZW1lbnQ6IFQpIHtcclxuICAgIHRoaXMudGFyZ2V0Lmluc2VydEFkamFjZW50RWxlbWVudCh0aGlzLnBvc2l0aW9uLCBlbGVtZW50KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBET01fU1RSQVRFR1kgPSB7XHJcbiAgQWZ0ZXJFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICByZXR1cm4gbmV3IERvbVN0cmF0ZWd5KGVsZW1lbnQsICdhZnRlcmVuZCcpO1xyXG4gIH0sXHJcbiAgQXBwZW5kVG9Cb2R5KCkge1xyXG4gICAgcmV0dXJuIG5ldyBEb21TdHJhdGVneShkb2N1bWVudC5ib2R5LCAnYmVmb3JlZW5kJyk7XHJcbiAgfSxcclxuICBBcHBlbmRUb0hlYWQoKSB7XHJcbiAgICByZXR1cm4gbmV3IERvbVN0cmF0ZWd5KGRvY3VtZW50LmhlYWQsICdiZWZvcmVlbmQnKTtcclxuICB9LFxyXG4gIEJlZm9yZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuICAgIHJldHVybiBuZXcgRG9tU3RyYXRlZ3koZWxlbWVudCwgJ2JlZm9yZWJlZ2luJyk7XHJcbiAgfSxcclxuICBQcmVwZW5kVG9IZWFkKCkge1xyXG4gICAgcmV0dXJuIG5ldyBEb21TdHJhdGVneShkb2N1bWVudC5oZWFkLCAnYWZ0ZXJiZWdpbicpO1xyXG4gIH0sXHJcbn07XHJcbiJdfQ==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export * from './container.strategy';
|
|
2
|
-
export * from './content-security.strategy';
|
|
3
|
-
export * from './content.strategy';
|
|
4
|
-
export * from './context.strategy';
|
|
5
|
-
export * from './cross-origin.strategy';
|
|
6
|
-
export * from './dom.strategy';
|
|
7
|
-
export * from './loading.strategy';
|
|
8
|
-
export * from './projection.strategy';
|
|
1
|
+
export * from './container.strategy';
|
|
2
|
+
export * from './content-security.strategy';
|
|
3
|
+
export * from './content.strategy';
|
|
4
|
+
export * from './context.strategy';
|
|
5
|
+
export * from './cross-origin.strategy';
|
|
6
|
+
export * from './dom.strategy';
|
|
7
|
+
export * from './loading.strategy';
|
|
8
|
+
export * from './projection.strategy';
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc3RyYXRlZ2llcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lci5zdHJhdGVneSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udGVudC1zZWN1cml0eS5zdHJhdGVneSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udGVudC5zdHJhdGVneSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC5zdHJhdGVneSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY3Jvc3Mtb3JpZ2luLnN0cmF0ZWd5JztcclxuZXhwb3J0ICogZnJvbSAnLi9kb20uc3RyYXRlZ3knO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvYWRpbmcuc3RyYXRlZ3knO1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3Rpb24uc3RyYXRlZ3knO1xyXG4iXX0=
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
import { switchMap } from 'rxjs/operators';
|
|
3
|
-
import { fromLazyLoad } from '../utils';
|
|
4
|
-
import { CROSS_ORIGIN_STRATEGY } from './cross-origin.strategy';
|
|
5
|
-
import { DOM_STRATEGY } from './dom.strategy';
|
|
6
|
-
export class LoadingStrategy {
|
|
7
|
-
constructor(path, domStrategy = DOM_STRATEGY.AppendToHead(), crossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous()) {
|
|
8
|
-
this.path = path;
|
|
9
|
-
this.domStrategy = domStrategy;
|
|
10
|
-
this.crossOriginStrategy = crossOriginStrategy;
|
|
11
|
-
}
|
|
12
|
-
createStream() {
|
|
13
|
-
this.element = this.createElement();
|
|
14
|
-
return of(null).pipe(switchMap(() => fromLazyLoad(this.element, this.domStrategy, this.crossOriginStrategy)));
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export class ScriptLoadingStrategy extends LoadingStrategy {
|
|
18
|
-
constructor(src, domStrategy, crossOriginStrategy) {
|
|
19
|
-
super(src, domStrategy, crossOriginStrategy);
|
|
20
|
-
}
|
|
21
|
-
createElement() {
|
|
22
|
-
const element = document.createElement('script');
|
|
23
|
-
element.src = this.path;
|
|
24
|
-
return element;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export class StyleLoadingStrategy extends LoadingStrategy {
|
|
28
|
-
constructor(href, domStrategy, crossOriginStrategy) {
|
|
29
|
-
super(href, domStrategy, crossOriginStrategy);
|
|
30
|
-
}
|
|
31
|
-
createElement() {
|
|
32
|
-
const element = document.createElement('link');
|
|
33
|
-
element.rel = 'stylesheet';
|
|
34
|
-
element.href = this.path;
|
|
35
|
-
return element;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
export const LOADING_STRATEGY = {
|
|
39
|
-
AppendScriptToBody(src) {
|
|
40
|
-
return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToBody(), CROSS_ORIGIN_STRATEGY.None());
|
|
41
|
-
},
|
|
42
|
-
AppendAnonymousScriptToBody(src, integrity) {
|
|
43
|
-
return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToBody(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
|
|
44
|
-
},
|
|
45
|
-
AppendAnonymousScriptToHead(src, integrity) {
|
|
46
|
-
return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
|
|
47
|
-
},
|
|
48
|
-
AppendAnonymousStyleToHead(src, integrity) {
|
|
49
|
-
return new StyleLoadingStrategy(src, DOM_STRATEGY.AppendToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
|
|
50
|
-
},
|
|
51
|
-
PrependAnonymousScriptToHead(src, integrity) {
|
|
52
|
-
return new ScriptLoadingStrategy(src, DOM_STRATEGY.PrependToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
|
|
53
|
-
},
|
|
54
|
-
PrependAnonymousStyleToHead(src, integrity) {
|
|
55
|
-
return new StyleLoadingStrategy(src, DOM_STRATEGY.PrependToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
|
|
56
|
-
},
|
|
57
|
-
};
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
import { switchMap } from 'rxjs/operators';
|
|
3
|
+
import { fromLazyLoad } from '../utils';
|
|
4
|
+
import { CROSS_ORIGIN_STRATEGY } from './cross-origin.strategy';
|
|
5
|
+
import { DOM_STRATEGY } from './dom.strategy';
|
|
6
|
+
export class LoadingStrategy {
|
|
7
|
+
constructor(path, domStrategy = DOM_STRATEGY.AppendToHead(), crossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous()) {
|
|
8
|
+
this.path = path;
|
|
9
|
+
this.domStrategy = domStrategy;
|
|
10
|
+
this.crossOriginStrategy = crossOriginStrategy;
|
|
11
|
+
}
|
|
12
|
+
createStream() {
|
|
13
|
+
this.element = this.createElement();
|
|
14
|
+
return of(null).pipe(switchMap(() => fromLazyLoad(this.element, this.domStrategy, this.crossOriginStrategy)));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class ScriptLoadingStrategy extends LoadingStrategy {
|
|
18
|
+
constructor(src, domStrategy, crossOriginStrategy) {
|
|
19
|
+
super(src, domStrategy, crossOriginStrategy);
|
|
20
|
+
}
|
|
21
|
+
createElement() {
|
|
22
|
+
const element = document.createElement('script');
|
|
23
|
+
element.src = this.path;
|
|
24
|
+
return element;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export class StyleLoadingStrategy extends LoadingStrategy {
|
|
28
|
+
constructor(href, domStrategy, crossOriginStrategy) {
|
|
29
|
+
super(href, domStrategy, crossOriginStrategy);
|
|
30
|
+
}
|
|
31
|
+
createElement() {
|
|
32
|
+
const element = document.createElement('link');
|
|
33
|
+
element.rel = 'stylesheet';
|
|
34
|
+
element.href = this.path;
|
|
35
|
+
return element;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export const LOADING_STRATEGY = {
|
|
39
|
+
AppendScriptToBody(src) {
|
|
40
|
+
return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToBody(), CROSS_ORIGIN_STRATEGY.None());
|
|
41
|
+
},
|
|
42
|
+
AppendAnonymousScriptToBody(src, integrity) {
|
|
43
|
+
return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToBody(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
|
|
44
|
+
},
|
|
45
|
+
AppendAnonymousScriptToHead(src, integrity) {
|
|
46
|
+
return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
|
|
47
|
+
},
|
|
48
|
+
AppendAnonymousStyleToHead(src, integrity) {
|
|
49
|
+
return new StyleLoadingStrategy(src, DOM_STRATEGY.AppendToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
|
|
50
|
+
},
|
|
51
|
+
PrependAnonymousScriptToHead(src, integrity) {
|
|
52
|
+
return new ScriptLoadingStrategy(src, DOM_STRATEGY.PrependToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
|
|
53
|
+
},
|
|
54
|
+
PrependAnonymousStyleToHead(src, integrity) {
|
|
55
|
+
return new StyleLoadingStrategy(src, DOM_STRATEGY.PrependToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
58
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2xvYWRpbmcuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQXVCLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE1BQU0sT0FBZ0IsZUFBZTtJQUduQyxZQUNTLElBQVksRUFDVCxjQUEyQixZQUFZLENBQUMsWUFBWSxFQUFFLEVBQ3RELHNCQUEyQyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUU7UUFGL0UsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNULGdCQUFXLEdBQVgsV0FBVyxDQUEyQztRQUN0RCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXlEO0lBQ3JGLENBQUM7SUFJSixZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFcEMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNsQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUMzRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWtDO0lBQzNFLFlBQVksR0FBVyxFQUFFLFdBQXlCLEVBQUUsbUJBQXlDO1FBQzNGLEtBQUssQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUV4QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZ0M7SUFDeEUsWUFBWSxJQUFZLEVBQUUsV0FBeUIsRUFBRSxtQkFBeUM7UUFDNUYsS0FBSyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDM0IsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXpCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLGtCQUFrQixDQUFDLEdBQVc7UUFDNUIsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixHQUFHLEVBQ0gsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUMzQixxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztJQUNKLENBQUM7SUFDRCwyQkFBMkIsQ0FBQyxHQUFXLEVBQUUsU0FBa0I7UUFDekQsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixHQUFHLEVBQ0gsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUMzQixxQkFBcUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBQ0QsMkJBQTJCLENBQUMsR0FBVyxFQUFFLFNBQWtCO1FBQ3pELE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsR0FBRyxFQUNILFlBQVksQ0FBQyxZQUFZLEVBQUUsRUFDM0IscUJBQXFCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUNELDBCQUEwQixDQUFDLEdBQVcsRUFBRSxTQUFrQjtRQUN4RCxPQUFPLElBQUksb0JBQW9CLENBQzdCLEdBQUcsRUFDSCxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQzNCLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFDRCw0QkFBNEIsQ0FBQyxHQUFXLEVBQUUsU0FBa0I7UUFDMUQsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixHQUFHLEVBQ0gsWUFBWSxDQUFDLGFBQWEsRUFBRSxFQUM1QixxQkFBcUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBQ0QsMkJBQTJCLENBQUMsR0FBVyxFQUFFLFNBQWtCO1FBQ3pELE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0IsR0FBRyxFQUNILFlBQVksQ0FBQyxhQUFhLEVBQUUsRUFDNUIscUJBQXFCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGZyb21MYXp5TG9hZCB9IGZyb20gJy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQ1JPU1NfT1JJR0lOX1NUUkFURUdZLCBDcm9zc09yaWdpblN0cmF0ZWd5IH0gZnJvbSAnLi9jcm9zcy1vcmlnaW4uc3RyYXRlZ3knO1xyXG5pbXBvcnQgeyBET01fU1RSQVRFR1ksIERvbVN0cmF0ZWd5IH0gZnJvbSAnLi9kb20uc3RyYXRlZ3knO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvYWRpbmdTdHJhdGVneTxUIGV4dGVuZHMgSFRNTFNjcmlwdEVsZW1lbnQgfCBIVE1MTGlua0VsZW1lbnQgPSBhbnk+IHtcclxuICBlbGVtZW50ITogVDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcGF0aDogc3RyaW5nLFxyXG4gICAgcHJvdGVjdGVkIGRvbVN0cmF0ZWd5OiBEb21TdHJhdGVneSA9IERPTV9TVFJBVEVHWS5BcHBlbmRUb0hlYWQoKSxcclxuICAgIHByb3RlY3RlZCBjcm9zc09yaWdpblN0cmF0ZWd5OiBDcm9zc09yaWdpblN0cmF0ZWd5ID0gQ1JPU1NfT1JJR0lOX1NUUkFURUdZLkFub255bW91cygpLFxyXG4gICkge31cclxuXHJcbiAgYWJzdHJhY3QgY3JlYXRlRWxlbWVudCgpOiBUO1xyXG5cclxuICBjcmVhdGVTdHJlYW08RSBleHRlbmRzIEV2ZW50PigpOiBPYnNlcnZhYmxlPEU+IHtcclxuICAgIHRoaXMuZWxlbWVudCA9IHRoaXMuY3JlYXRlRWxlbWVudCgpO1xyXG5cclxuICAgIHJldHVybiBvZihudWxsKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gZnJvbUxhenlMb2FkPEU+KHRoaXMuZWxlbWVudCwgdGhpcy5kb21TdHJhdGVneSwgdGhpcy5jcm9zc09yaWdpblN0cmF0ZWd5KSksXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNjcmlwdExvYWRpbmdTdHJhdGVneSBleHRlbmRzIExvYWRpbmdTdHJhdGVneTxIVE1MU2NyaXB0RWxlbWVudD4ge1xyXG4gIGNvbnN0cnVjdG9yKHNyYzogc3RyaW5nLCBkb21TdHJhdGVneT86IERvbVN0cmF0ZWd5LCBjcm9zc09yaWdpblN0cmF0ZWd5PzogQ3Jvc3NPcmlnaW5TdHJhdGVneSkge1xyXG4gICAgc3VwZXIoc3JjLCBkb21TdHJhdGVneSwgY3Jvc3NPcmlnaW5TdHJhdGVneSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVFbGVtZW50KCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIGVsZW1lbnQuc3JjID0gdGhpcy5wYXRoO1xyXG5cclxuICAgIHJldHVybiBlbGVtZW50O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN0eWxlTG9hZGluZ1N0cmF0ZWd5IGV4dGVuZHMgTG9hZGluZ1N0cmF0ZWd5PEhUTUxMaW5rRWxlbWVudD4ge1xyXG4gIGNvbnN0cnVjdG9yKGhyZWY6IHN0cmluZywgZG9tU3RyYXRlZ3k/OiBEb21TdHJhdGVneSwgY3Jvc3NPcmlnaW5TdHJhdGVneT86IENyb3NzT3JpZ2luU3RyYXRlZ3kpIHtcclxuICAgIHN1cGVyKGhyZWYsIGRvbVN0cmF0ZWd5LCBjcm9zc09yaWdpblN0cmF0ZWd5KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUVsZW1lbnQoKTogSFRNTExpbmtFbGVtZW50IHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICBlbGVtZW50LnJlbCA9ICdzdHlsZXNoZWV0JztcclxuICAgIGVsZW1lbnQuaHJlZiA9IHRoaXMucGF0aDtcclxuXHJcbiAgICByZXR1cm4gZWxlbWVudDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBMT0FESU5HX1NUUkFURUdZID0ge1xyXG4gIEFwcGVuZFNjcmlwdFRvQm9keShzcmM6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBTY3JpcHRMb2FkaW5nU3RyYXRlZ3koXHJcbiAgICAgIHNyYyxcclxuICAgICAgRE9NX1NUUkFURUdZLkFwcGVuZFRvQm9keSgpLFxyXG4gICAgICBDUk9TU19PUklHSU5fU1RSQVRFR1kuTm9uZSgpLFxyXG4gICAgKTtcclxuICB9LFxyXG4gIEFwcGVuZEFub255bW91c1NjcmlwdFRvQm9keShzcmM6IHN0cmluZywgaW50ZWdyaXR5Pzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IFNjcmlwdExvYWRpbmdTdHJhdGVneShcclxuICAgICAgc3JjLFxyXG4gICAgICBET01fU1RSQVRFR1kuQXBwZW5kVG9Cb2R5KCksXHJcbiAgICAgIENST1NTX09SSUdJTl9TVFJBVEVHWS5Bbm9ueW1vdXMoaW50ZWdyaXR5KSxcclxuICAgICk7XHJcbiAgfSxcclxuICBBcHBlbmRBbm9ueW1vdXNTY3JpcHRUb0hlYWQoc3JjOiBzdHJpbmcsIGludGVncml0eT86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBTY3JpcHRMb2FkaW5nU3RyYXRlZ3koXHJcbiAgICAgIHNyYyxcclxuICAgICAgRE9NX1NUUkFURUdZLkFwcGVuZFRvSGVhZCgpLFxyXG4gICAgICBDUk9TU19PUklHSU5fU1RSQVRFR1kuQW5vbnltb3VzKGludGVncml0eSksXHJcbiAgICApO1xyXG4gIH0sXHJcbiAgQXBwZW5kQW5vbnltb3VzU3R5bGVUb0hlYWQoc3JjOiBzdHJpbmcsIGludGVncml0eT86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBTdHlsZUxvYWRpbmdTdHJhdGVneShcclxuICAgICAgc3JjLFxyXG4gICAgICBET01fU1RSQVRFR1kuQXBwZW5kVG9IZWFkKCksXHJcbiAgICAgIENST1NTX09SSUdJTl9TVFJBVEVHWS5Bbm9ueW1vdXMoaW50ZWdyaXR5KSxcclxuICAgICk7XHJcbiAgfSxcclxuICBQcmVwZW5kQW5vbnltb3VzU2NyaXB0VG9IZWFkKHNyYzogc3RyaW5nLCBpbnRlZ3JpdHk/OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBuZXcgU2NyaXB0TG9hZGluZ1N0cmF0ZWd5KFxyXG4gICAgICBzcmMsXHJcbiAgICAgIERPTV9TVFJBVEVHWS5QcmVwZW5kVG9IZWFkKCksXHJcbiAgICAgIENST1NTX09SSUdJTl9TVFJBVEVHWS5Bbm9ueW1vdXMoaW50ZWdyaXR5KSxcclxuICAgICk7XHJcbiAgfSxcclxuICBQcmVwZW5kQW5vbnltb3VzU3R5bGVUb0hlYWQoc3JjOiBzdHJpbmcsIGludGVncml0eT86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBTdHlsZUxvYWRpbmdTdHJhdGVneShcclxuICAgICAgc3JjLFxyXG4gICAgICBET01fU1RSQVRFR1kuUHJlcGVuZFRvSGVhZCgpLFxyXG4gICAgICBDUk9TU19PUklHSU5fU1RSQVRFR1kuQW5vbnltb3VzKGludGVncml0eSksXHJcbiAgICApO1xyXG4gIH0sXHJcbn07XHJcbiJdfQ==
|