@alfresco/adf-core 8.1.0-16500060130 → 8.1.0-16877609768
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/bundles/assets/adf-core/i18n/de.json +1 -1
- package/bundles/assets/adf-core/i18n/es.json +1 -1
- package/bundles/assets/adf-core/i18n/fr.json +1 -1
- package/bundles/assets/adf-core/i18n/it.json +1 -1
- package/bundles/assets/adf-core/i18n/pl.json +1 -1
- package/bundles/assets/adf-core/i18n/pt.json +1 -1
- package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +4 -35
- package/fesm2022/adf-core.mjs +1065 -1255
- package/fesm2022/adf-core.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-api.mjs +4 -4
- package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
- package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +11 -11
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-feature-flags.mjs +52 -59
- package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-shell.mjs +68 -14
- package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
- package/lib/app-config/provide-app-config.d.ts +2 -2
- package/lib/auth/basic-auth/basic-alfresco-auth.service.d.ts +0 -13
- package/lib/auth/interfaces/authentication-service.interface.d.ts +4 -9
- package/lib/auth/oidc/auth.module.d.ts +4 -4
- package/lib/auth/oidc/oidc-authentication.service.d.ts +5 -15
- package/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.d.ts +1 -1
- package/lib/auth/services/authentication.service.d.ts +2 -12
- package/lib/auth/services/base-authentication.service.d.ts +1 -5
- package/lib/card-view/components/base-card-view.d.ts +1 -1
- package/lib/card-view/components/card-view/card-view.component.scss +12 -9
- package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.scss +1 -2
- package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +2 -5
- package/lib/datatable/data/data-table.schema.d.ts +1 -1
- package/lib/dialogs/confirm-dialog/confirm.dialog.d.ts +1 -1
- package/lib/dialogs/confirm-dialog/confirm.dialog.module.d.ts +2 -6
- package/lib/form/components/form-base.component.d.ts +7 -19
- package/lib/form/components/form-renderer.component.scss +5 -4
- package/lib/form/components/widgets/amount/amount.widget.scss +8 -0
- package/lib/form/components/widgets/core/form-outcome.model.d.ts +3 -3
- package/lib/form/components/widgets/core/form.model.d.ts +4 -4
- package/lib/form/components/widgets/text/text-mask.component.d.ts +0 -1
- package/lib/testing/unit-testing-utils.d.ts +0 -1
- package/lib/viewer/components/viewer.component.d.ts +2 -5
- package/lib/viewer/components/viewer.component.scss +0 -12
- package/package.json +3 -15
- package/public-api.d.ts +0 -1
- package/shell/README.md +13 -3
- package/shell/index.d.ts +1 -0
- package/shell/lib/providers.d.ts +36 -0
- package/shell/lib/shell.module.d.ts +1 -1
- package/esm2022/adf-core.mjs +0 -5
- package/esm2022/api/alfresco-adf-core-api.mjs +0 -5
- package/esm2022/api/index.mjs +0 -20
- package/esm2022/api/lib/adf-http-client.service.mjs +0 -311
- package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +0 -33
- package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +0 -25
- package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +0 -80
- package/esm2022/api/lib/interfaces.mjs +0 -18
- package/esm2022/api/lib/types.mjs +0 -18
- package/esm2022/auth/alfresco-adf-core-auth.mjs +0 -5
- package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +0 -56
- package/esm2022/auth/authentication.mjs +0 -19
- package/esm2022/auth/index.mjs +0 -19
- package/esm2022/breadcrumbs/alfresco-adf-core-breadcrumbs.mjs +0 -5
- package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +0 -82
- package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +0 -42
- package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +0 -44
- package/esm2022/breadcrumbs/index.mjs +0 -19
- package/esm2022/feature-flags/alfresco-adf-core-feature-flags.mjs +0 -5
- package/esm2022/feature-flags/index.mjs +0 -29
- package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +0 -36
- package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +0 -56
- package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +0 -129
- package/esm2022/feature-flags/lib/directives/features.directive.mjs +0 -63
- package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +0 -63
- package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +0 -38
- package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +0 -38
- package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +0 -40
- package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +0 -24
- package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +0 -62
- package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +0 -51
- package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +0 -36
- package/esm2022/feature-flags/lib/services/debug-features.service.mjs +0 -94
- package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +0 -40
- package/esm2022/feature-flags/lib/services/flagset.parser.mjs +0 -38
- package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +0 -62
- package/esm2022/feature-flags/lib/services/storage-features.service.mjs +0 -126
- package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +0 -51
- package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +0 -51
- package/esm2022/lib/about/about-module-list/module-list.component.mjs +0 -51
- package/esm2022/lib/about/about-package/package-list.component.mjs +0 -65
- package/esm2022/lib/about/about-panel.directive.mjs +0 -37
- package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +0 -59
- package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +0 -18
- package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +0 -42
- package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +0 -51
- package/esm2022/lib/about/about.component.mjs +0 -35
- package/esm2022/lib/about/about.module.mjs +0 -75
- package/esm2022/lib/about/index.mjs +0 -18
- package/esm2022/lib/about/interfaces.mjs +0 -18
- package/esm2022/lib/about/public-api.mjs +0 -28
- package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +0 -51
- package/esm2022/lib/app-config/app-config.loader.mjs +0 -41
- package/esm2022/lib/app-config/app-config.module.mjs +0 -33
- package/esm2022/lib/app-config/app-config.pipe.mjs +0 -38
- package/esm2022/lib/app-config/app-config.service.mjs +0 -243
- package/esm2022/lib/app-config/debug-app-config.service.mjs +0 -44
- package/esm2022/lib/app-config/index.mjs +0 -18
- package/esm2022/lib/app-config/provide-app-config.mjs +0 -44
- package/esm2022/lib/app-config/public-api.mjs +0 -23
- package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +0 -67
- package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +0 -369
- package/esm2022/lib/auth/basic-auth/content-auth.mjs +0 -189
- package/esm2022/lib/auth/basic-auth/process-auth.mjs +0 -193
- package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +0 -31
- package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +0 -31
- package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +0 -57
- package/esm2022/lib/auth/guard/auth-guard.mjs +0 -53
- package/esm2022/lib/auth/guard/auth-guard.service.mjs +0 -113
- package/esm2022/lib/auth/index.mjs +0 -18
- package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +0 -18
- package/esm2022/lib/auth/interfaces/authentication.interface.mjs +0 -18
- package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +0 -18
- package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +0 -18
- package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +0 -18
- package/esm2022/lib/auth/models/application-access.model.mjs +0 -18
- package/esm2022/lib/auth/models/identity-group.model.mjs +0 -18
- package/esm2022/lib/auth/models/identity-role.model.mjs +0 -30
- package/esm2022/lib/auth/models/identity-user.model.mjs +0 -18
- package/esm2022/lib/auth/models/oauth-config.model.mjs +0 -18
- package/esm2022/lib/auth/models/redirection.model.mjs +0 -28
- package/esm2022/lib/auth/models/user-access.model.mjs +0 -18
- package/esm2022/lib/auth/oidc/auth-config.mjs +0 -19
- package/esm2022/lib/auth/oidc/auth-config.service.mjs +0 -110
- package/esm2022/lib/auth/oidc/auth-routing.module.mjs +0 -34
- package/esm2022/lib/auth/oidc/auth.module.mjs +0 -112
- package/esm2022/lib/auth/oidc/auth.service.mjs +0 -22
- package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +0 -37
- package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +0 -204
- package/esm2022/lib/auth/oidc/public-api.mjs +0 -24
- package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +0 -267
- package/esm2022/lib/auth/oidc/retry-login.service.mjs +0 -66
- package/esm2022/lib/auth/oidc/token.interceptor.mjs +0 -62
- package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +0 -31
- package/esm2022/lib/auth/public-api.mjs +0 -44
- package/esm2022/lib/auth/services/authentication.service.mjs +0 -190
- package/esm2022/lib/auth/services/base-authentication.service.mjs +0 -95
- package/esm2022/lib/auth/services/identity-group.service.mjs +0 -269
- package/esm2022/lib/auth/services/identity-role.service.mjs +0 -99
- package/esm2022/lib/auth/services/identity-user.service.mjs +0 -443
- package/esm2022/lib/auth/services/jwt-helper.service.mjs +0 -205
- package/esm2022/lib/auth/services/oauth2.service.mjs +0 -69
- package/esm2022/lib/auth/services/time-sync.service.mjs +0 -83
- package/esm2022/lib/auth/services/user-access.service.mjs +0 -110
- package/esm2022/lib/avatar/avatar.component.mjs +0 -51
- package/esm2022/lib/blank-page/blank-page.component.mjs +0 -31
- package/esm2022/lib/blank-page/blank-page.module.mjs +0 -33
- package/esm2022/lib/blank-page/index.mjs +0 -18
- package/esm2022/lib/blank-page/public-api.mjs +0 -19
- package/esm2022/lib/button/button.component.mjs +0 -61
- package/esm2022/lib/card-view/card-view.module.mjs +0 -80
- package/esm2022/lib/card-view/components/base-card-view.mjs +0 -51
- package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +0 -66
- package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +0 -55
- package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +0 -39
- package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +0 -182
- package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +0 -108
- package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +0 -64
- package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +0 -46
- package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +0 -137
- package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +0 -113
- package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +0 -239
- package/esm2022/lib/card-view/components/card-view.components.mjs +0 -28
- package/esm2022/lib/card-view/index.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +0 -29
- package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +0 -18
- package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +0 -28
- package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +0 -64
- package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +0 -36
- package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +0 -58
- package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +0 -28
- package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +0 -33
- package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +0 -36
- package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +0 -27
- package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +0 -36
- package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +0 -32
- package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +0 -41
- package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +0 -40
- package/esm2022/lib/card-view/models/card-view.models.mjs +0 -29
- package/esm2022/lib/card-view/public-api.mjs +0 -25
- package/esm2022/lib/card-view/services/card-item-types.service.mjs +0 -54
- package/esm2022/lib/card-view/services/card-view-update.service.mjs +0 -59
- package/esm2022/lib/card-view/services/card-view.services.mjs +0 -19
- package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +0 -31
- package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +0 -35
- package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +0 -34
- package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +0 -35
- package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +0 -35
- package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +0 -35
- package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +0 -32
- package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +0 -31
- package/esm2022/lib/card-view/validators/card-view.validators.mjs +0 -26
- package/esm2022/lib/card-view/validators/validators.map.mjs +0 -26
- package/esm2022/lib/clipboard/clipboard.directive.mjs +0 -98
- package/esm2022/lib/clipboard/clipboard.module.mjs +0 -34
- package/esm2022/lib/clipboard/clipboard.service.mjs +0 -103
- package/esm2022/lib/clipboard/index.mjs +0 -18
- package/esm2022/lib/clipboard/public-api.mjs +0 -21
- package/esm2022/lib/comments/comment-list/comment-list.component.mjs +0 -52
- package/esm2022/lib/comments/comment-list/comment-list.module.mjs +0 -33
- package/esm2022/lib/comments/comment-list/index.mjs +0 -18
- package/esm2022/lib/comments/comment-list/public-api.mjs +0 -19
- package/esm2022/lib/comments/comments.component.mjs +0 -132
- package/esm2022/lib/comments/comments.module.mjs +0 -33
- package/esm2022/lib/comments/index.mjs +0 -18
- package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +0 -18
- package/esm2022/lib/comments/interfaces/comments.token.mjs +0 -19
- package/esm2022/lib/comments/public-api.mjs +0 -22
- package/esm2022/lib/common/index.mjs +0 -35
- package/esm2022/lib/common/interface/search-component.interface.mjs +0 -18
- package/esm2022/lib/common/mock/app-config.service.mock.mjs +0 -47
- package/esm2022/lib/common/models/default-languages.model.mjs +0 -36
- package/esm2022/lib/common/models/log-levels.model.mjs +0 -33
- package/esm2022/lib/common/models/user-info-mode.enum.mjs +0 -25
- package/esm2022/lib/common/services/cookie.service.mjs +0 -82
- package/esm2022/lib/common/services/download.service.mjs +0 -102
- package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +0 -89
- package/esm2022/lib/common/services/highlight-transform.service.mjs +0 -61
- package/esm2022/lib/common/services/language-item.interface.mjs +0 -18
- package/esm2022/lib/common/services/log.service.mjs +0 -171
- package/esm2022/lib/common/services/page-title.service.mjs +0 -63
- package/esm2022/lib/common/services/sort-by-category.service.mjs +0 -81
- package/esm2022/lib/common/services/storage.service.mjs +0 -143
- package/esm2022/lib/common/services/thumbnail.service.mjs +0 -194
- package/esm2022/lib/common/services/url.service.mjs +0 -45
- package/esm2022/lib/common/services/user-preferences.service.mjs +0 -238
- package/esm2022/lib/common/utils/date-fns-adapter.mjs +0 -115
- package/esm2022/lib/common/utils/date-fns-utils.mjs +0 -222
- package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +0 -134
- package/esm2022/lib/common/utils/file-utils.mjs +0 -65
- package/esm2022/lib/common/utils/index.mjs +0 -18
- package/esm2022/lib/common/utils/moment-date-adapter.mjs +0 -202
- package/esm2022/lib/common/utils/moment-date-formats.model.mjs +0 -32
- package/esm2022/lib/common/utils/object-utils.mjs +0 -107
- package/esm2022/lib/common/utils/public-api.mjs +0 -25
- package/esm2022/lib/common/utils/string-utils.mjs +0 -45
- package/esm2022/lib/context-menu/animations.mjs +0 -33
- package/esm2022/lib/context-menu/context-menu-list.component.mjs +0 -91
- package/esm2022/lib/context-menu/context-menu-overlay.mjs +0 -25
- package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +0 -109
- package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -63
- package/esm2022/lib/context-menu/context-menu.module.mjs +0 -35
- package/esm2022/lib/context-menu/context-menu.tokens.mjs +0 -19
- package/esm2022/lib/context-menu/index.mjs +0 -18
- package/esm2022/lib/context-menu/interfaces.mjs +0 -18
- package/esm2022/lib/context-menu/public-api.mjs +0 -21
- package/esm2022/lib/core.module.mjs +0 -296
- package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +0 -45
- package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +0 -65
- package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +0 -55
- package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +0 -113
- package/esm2022/lib/datatable/components/data-cell.event.mjs +0 -31
- package/esm2022/lib/datatable/components/data-row-action.event.mjs +0 -34
- package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +0 -914
- package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +0 -126
- package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +0 -98
- package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +0 -78
- package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +0 -60
- package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +0 -49
- package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +0 -67
- package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +0 -86
- package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +0 -69
- package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +0 -153
- package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +0 -42
- package/esm2022/lib/datatable/data/data-column.model.mjs +0 -18
- package/esm2022/lib/datatable/data/data-row-event.model.mjs +0 -26
- package/esm2022/lib/datatable/data/data-row-update.model.mjs +0 -18
- package/esm2022/lib/datatable/data/data-row.model.mjs +0 -18
- package/esm2022/lib/datatable/data/data-sorting.model.mjs +0 -24
- package/esm2022/lib/datatable/data/data-table.schema.mjs +0 -132
- package/esm2022/lib/datatable/data/datatable-adapter.mjs +0 -18
- package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +0 -46
- package/esm2022/lib/datatable/data/object-datarow.model.mjs +0 -41
- package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +0 -134
- package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +0 -45
- package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +0 -36
- package/esm2022/lib/datatable/data-column/data-column.component.mjs +0 -114
- package/esm2022/lib/datatable/data-column/index.mjs +0 -18
- package/esm2022/lib/datatable/data-column/public-api.mjs +0 -20
- package/esm2022/lib/datatable/datatable.module.mjs +0 -161
- package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +0 -35
- package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +0 -30
- package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +0 -35
- package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +0 -89
- package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +0 -43
- package/esm2022/lib/datatable/directives/loading-template.directive.mjs +0 -46
- package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +0 -43
- package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +0 -46
- package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +0 -46
- package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +0 -173
- package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +0 -72
- package/esm2022/lib/datatable/directives/resizable/types.mjs +0 -18
- package/esm2022/lib/datatable/index.mjs +0 -18
- package/esm2022/lib/datatable/public-api.mjs +0 -55
- package/esm2022/lib/datatable/services/datatable.service.mjs +0 -33
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +0 -50
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +0 -38
- package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +0 -18
- package/esm2022/lib/dialogs/dialog/dialog.component.mjs +0 -70
- package/esm2022/lib/dialogs/dialog/dialog.model.mjs +0 -22
- package/esm2022/lib/dialogs/dialog/index.mjs +0 -20
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +0 -52
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +0 -34
- package/esm2022/lib/dialogs/index.mjs +0 -18
- package/esm2022/lib/dialogs/public-api.mjs +0 -25
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +0 -73
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +0 -18
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +0 -33
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +0 -64
- package/esm2022/lib/directives/directive.module.mjs +0 -56
- package/esm2022/lib/directives/highlight.directive.mjs +0 -67
- package/esm2022/lib/directives/index.mjs +0 -18
- package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +0 -67
- package/esm2022/lib/directives/logout.directive.mjs +0 -72
- package/esm2022/lib/directives/public-api.mjs +0 -24
- package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +0 -60
- package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +0 -104
- package/esm2022/lib/directives/upload.directive.mjs +0 -241
- package/esm2022/lib/dynamic-chip-list/chip.mjs +0 -18
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +0 -204
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +0 -33
- package/esm2022/lib/dynamic-chip-list/index.mjs +0 -18
- package/esm2022/lib/dynamic-chip-list/public-api.mjs +0 -20
- package/esm2022/lib/events/base-ui.event.mjs +0 -21
- package/esm2022/lib/events/base.event.mjs +0 -29
- package/esm2022/lib/events/index.mjs +0 -18
- package/esm2022/lib/events/public-api.mjs +0 -19
- package/esm2022/lib/form/components/form-base.component.mjs +0 -224
- package/esm2022/lib/form/components/form-custom-button.directive.mjs +0 -30
- package/esm2022/lib/form/components/form-field/form-field.component.mjs +0 -142
- package/esm2022/lib/form/components/form-renderer.component.mjs +0 -161
- package/esm2022/lib/form/components/form-section/form-section.component.mjs +0 -46
- package/esm2022/lib/form/components/helpers/buttons-visibility.mjs +0 -37
- package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +0 -37
- package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +0 -48
- package/esm2022/lib/form/components/middlewares/middleware.mjs +0 -19
- package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +0 -77
- package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +0 -59
- package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +0 -52
- package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +0 -28
- package/esm2022/lib/form/components/widgets/core/container.model.mjs +0 -50
- package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +0 -52
- package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +0 -38
- package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/external-content.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +0 -74
- package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +0 -23
- package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +0 -268
- package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +0 -490
- package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +0 -32
- package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +0 -38
- package/esm2022/lib/form/components/widgets/core/form-values.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +0 -33
- package/esm2022/lib/form/components/widgets/core/form.model.mjs +0 -387
- package/esm2022/lib/form/components/widgets/core/group.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/index.mjs +0 -49
- package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +0 -115
- package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/tab.model.mjs +0 -34
- package/esm2022/lib/form/components/widgets/core/theme.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +0 -27
- package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/date/date.widget.mjs +0 -162
- package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +0 -153
- package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +0 -53
- package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +0 -86
- package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +0 -46
- package/esm2022/lib/form/components/widgets/display-text/index.mjs +0 -19
- package/esm2022/lib/form/components/widgets/error/error.component.mjs +0 -92
- package/esm2022/lib/form/components/widgets/header/header.schema.mjs +0 -86
- package/esm2022/lib/form/components/widgets/header/header.widget.mjs +0 -42
- package/esm2022/lib/form/components/widgets/header/index.mjs +0 -19
- package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +0 -69
- package/esm2022/lib/form/components/widgets/index.mjs +0 -71
- package/esm2022/lib/form/components/widgets/json/json.widget.mjs +0 -66
- package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +0 -55
- package/esm2022/lib/form/components/widgets/number/number.widget.mjs +0 -71
- package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +0 -18
- package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +0 -221
- package/esm2022/lib/form/components/widgets/text/text.widget.mjs +0 -65
- package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +0 -63
- package/esm2022/lib/form/components/widgets/widget.component.mjs +0 -110
- package/esm2022/lib/form/events/form-error.event.mjs +0 -24
- package/esm2022/lib/form/events/form-field.event.mjs +0 -24
- package/esm2022/lib/form/events/form-rules.event.mjs +0 -25
- package/esm2022/lib/form/events/form-spinner.event.mjs +0 -23
- package/esm2022/lib/form/events/form.event.mjs +0 -29
- package/esm2022/lib/form/events/index.mjs +0 -24
- package/esm2022/lib/form/events/validate-form-field.event.mjs +0 -24
- package/esm2022/lib/form/events/validate-form.event.mjs +0 -25
- package/esm2022/lib/form/form-base.module.mjs +0 -75
- package/esm2022/lib/form/index.mjs +0 -18
- package/esm2022/lib/form/models/form-rules.model.mjs +0 -77
- package/esm2022/lib/form/models/task-process-variable.model.mjs +0 -19
- package/esm2022/lib/form/models/widget-visibility.model.mjs +0 -104
- package/esm2022/lib/form/pipes/field-style.pipe.mjs +0 -45
- package/esm2022/lib/form/pipes/index.mjs +0 -18
- package/esm2022/lib/form/public-api.mjs +0 -35
- package/esm2022/lib/form/services/form-rendering.service.mjs +0 -53
- package/esm2022/lib/form/services/form-validation-service.interface.mjs +0 -18
- package/esm2022/lib/form/services/form.service.mjs +0 -86
- package/esm2022/lib/form/services/widget-visibility.service.mjs +0 -294
- package/esm2022/lib/header/header.component.mjs +0 -73
- package/esm2022/lib/header/index.mjs +0 -18
- package/esm2022/lib/header/navbar/navbar-item.component.mjs +0 -37
- package/esm2022/lib/header/navbar/navbar.component.mjs +0 -36
- package/esm2022/lib/header/public-api.mjs +0 -20
- package/esm2022/lib/icon/icon.component.mjs +0 -51
- package/esm2022/lib/icon/icon.module.mjs +0 -36
- package/esm2022/lib/icon/index.mjs +0 -18
- package/esm2022/lib/icon/public-api.mjs +0 -19
- package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +0 -86
- package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +0 -33
- package/esm2022/lib/identity-user-info/index.mjs +0 -18
- package/esm2022/lib/identity-user-info/public-api.mjs +0 -19
- package/esm2022/lib/info-drawer/index.mjs +0 -18
- package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +0 -71
- package/esm2022/lib/info-drawer/info-drawer.component.mjs +0 -113
- package/esm2022/lib/info-drawer/info-drawer.module.mjs +0 -53
- package/esm2022/lib/info-drawer/public-api.mjs +0 -20
- package/esm2022/lib/interface/index.mjs +0 -18
- package/esm2022/lib/interface/injection.tokens.mjs +0 -19
- package/esm2022/lib/interface/public-api.mjs +0 -18
- package/esm2022/lib/landing-page/index.mjs +0 -18
- package/esm2022/lib/landing-page/provider.mjs +0 -30
- package/esm2022/lib/landing-page/public-api.mjs +0 -18
- package/esm2022/lib/language-menu/index.mjs +0 -18
- package/esm2022/lib/language-menu/language-menu.component.mjs +0 -61
- package/esm2022/lib/language-menu/language-menu.module.mjs +0 -35
- package/esm2022/lib/language-menu/language-picker.component.mjs +0 -77
- package/esm2022/lib/language-menu/public-api.mjs +0 -21
- package/esm2022/lib/language-menu/service/language.service.interface.mjs +0 -18
- package/esm2022/lib/language-menu/service/language.service.mjs +0 -34
- package/esm2022/lib/layout/components/header/header.component.mjs +0 -99
- package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +0 -180
- package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +0 -82
- package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +0 -145
- package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +0 -33
- package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +0 -33
- package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +0 -33
- package/esm2022/lib/layout/index.mjs +0 -18
- package/esm2022/lib/layout/layout.module.mjs +0 -72
- package/esm2022/lib/layout/public-api.mjs +0 -25
- package/esm2022/lib/login/components/login/login.component.mjs +0 -367
- package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +0 -18
- package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +0 -57
- package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +0 -48
- package/esm2022/lib/login/directives/login-footer.directive.mjs +0 -41
- package/esm2022/lib/login/directives/login-header.directive.mjs +0 -41
- package/esm2022/lib/login/index.mjs +0 -18
- package/esm2022/lib/login/login.module.mjs +0 -54
- package/esm2022/lib/login/models/login-error.event.mjs +0 -22
- package/esm2022/lib/login/models/login-submit.event.mjs +0 -32
- package/esm2022/lib/login/models/login-success.event.mjs +0 -24
- package/esm2022/lib/login/public-api.mjs +0 -27
- package/esm2022/lib/material.module.mjs +0 -254
- package/esm2022/lib/mock/cookie.service.mock.mjs +0 -43
- package/esm2022/lib/mock/data-column.mock.mjs +0 -73
- package/esm2022/lib/mock/event.mock.mjs +0 -39
- package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +0 -225
- package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +0 -347
- package/esm2022/lib/mock/form/form-definition.mock.mjs +0 -403
- package/esm2022/lib/mock/form/form.component.mock.mjs +0 -275
- package/esm2022/lib/mock/form/form.service.mock.mjs +0 -248
- package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +0 -1835
- package/esm2022/lib/mock/index.mjs +0 -18
- package/esm2022/lib/mock/public-api.mjs +0 -27
- package/esm2022/lib/mock/translation.service.mock.mjs +0 -44
- package/esm2022/lib/models/comment.model.mjs +0 -51
- package/esm2022/lib/models/component.model.mjs +0 -24
- package/esm2022/lib/models/decimal-number.model.mjs +0 -26
- package/esm2022/lib/models/general-user.model.mjs +0 -24
- package/esm2022/lib/models/index.mjs +0 -18
- package/esm2022/lib/models/pagination.model.mjs +0 -29
- package/esm2022/lib/models/path.model.mjs +0 -24
- package/esm2022/lib/models/product-version.model.mjs +0 -28
- package/esm2022/lib/models/public-api.mjs +0 -24
- package/esm2022/lib/models/request-pagination.model.mjs +0 -25
- package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +0 -44
- package/esm2022/lib/notifications/components/notification-history.component.mjs +0 -138
- package/esm2022/lib/notifications/helpers/notification.factory.mjs +0 -43
- package/esm2022/lib/notifications/index.mjs +0 -18
- package/esm2022/lib/notifications/models/notification.model.mjs +0 -25
- package/esm2022/lib/notifications/notification-history.module.mjs +0 -35
- package/esm2022/lib/notifications/public-api.mjs +0 -23
- package/esm2022/lib/notifications/services/notification.service.mjs +0 -166
- package/esm2022/lib/pagination/index.mjs +0 -18
- package/esm2022/lib/pagination/infinite-pagination.component.mjs +0 -111
- package/esm2022/lib/pagination/paginated-component.interface.mjs +0 -18
- package/esm2022/lib/pagination/pagination-component.interface.mjs +0 -18
- package/esm2022/lib/pagination/pagination.component.mjs +0 -263
- package/esm2022/lib/pagination/pagination.module.mjs +0 -35
- package/esm2022/lib/pagination/public-api.mjs +0 -22
- package/esm2022/lib/pipes/date-time.pipe.mjs +0 -46
- package/esm2022/lib/pipes/decimal-number.pipe.mjs +0 -78
- package/esm2022/lib/pipes/file-size.pipe.mjs +0 -54
- package/esm2022/lib/pipes/file-type.pipe.mjs +0 -40
- package/esm2022/lib/pipes/format-space.pipe.mjs +0 -39
- package/esm2022/lib/pipes/full-name.pipe.mjs +0 -43
- package/esm2022/lib/pipes/index.mjs +0 -18
- package/esm2022/lib/pipes/localized-date.pipe.mjs +0 -70
- package/esm2022/lib/pipes/multi-value.pipe.mjs +0 -37
- package/esm2022/lib/pipes/pipe.module.mjs +0 -83
- package/esm2022/lib/pipes/public-api.mjs +0 -30
- package/esm2022/lib/pipes/text-highlight.pipe.mjs +0 -39
- package/esm2022/lib/pipes/time-ago.pipe.mjs +0 -65
- package/esm2022/lib/pipes/truncate.pipe.mjs +0 -33
- package/esm2022/lib/pipes/user-initial.pipe.mjs +0 -52
- package/esm2022/lib/pipes/user-like.interface.mjs +0 -18
- package/esm2022/lib/progress/progress.component.mjs +0 -90
- package/esm2022/lib/search-text/animations.mjs +0 -32
- package/esm2022/lib/search-text/index.mjs +0 -18
- package/esm2022/lib/search-text/models/search-text-input.model.mjs +0 -23
- package/esm2022/lib/search-text/public-api.mjs +0 -22
- package/esm2022/lib/search-text/search-text-input.component.mjs +0 -283
- package/esm2022/lib/search-text/search-text-input.module.mjs +0 -35
- package/esm2022/lib/search-text/search-trigger.directive.mjs +0 -181
- package/esm2022/lib/snackbar-content/index.mjs +0 -18
- package/esm2022/lib/snackbar-content/public-api.mjs +0 -20
- package/esm2022/lib/snackbar-content/snack-bar-data.mjs +0 -18
- package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +0 -49
- package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +0 -33
- package/esm2022/lib/sorting-picker/index.mjs +0 -18
- package/esm2022/lib/sorting-picker/public-api.mjs +0 -18
- package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +0 -67
- package/esm2022/lib/templates/empty-content/empty-content.component.mjs +0 -43
- package/esm2022/lib/templates/error-content/error-content.component.mjs +0 -61
- package/esm2022/lib/templates/index.mjs +0 -18
- package/esm2022/lib/templates/public-api.mjs +0 -20
- package/esm2022/lib/templates/template.module.mjs +0 -38
- package/esm2022/lib/testing/core.story.module.mjs +0 -39
- package/esm2022/lib/testing/core.testing.module.mjs +0 -36
- package/esm2022/lib/testing/index.mjs +0 -22
- package/esm2022/lib/testing/noop-auth.module.mjs +0 -80
- package/esm2022/lib/testing/noop-translate.module.mjs +0 -75
- package/esm2022/lib/testing/unit-testing-utils.mjs +0 -367
- package/esm2022/lib/toolbar/index.mjs +0 -18
- package/esm2022/lib/toolbar/public-api.mjs +0 -21
- package/esm2022/lib/toolbar/toolbar-divider.component.mjs +0 -27
- package/esm2022/lib/toolbar/toolbar-title.component.mjs +0 -32
- package/esm2022/lib/toolbar/toolbar.component.mjs +0 -39
- package/esm2022/lib/toolbar/toolbar.module.mjs +0 -36
- package/esm2022/lib/translation/index.mjs +0 -18
- package/esm2022/lib/translation/provide-i18n.mjs +0 -48
- package/esm2022/lib/translation/public-api.mjs +0 -20
- package/esm2022/lib/translation/translate-loader.service.mjs +0 -153
- package/esm2022/lib/translation/translation.service.mjs +0 -148
- package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +0 -36
- package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +0 -220
- package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +0 -64
- package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +0 -550
- package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +0 -60
- package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +0 -48
- package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +0 -198
- package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +0 -85
- package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +0 -32
- package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +0 -34
- package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +0 -34
- package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +0 -216
- package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +0 -46
- package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +0 -34
- package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +0 -34
- package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +0 -34
- package/esm2022/lib/viewer/components/viewer.component.mjs +0 -492
- package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +0 -67
- package/esm2022/lib/viewer/index.mjs +0 -18
- package/esm2022/lib/viewer/models/download-prompt.actions.mjs +0 -23
- package/esm2022/lib/viewer/models/viewer.model.mjs +0 -22
- package/esm2022/lib/viewer/public-api.mjs +0 -40
- package/esm2022/lib/viewer/services/rendering-queue.services.mjs +0 -179
- package/esm2022/lib/viewer/services/view-util.service.mjs +0 -149
- package/esm2022/lib/viewer/viewer.module.mjs +0 -110
- package/esm2022/public-api.mjs +0 -61
- package/esm2022/shell/alfresco-adf-core-shell.mjs +0 -5
- package/esm2022/shell/index.mjs +0 -21
- package/esm2022/shell/lib/components/shell/shell.component.mjs +0 -122
- package/esm2022/shell/lib/services/shell-app.service.mjs +0 -22
- package/esm2022/shell/lib/shell.module.mjs +0 -75
- package/esm2022/shell/lib/shell.routes.mjs +0 -50
- package/lib/landing-page/index.d.ts +0 -17
- package/lib/landing-page/provider.d.ts +0 -24
- package/lib/landing-page/public-api.d.ts +0 -17
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { InjectionToken } from '@angular/core';
|
|
18
|
-
export const FeaturesServiceConfigToken = new InjectionToken('FeatureServiceConfigToken');
|
|
19
|
-
export const FeaturesServiceToken = new InjectionToken('FeaturesService');
|
|
20
|
-
export const WritableFeaturesServiceToken = new InjectionToken('WritableFeaturesServiceToken');
|
|
21
|
-
export const WritableFeaturesServiceConfigToken = new InjectionToken('WritableFeaturesServiceConfigToken');
|
|
22
|
-
export const OverridableFeaturesServiceToken = new InjectionToken('OverridableFeaturesServiceToken');
|
|
23
|
-
export const FlagsOverrideToken = new InjectionToken('FlagsOverrideToken');
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvZmVhdHVyZS1mbGFncy9zcmMvbGliL2ludGVyZmFjZXMvZmVhdHVyZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQU0sMkJBQTJCLENBQUMsQ0FBQztBQUMvRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsaUJBQWlCLENBQUMsQ0FBQztBQUM1RixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBOEMsOEJBQThCLENBQUMsQ0FBQztBQUM1SSxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxJQUFJLGNBQWMsQ0FBZ0Msb0NBQW9DLENBQUMsQ0FBQztBQUMxSSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsaUNBQWlDLENBQUMsQ0FBQztBQUN2SCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBVSxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZXNTZXJ2aWNlQ29uZmlnVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignRmVhdHVyZVNlcnZpY2VDb25maWdUb2tlbicpO1xuZXhwb3J0IGNvbnN0IEZlYXR1cmVzU2VydmljZVRva2VuID0gbmV3IEluamVjdGlvblRva2VuPElGZWF0dXJlc1NlcnZpY2U+KCdGZWF0dXJlc1NlcnZpY2UnKTtcbmV4cG9ydCBjb25zdCBXcml0YWJsZUZlYXR1cmVzU2VydmljZVRva2VuID0gbmV3IEluamVjdGlvblRva2VuPElGZWF0dXJlc1NlcnZpY2UgJiBJV3JpdGFibGVGZWF0dXJlc1NlcnZpY2U+KCdXcml0YWJsZUZlYXR1cmVzU2VydmljZVRva2VuJyk7XG5leHBvcnQgY29uc3QgV3JpdGFibGVGZWF0dXJlc1NlcnZpY2VDb25maWdUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXcml0YWJsZUZlYXR1cmVzU2VydmljZUNvbmZpZz4oJ1dyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlQ29uZmlnVG9rZW4nKTtcbmV4cG9ydCBjb25zdCBPdmVycmlkYWJsZUZlYXR1cmVzU2VydmljZVRva2VuID0gbmV3IEluamVjdGlvblRva2VuPElGZWF0dXJlc1NlcnZpY2U+KCdPdmVycmlkYWJsZUZlYXR1cmVzU2VydmljZVRva2VuJyk7XG5leHBvcnQgY29uc3QgRmxhZ3NPdmVycmlkZVRva2VuID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdGbGFnc092ZXJyaWRlVG9rZW4nKTtcblxuZXhwb3J0IGludGVyZmFjZSBXcml0YWJsZUZlYXR1cmVzU2VydmljZUNvbmZpZyB7XG4gICAgc3RvcmFnZUtleT86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUWFGZWF0dXJlc0hlbHBlckNvbmZpZyB7XG4gICAgaGVscGVyRXhwb3NlS2V5T25Eb2N1bWVudD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbGFnQ2hhbmdlc2V0IHtcbiAgICBba2V5OiBzdHJpbmddOiB7XG4gICAgICAgIGN1cnJlbnQ6IGFueTtcbiAgICAgICAgcHJldmlvdXM6IGFueTtcbiAgICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdyaXRhYmxlRmxhZ0NoYW5nZXNldCB7XG4gICAgW2tleTogc3RyaW5nXToge1xuICAgICAgICBjdXJyZW50OiBhbnk7XG4gICAgICAgIHByZXZpb3VzOiBhbnk7XG4gICAgICAgIGZpY3RpdmU/OiBib29sZWFuO1xuICAgIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxhZ1NldCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGZWF0dXJlc1NlcnZpY2U8VCA9IEZsYWdDaGFuZ2VzZXQ+IHtcbiAgICBpbml0KCk6IE9ic2VydmFibGU8VD47XG4gICAgaXNPbiQoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzT2ZmJChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgZ2V0RmxhZ3MkKCk6IE9ic2VydmFibGU8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVdyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlIHtcbiAgICBzZXRGbGFnKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgICByZXNldEZsYWdzKGZsYWdzOiBGbGFnU2V0KTogdm9pZDtcbiAgICByZW1vdmVGbGFnKGtleTogc3RyaW5nKTogdm9pZDtcbiAgICBtZXJnZUZsYWdzKGZsYWdzOiBGbGFnQ2hhbmdlc2V0KTogdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgSURlYnVnRmVhdHVyZXNTZXJ2aWNlID0gT21pdDxJRmVhdHVyZXNTZXJ2aWNlPFdyaXRhYmxlRmxhZ0NoYW5nZXNldD4sICdpbml0Jz4gJiB7XG4gICAgZW5hYmxlKG9uOiBib29sZWFuKTogdm9pZDtcbiAgICBpc0VuYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcmVzZXRGbGFncyhmbGFnczogRmxhZ1NldCk6IHZvaWQ7XG59O1xuIl19
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { of } from 'rxjs';
|
|
18
|
-
import { FeaturesServiceToken } from '../interfaces/features.interface';
|
|
19
|
-
const assertFeatureFlag = (flagChangeset, key) => {
|
|
20
|
-
const flagChangesetValue = flagChangeset[key];
|
|
21
|
-
if (flagChangesetValue === undefined) {
|
|
22
|
-
throw new Error(`ERROR FEATURE-FLAG\n'${key}' feature is not mocked, please mock '${key}' using '${provideMockFeatureFlags.name}' helper in your test\n`);
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
const mockFeaturesService = (flagChangeset) => ({
|
|
26
|
-
init: () => of(flagChangeset),
|
|
27
|
-
isOn$: (key) => {
|
|
28
|
-
assertFeatureFlag(flagChangeset, key);
|
|
29
|
-
return of(flagChangeset[key].current);
|
|
30
|
-
},
|
|
31
|
-
isOff$: (key) => {
|
|
32
|
-
assertFeatureFlag(flagChangeset, key);
|
|
33
|
-
return of(!flagChangeset[key].current);
|
|
34
|
-
},
|
|
35
|
-
getFlags$: () => of(flagChangeset)
|
|
36
|
-
});
|
|
37
|
-
const arrayToFlagChangeset = (featureFlags) => {
|
|
38
|
-
const flagChangeset = {};
|
|
39
|
-
featureFlags.forEach((featureFlag) => {
|
|
40
|
-
flagChangeset[featureFlag] = { current: true, previous: null };
|
|
41
|
-
});
|
|
42
|
-
return flagChangeset;
|
|
43
|
-
};
|
|
44
|
-
const mockFeatureFlagsToFlagChangeset = (mockFeatureFlags) => {
|
|
45
|
-
const flagChangeset = {};
|
|
46
|
-
const featureFlags = Object.keys(mockFeatureFlags);
|
|
47
|
-
featureFlags.forEach((featureFlag) => {
|
|
48
|
-
flagChangeset[featureFlag] = { current: mockFeatureFlags[featureFlag], previous: null };
|
|
49
|
-
});
|
|
50
|
-
return flagChangeset;
|
|
51
|
-
};
|
|
52
|
-
export const provideMockFeatureFlags = (featureFlag) => {
|
|
53
|
-
if (typeof featureFlag === 'string') {
|
|
54
|
-
featureFlag = [featureFlag];
|
|
55
|
-
}
|
|
56
|
-
const flagChangeset = Array.isArray(featureFlag) ? arrayToFlagChangeset(featureFlag) : mockFeatureFlagsToFlagChangeset(featureFlag);
|
|
57
|
-
return {
|
|
58
|
-
provide: FeaturesServiceToken,
|
|
59
|
-
useValue: mockFeaturesService(flagChangeset)
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZXMtc2VydmljZS1tb2NrLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9mZWF0dXJlLWZsYWdzL3NyYy9saWIvbW9ja3MvZmVhdHVyZXMtc2VydmljZS1tb2NrLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsb0JBQW9CLEVBQW1DLE1BQU0sa0NBQWtDLENBQUM7QUFNekcsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLGFBQTRCLEVBQUUsR0FBVyxFQUFRLEVBQUU7SUFDMUUsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFOUMsSUFBSSxrQkFBa0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUNYLHdCQUF3QixHQUFHLHlDQUF5QyxHQUFHLFlBQVksdUJBQXVCLENBQUMsSUFBSSx5QkFBeUIsQ0FDM0ksQ0FBQztJQUNOLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHLENBQUMsYUFBNEIsRUFBb0IsRUFBRSxDQUFDLENBQUM7SUFDN0UsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDN0IsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDWCxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNaLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7Q0FDckMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFlBQXNCLEVBQWlCLEVBQUU7SUFDbkUsTUFBTSxhQUFhLEdBQWtCLEVBQUUsQ0FBQztJQUN4QyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDakMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbkUsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLGFBQWEsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFRixNQUFNLCtCQUErQixHQUFHLENBQUMsZ0JBQWtDLEVBQUUsRUFBRTtJQUMzRSxNQUFNLGFBQWEsR0FBa0IsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNuRCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDakMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM1RixDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsV0FBaUQsRUFBRSxFQUFFO0lBQ3pGLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbEMsV0FBVyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVwSSxPQUFPO1FBQ0gsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixRQUFRLEVBQUUsbUJBQW1CLENBQUMsYUFBYSxDQUFDO0tBQy9DLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGZWF0dXJlc1NlcnZpY2VUb2tlbiwgRmxhZ0NoYW5nZXNldCwgSUZlYXR1cmVzU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZmVhdHVyZXMuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBNb2NrRmVhdHVyZUZsYWdzIHtcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xufVxuXG5jb25zdCBhc3NlcnRGZWF0dXJlRmxhZyA9IChmbGFnQ2hhbmdlc2V0OiBGbGFnQ2hhbmdlc2V0LCBrZXk6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGZsYWdDaGFuZ2VzZXRWYWx1ZSA9IGZsYWdDaGFuZ2VzZXRba2V5XTtcblxuICAgIGlmIChmbGFnQ2hhbmdlc2V0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgRVJST1IgRkVBVFVSRS1GTEFHXFxuJyR7a2V5fScgZmVhdHVyZSBpcyBub3QgbW9ja2VkLCBwbGVhc2UgbW9jayAnJHtrZXl9JyB1c2luZyAnJHtwcm92aWRlTW9ja0ZlYXR1cmVGbGFncy5uYW1lfScgaGVscGVyIGluIHlvdXIgdGVzdFxcbmBcbiAgICAgICAgKTtcbiAgICB9XG59O1xuXG5jb25zdCBtb2NrRmVhdHVyZXNTZXJ2aWNlID0gKGZsYWdDaGFuZ2VzZXQ6IEZsYWdDaGFuZ2VzZXQpOiBJRmVhdHVyZXNTZXJ2aWNlID0+ICh7XG4gICAgaW5pdDogKCkgPT4gb2YoZmxhZ0NoYW5nZXNldCksXG4gICAgaXNPbiQ6IChrZXkpID0+IHtcbiAgICAgICAgYXNzZXJ0RmVhdHVyZUZsYWcoZmxhZ0NoYW5nZXNldCwga2V5KTtcbiAgICAgICAgcmV0dXJuIG9mKGZsYWdDaGFuZ2VzZXRba2V5XS5jdXJyZW50KTtcbiAgICB9LFxuICAgIGlzT2ZmJDogKGtleSkgPT4ge1xuICAgICAgICBhc3NlcnRGZWF0dXJlRmxhZyhmbGFnQ2hhbmdlc2V0LCBrZXkpO1xuICAgICAgICByZXR1cm4gb2YoIWZsYWdDaGFuZ2VzZXRba2V5XS5jdXJyZW50KTtcbiAgICB9LFxuICAgIGdldEZsYWdzJDogKCkgPT4gb2YoZmxhZ0NoYW5nZXNldClcbn0pO1xuXG5jb25zdCBhcnJheVRvRmxhZ0NoYW5nZXNldCA9IChmZWF0dXJlRmxhZ3M6IHN0cmluZ1tdKTogRmxhZ0NoYW5nZXNldCA9PiB7XG4gICAgY29uc3QgZmxhZ0NoYW5nZXNldDogRmxhZ0NoYW5nZXNldCA9IHt9O1xuICAgIGZlYXR1cmVGbGFncy5mb3JFYWNoKChmZWF0dXJlRmxhZykgPT4ge1xuICAgICAgICBmbGFnQ2hhbmdlc2V0W2ZlYXR1cmVGbGFnXSA9IHsgY3VycmVudDogdHJ1ZSwgcHJldmlvdXM6IG51bGwgfTtcbiAgICB9KTtcbiAgICByZXR1cm4gZmxhZ0NoYW5nZXNldDtcbn07XG5cbmNvbnN0IG1vY2tGZWF0dXJlRmxhZ3NUb0ZsYWdDaGFuZ2VzZXQgPSAobW9ja0ZlYXR1cmVGbGFnczogTW9ja0ZlYXR1cmVGbGFncykgPT4ge1xuICAgIGNvbnN0IGZsYWdDaGFuZ2VzZXQ6IEZsYWdDaGFuZ2VzZXQgPSB7fTtcbiAgICBjb25zdCBmZWF0dXJlRmxhZ3MgPSBPYmplY3Qua2V5cyhtb2NrRmVhdHVyZUZsYWdzKTtcbiAgICBmZWF0dXJlRmxhZ3MuZm9yRWFjaCgoZmVhdHVyZUZsYWcpID0+IHtcbiAgICAgICAgZmxhZ0NoYW5nZXNldFtmZWF0dXJlRmxhZ10gPSB7IGN1cnJlbnQ6IG1vY2tGZWF0dXJlRmxhZ3NbZmVhdHVyZUZsYWddLCBwcmV2aW91czogbnVsbCB9O1xuICAgIH0pO1xuICAgIHJldHVybiBmbGFnQ2hhbmdlc2V0O1xufTtcblxuZXhwb3J0IGNvbnN0IHByb3ZpZGVNb2NrRmVhdHVyZUZsYWdzID0gKGZlYXR1cmVGbGFnOiBNb2NrRmVhdHVyZUZsYWdzIHwgc3RyaW5nIHwgc3RyaW5nW10pID0+IHtcbiAgICBpZiAodHlwZW9mIGZlYXR1cmVGbGFnID09PSAnc3RyaW5nJykge1xuICAgICAgICBmZWF0dXJlRmxhZyA9IFtmZWF0dXJlRmxhZ107XG4gICAgfVxuXG4gICAgY29uc3QgZmxhZ0NoYW5nZXNldCA9IEFycmF5LmlzQXJyYXkoZmVhdHVyZUZsYWcpID8gYXJyYXlUb0ZsYWdDaGFuZ2VzZXQoZmVhdHVyZUZsYWcpIDogbW9ja0ZlYXR1cmVGbGFnc1RvRmxhZ0NoYW5nZXNldChmZWF0dXJlRmxhZyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBGZWF0dXJlc1NlcnZpY2VUb2tlbixcbiAgICAgICAgdXNlVmFsdWU6IG1vY2tGZWF0dXJlc1NlcnZpY2UoZmxhZ0NoYW5nZXNldClcbiAgICB9O1xufTtcbiJdfQ==
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { APP_INITIALIZER } from '@angular/core';
|
|
18
|
-
import { FlagsOverrideToken, FeaturesServiceToken, WritableFeaturesServiceConfigToken, WritableFeaturesServiceToken } from '../interfaces/features.interface';
|
|
19
|
-
import { StorageFeaturesService } from '../services/storage-features.service';
|
|
20
|
-
import { DebugFeaturesService } from '../services/debug-features.service';
|
|
21
|
-
import { QaFeaturesHelper } from '../services/qa-features.helper';
|
|
22
|
-
import { DOCUMENT } from '@angular/common';
|
|
23
|
-
/**
|
|
24
|
-
*
|
|
25
|
-
* @param config Configuration for the Feature Flags
|
|
26
|
-
* @returns Environment Providers for Feature Flags
|
|
27
|
-
*/
|
|
28
|
-
export function provideDebugFeatureFlags(config) {
|
|
29
|
-
return [
|
|
30
|
-
{ provide: FlagsOverrideToken, useValue: true },
|
|
31
|
-
{ provide: FeaturesServiceToken, useClass: DebugFeaturesService },
|
|
32
|
-
{ provide: WritableFeaturesServiceConfigToken, useValue: config },
|
|
33
|
-
{ provide: WritableFeaturesServiceToken, useClass: StorageFeaturesService },
|
|
34
|
-
{ provide: QaFeaturesHelper, useClass: QaFeaturesHelper },
|
|
35
|
-
{
|
|
36
|
-
provide: APP_INITIALIZER,
|
|
37
|
-
useFactory: (featuresService) => () => featuresService.init(),
|
|
38
|
-
deps: [WritableFeaturesServiceToken],
|
|
39
|
-
multi: true
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
provide: APP_INITIALIZER,
|
|
43
|
-
useFactory: (qaFeaturesHelper, document) => () => {
|
|
44
|
-
document[config.helperExposeKeyOnDocument ?? 'featureOverrides'] = qaFeaturesHelper;
|
|
45
|
-
},
|
|
46
|
-
deps: [QaFeaturesHelper, DOCUMENT],
|
|
47
|
-
multi: true
|
|
48
|
-
}
|
|
49
|
-
];
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctZmVhdHVyZS1mbGFncy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL2ZlYXR1cmUtZmxhZ3Mvc3JjL2xpYi9wcm92aWRlcnMvZGVidWctZmVhdHVyZS1mbGFncy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBR3BCLGtDQUFrQyxFQUNsQyw0QkFBNEIsRUFDL0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0M7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUE4RDtJQUNuRyxPQUFPO1FBQ0gsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtRQUMvQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUU7UUFDakUsRUFBRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtRQUNqRSxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7UUFDM0UsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFO1FBQ3pEO1lBQ0ksT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLENBQUMsZUFBdUMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRTtZQUNyRixJQUFJLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztZQUNwQyxLQUFLLEVBQUUsSUFBSTtTQUNkO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsQ0FBQyxnQkFBa0MsRUFBRSxRQUF3RCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7Z0JBQy9HLFFBQVEsQ0FBQyxNQUFNLENBQUMseUJBQXlCLElBQUksa0JBQWtCLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztZQUN4RixDQUFDO1lBQ0QsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDO1lBQ2xDLEtBQUssRUFBRSxJQUFJO1NBQ2Q7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEZsYWdzT3ZlcnJpZGVUb2tlbixcbiAgICBGZWF0dXJlc1NlcnZpY2VUb2tlbixcbiAgICBRYUZlYXR1cmVzSGVscGVyQ29uZmlnLFxuICAgIFdyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlQ29uZmlnLFxuICAgIFdyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlQ29uZmlnVG9rZW4sXG4gICAgV3JpdGFibGVGZWF0dXJlc1NlcnZpY2VUb2tlblxufSBmcm9tICcuLi9pbnRlcmZhY2VzL2ZlYXR1cmVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdG9yYWdlRmVhdHVyZXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RvcmFnZS1mZWF0dXJlcy5zZXJ2aWNlJztcbmltcG9ydCB7IERlYnVnRmVhdHVyZXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZGVidWctZmVhdHVyZXMuc2VydmljZSc7XG5pbXBvcnQgeyBRYUZlYXR1cmVzSGVscGVyIH0gZnJvbSAnLi4vc2VydmljZXMvcWEtZmVhdHVyZXMuaGVscGVyJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKlxuICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciB0aGUgRmVhdHVyZSBGbGFnc1xuICogQHJldHVybnMgRW52aXJvbm1lbnQgUHJvdmlkZXJzIGZvciBGZWF0dXJlIEZsYWdzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGVidWdGZWF0dXJlRmxhZ3MoY29uZmlnOiBXcml0YWJsZUZlYXR1cmVzU2VydmljZUNvbmZpZyAmIFFhRmVhdHVyZXNIZWxwZXJDb25maWcpIHtcbiAgICByZXR1cm4gW1xuICAgICAgICB7IHByb3ZpZGU6IEZsYWdzT3ZlcnJpZGVUb2tlbiwgdXNlVmFsdWU6IHRydWUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBGZWF0dXJlc1NlcnZpY2VUb2tlbiwgdXNlQ2xhc3M6IERlYnVnRmVhdHVyZXNTZXJ2aWNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogV3JpdGFibGVGZWF0dXJlc1NlcnZpY2VDb25maWdUb2tlbiwgdXNlVmFsdWU6IGNvbmZpZyB9LFxuICAgICAgICB7IHByb3ZpZGU6IFdyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlVG9rZW4sIHVzZUNsYXNzOiBTdG9yYWdlRmVhdHVyZXNTZXJ2aWNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogUWFGZWF0dXJlc0hlbHBlciwgdXNlQ2xhc3M6IFFhRmVhdHVyZXNIZWxwZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKGZlYXR1cmVzU2VydmljZTogU3RvcmFnZUZlYXR1cmVzU2VydmljZSkgPT4gKCkgPT4gZmVhdHVyZXNTZXJ2aWNlLmluaXQoKSxcbiAgICAgICAgICAgIGRlcHM6IFtXcml0YWJsZUZlYXR1cmVzU2VydmljZVRva2VuXSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChxYUZlYXR1cmVzSGVscGVyOiBRYUZlYXR1cmVzSGVscGVyLCBkb2N1bWVudDogRG9jdW1lbnQgJiB7IFtrZXk6IHN0cmluZ106IFFhRmVhdHVyZXNIZWxwZXIgfSkgPT4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50W2NvbmZpZy5oZWxwZXJFeHBvc2VLZXlPbkRvY3VtZW50ID8/ICdmZWF0dXJlT3ZlcnJpZGVzJ10gPSBxYUZlYXR1cmVzSGVscGVyO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlcHM6IFtRYUZlYXR1cmVzSGVscGVyLCBET0NVTUVOVF0sXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXTtcbn1cbiJdfQ==
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { IsFlagsOverrideOn } from '../guards/is-flags-override-on.guard';
|
|
18
|
-
import { IsFeatureOn } from '../guards/is-feature-on.guard';
|
|
19
|
-
import { IsFeatureOff } from '../guards/is-feature-off.guard';
|
|
20
|
-
import { FeaturesServiceToken, FlagsOverrideToken } from '../interfaces/features.interface';
|
|
21
|
-
import { DummyFeaturesService } from '../services/dummy-features.service';
|
|
22
|
-
/**
|
|
23
|
-
* Provides the dummy feature flags.
|
|
24
|
-
*
|
|
25
|
-
* @returns Environment Providers for Feature Flags.
|
|
26
|
-
*/
|
|
27
|
-
export function provideDummyFeatureFlags() {
|
|
28
|
-
return [
|
|
29
|
-
{ provide: FeaturesServiceToken, useClass: DummyFeaturesService },
|
|
30
|
-
{ provide: FlagsOverrideToken, useValue: false },
|
|
31
|
-
IsFeatureOn,
|
|
32
|
-
IsFeatureOff,
|
|
33
|
-
IsFlagsOverrideOn
|
|
34
|
-
];
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXktZmVhdHVyZS1mbGFncy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL2ZlYXR1cmUtZmxhZ3Mvc3JjL2xpYi9wcm92aWRlcnMvZHVtbXktZmVhdHVyZS1mbGFncy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCO0lBQ3BDLE9BQU87UUFDSCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUU7UUFDakUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtRQUNoRCxXQUFXO1FBQ1gsWUFBWTtRQUNaLGlCQUFpQjtLQUNwQixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSXNGbGFnc092ZXJyaWRlT24gfSBmcm9tICcuLi9ndWFyZHMvaXMtZmxhZ3Mtb3ZlcnJpZGUtb24uZ3VhcmQnO1xuaW1wb3J0IHsgSXNGZWF0dXJlT24gfSBmcm9tICcuLi9ndWFyZHMvaXMtZmVhdHVyZS1vbi5ndWFyZCc7XG5pbXBvcnQgeyBJc0ZlYXR1cmVPZmYgfSBmcm9tICcuLi9ndWFyZHMvaXMtZmVhdHVyZS1vZmYuZ3VhcmQnO1xuaW1wb3J0IHsgRmVhdHVyZXNTZXJ2aWNlVG9rZW4sIEZsYWdzT3ZlcnJpZGVUb2tlbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvZmVhdHVyZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IER1bW15RmVhdHVyZXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHVtbXktZmVhdHVyZXMuc2VydmljZSc7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIGR1bW15IGZlYXR1cmUgZmxhZ3MuXG4gKlxuICogQHJldHVybnMgRW52aXJvbm1lbnQgUHJvdmlkZXJzIGZvciBGZWF0dXJlIEZsYWdzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUR1bW15RmVhdHVyZUZsYWdzKCkge1xuICAgIHJldHVybiBbXG4gICAgICAgIHsgcHJvdmlkZTogRmVhdHVyZXNTZXJ2aWNlVG9rZW4sIHVzZUNsYXNzOiBEdW1teUZlYXR1cmVzU2VydmljZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEZsYWdzT3ZlcnJpZGVUb2tlbiwgdXNlVmFsdWU6IGZhbHNlIH0sXG4gICAgICAgIElzRmVhdHVyZU9uLFxuICAgICAgICBJc0ZlYXR1cmVPZmYsXG4gICAgICAgIElzRmxhZ3NPdmVycmlkZU9uXG4gICAgXTtcbn1cbiJdfQ==
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
18
|
-
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
19
|
-
import { filter, switchMap } from 'rxjs/operators';
|
|
20
|
-
import { OverridableFeaturesServiceToken, WritableFeaturesServiceToken, WritableFeaturesServiceConfigToken } from '../interfaces/features.interface';
|
|
21
|
-
import * as i0 from "@angular/core";
|
|
22
|
-
export class DebugFeaturesService {
|
|
23
|
-
get storageKey() {
|
|
24
|
-
return `${this.config?.storageKey || 'feature-flags'}-override`;
|
|
25
|
-
}
|
|
26
|
-
constructor(overriddenFeaturesService, writableFeaturesService, config) {
|
|
27
|
-
this.overriddenFeaturesService = overriddenFeaturesService;
|
|
28
|
-
this.writableFeaturesService = writableFeaturesService;
|
|
29
|
-
this.config = config;
|
|
30
|
-
this.isInDebugModeSubject = new BehaviorSubject(false);
|
|
31
|
-
this.isInDebugMode$ = this.isInDebugModeSubject.asObservable();
|
|
32
|
-
this.initSubject = new BehaviorSubject(false);
|
|
33
|
-
this.init();
|
|
34
|
-
combineLatest({
|
|
35
|
-
debugMode: this.isInDebugModeSubject,
|
|
36
|
-
init: this.waitForInitializationToFinish()
|
|
37
|
-
}).subscribe(({ debugMode }) => {
|
|
38
|
-
sessionStorage.setItem(this.storageKey, JSON.stringify(debugMode));
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
isOn$(key) {
|
|
42
|
-
return this.isInDebugMode$.pipe(switchMap((isInDebugMode) => (isInDebugMode ? this.writableFeaturesService : this.overriddenFeaturesService).isOn$(key)));
|
|
43
|
-
}
|
|
44
|
-
isOff$(key) {
|
|
45
|
-
return this.isInDebugMode$.pipe(switchMap((isInDebugMode) => (isInDebugMode ? this.writableFeaturesService : this.overriddenFeaturesService).isOff$(key)));
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Gets the flags as an observable.
|
|
49
|
-
*
|
|
50
|
-
* @returns the observable that emits the flag changeset.
|
|
51
|
-
*/
|
|
52
|
-
getFlags$() {
|
|
53
|
-
return this.isInDebugMode$.pipe(switchMap((isInDebugMode) => (isInDebugMode ? this.writableFeaturesService : this.overriddenFeaturesService).getFlags$()));
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Resets the specified flags.
|
|
57
|
-
*
|
|
58
|
-
* @param flags The flags to reset.
|
|
59
|
-
*/
|
|
60
|
-
resetFlags(flags) {
|
|
61
|
-
this.writableFeaturesService.resetFlags(flags);
|
|
62
|
-
}
|
|
63
|
-
enable(on) {
|
|
64
|
-
this.isInDebugModeSubject.next(on);
|
|
65
|
-
}
|
|
66
|
-
isEnabled$() {
|
|
67
|
-
return this.isInDebugMode$;
|
|
68
|
-
}
|
|
69
|
-
init() {
|
|
70
|
-
const storedOverride = JSON.parse(sessionStorage.getItem(this.storageKey) || 'false');
|
|
71
|
-
this.isInDebugModeSubject.next(storedOverride);
|
|
72
|
-
this.initSubject.next(true);
|
|
73
|
-
}
|
|
74
|
-
waitForInitializationToFinish() {
|
|
75
|
-
return this.initSubject.pipe(filter((initialized) => !!initialized));
|
|
76
|
-
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DebugFeaturesService, deps: [{ token: OverridableFeaturesServiceToken }, { token: WritableFeaturesServiceToken }, { token: WritableFeaturesServiceConfigToken, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
78
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DebugFeaturesService }); }
|
|
79
|
-
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DebugFeaturesService, decorators: [{
|
|
81
|
-
type: Injectable
|
|
82
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
83
|
-
type: Inject,
|
|
84
|
-
args: [OverridableFeaturesServiceToken]
|
|
85
|
-
}] }, { type: undefined, decorators: [{
|
|
86
|
-
type: Inject,
|
|
87
|
-
args: [WritableFeaturesServiceToken]
|
|
88
|
-
}] }, { type: undefined, decorators: [{
|
|
89
|
-
type: Optional
|
|
90
|
-
}, {
|
|
91
|
-
type: Inject,
|
|
92
|
-
args: [WritableFeaturesServiceConfigToken]
|
|
93
|
-
}] }] });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctZmVhdHVyZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL2ZlYXR1cmUtZmxhZ3Mvc3JjL2xpYi9zZXJ2aWNlcy9kZWJ1Zy1mZWF0dXJlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFJSCwrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLGtDQUFrQyxFQUlyQyxNQUFNLGtDQUFrQyxDQUFDOztBQUcxQyxNQUFNLE9BQU8sb0JBQW9CO0lBSzdCLElBQUksVUFBVTtRQUNWLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsSUFBSSxlQUFlLFdBQVcsQ0FBQztJQUNwRSxDQUFDO0lBRUQsWUFDcUQseUJBQTJDLEVBQzlDLHVCQUFvRSxFQUNsRCxNQUFzQztRQUZyRCw4QkFBeUIsR0FBekIseUJBQXlCLENBQWtCO1FBQzlDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBNkM7UUFDbEQsV0FBTSxHQUFOLE1BQU0sQ0FBZ0M7UUFYekYseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDM0QsbUJBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQVcvRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFWixhQUFhLENBQUM7WUFDVixTQUFTLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUNwQyxJQUFJLEVBQUUsSUFBSSxDQUFDLDZCQUE2QixFQUFFO1NBQzdDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7WUFDM0IsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzNCLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQzNILENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUMzQixTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM1SCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDM0IsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUM1SCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsS0FBYztRQUNyQixJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsRUFBVztRQUNkLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVPLElBQUk7UUFDUixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVPLDZCQUE2QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQzsrR0F4RVEsb0JBQW9CLGtCQVVqQiwrQkFBK0IsYUFDL0IsNEJBQTRCLGFBQ2hCLGtDQUFrQzttSEFaakQsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVOzswQkFXRixNQUFNOzJCQUFDLCtCQUErQjs7MEJBQ3RDLE1BQU07MkJBQUMsNEJBQTRCOzswQkFDbkMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIElEZWJ1Z0ZlYXR1cmVzU2VydmljZSxcbiAgICBJRmVhdHVyZXNTZXJ2aWNlLFxuICAgIEZsYWdDaGFuZ2VzZXQsXG4gICAgT3ZlcnJpZGFibGVGZWF0dXJlc1NlcnZpY2VUb2tlbixcbiAgICBXcml0YWJsZUZlYXR1cmVzU2VydmljZVRva2VuLFxuICAgIFdyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlQ29uZmlnVG9rZW4sXG4gICAgV3JpdGFibGVGZWF0dXJlc1NlcnZpY2VDb25maWcsXG4gICAgRmxhZ1NldCxcbiAgICBJV3JpdGFibGVGZWF0dXJlc1NlcnZpY2Vcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcy9mZWF0dXJlcy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVidWdGZWF0dXJlc1NlcnZpY2UgaW1wbGVtZW50cyBJRGVidWdGZWF0dXJlc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNJbkRlYnVnTW9kZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzSW5EZWJ1Z01vZGUkID0gdGhpcy5pc0luRGVidWdNb2RlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluaXRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBnZXQgc3RvcmFnZUtleSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5jb25maWc/LnN0b3JhZ2VLZXkgfHwgJ2ZlYXR1cmUtZmxhZ3MnfS1vdmVycmlkZWA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoT3ZlcnJpZGFibGVGZWF0dXJlc1NlcnZpY2VUb2tlbikgcHJpdmF0ZSBvdmVycmlkZGVuRmVhdHVyZXNTZXJ2aWNlOiBJRmVhdHVyZXNTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFdyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlVG9rZW4pIHByaXZhdGUgd3JpdGFibGVGZWF0dXJlc1NlcnZpY2U6IElGZWF0dXJlc1NlcnZpY2UgJiBJV3JpdGFibGVGZWF0dXJlc1NlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoV3JpdGFibGVGZWF0dXJlc1NlcnZpY2VDb25maWdUb2tlbikgcHJpdmF0ZSBjb25maWc/OiBXcml0YWJsZUZlYXR1cmVzU2VydmljZUNvbmZpZ1xuICAgICkge1xuICAgICAgICB0aGlzLmluaXQoKTtcblxuICAgICAgICBjb21iaW5lTGF0ZXN0KHtcbiAgICAgICAgICAgIGRlYnVnTW9kZTogdGhpcy5pc0luRGVidWdNb2RlU3ViamVjdCxcbiAgICAgICAgICAgIGluaXQ6IHRoaXMud2FpdEZvckluaXRpYWxpemF0aW9uVG9GaW5pc2goKVxuICAgICAgICB9KS5zdWJzY3JpYmUoKHsgZGVidWdNb2RlIH0pID0+IHtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShkZWJ1Z01vZGUpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaXNPbiQoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNJbkRlYnVnTW9kZSQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoaXNJbkRlYnVnTW9kZSkgPT4gKGlzSW5EZWJ1Z01vZGUgPyB0aGlzLndyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlIDogdGhpcy5vdmVycmlkZGVuRmVhdHVyZXNTZXJ2aWNlKS5pc09uJChrZXkpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlzT2ZmJChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0luRGVidWdNb2RlJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChpc0luRGVidWdNb2RlKSA9PiAoaXNJbkRlYnVnTW9kZSA/IHRoaXMud3JpdGFibGVGZWF0dXJlc1NlcnZpY2UgOiB0aGlzLm92ZXJyaWRkZW5GZWF0dXJlc1NlcnZpY2UpLmlzT2ZmJChrZXkpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGZsYWdzIGFzIGFuIG9ic2VydmFibGUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBmbGFnIGNoYW5nZXNldC5cbiAgICAgKi9cbiAgICBnZXRGbGFncyQoKTogT2JzZXJ2YWJsZTxGbGFnQ2hhbmdlc2V0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzSW5EZWJ1Z01vZGUkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGlzSW5EZWJ1Z01vZGUpID0+IChpc0luRGVidWdNb2RlID8gdGhpcy53cml0YWJsZUZlYXR1cmVzU2VydmljZSA6IHRoaXMub3ZlcnJpZGRlbkZlYXR1cmVzU2VydmljZSkuZ2V0RmxhZ3MkKCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVzZXRzIHRoZSBzcGVjaWZpZWQgZmxhZ3MuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmxhZ3MgVGhlIGZsYWdzIHRvIHJlc2V0LlxuICAgICAqL1xuICAgIHJlc2V0RmxhZ3MoZmxhZ3M6IEZsYWdTZXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0YWJsZUZlYXR1cmVzU2VydmljZS5yZXNldEZsYWdzKGZsYWdzKTtcbiAgICB9XG5cbiAgICBlbmFibGUob246IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0luRGVidWdNb2RlU3ViamVjdC5uZXh0KG9uKTtcbiAgICB9XG5cbiAgICBpc0VuYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0luRGVidWdNb2RlJDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXQoKSB7XG4gICAgICAgIGNvbnN0IHN0b3JlZE92ZXJyaWRlID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZUtleSkgfHwgJ2ZhbHNlJyk7XG4gICAgICAgIHRoaXMuaXNJbkRlYnVnTW9kZVN1YmplY3QubmV4dChzdG9yZWRPdmVycmlkZSk7XG4gICAgICAgIHRoaXMuaW5pdFN1YmplY3QubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdhaXRGb3JJbml0aWFsaXphdGlvblRvRmluaXNoKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbml0U3ViamVjdC5waXBlKGZpbHRlcigoaW5pdGlhbGl6ZWQpID0+ICEhaW5pdGlhbGl6ZWQpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
18
|
-
import { Injectable } from '@angular/core';
|
|
19
|
-
import { of } from 'rxjs';
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
export class DummyFeaturesService {
|
|
22
|
-
init() {
|
|
23
|
-
return of();
|
|
24
|
-
}
|
|
25
|
-
isOn$() {
|
|
26
|
-
return of(false);
|
|
27
|
-
}
|
|
28
|
-
isOff$(_key) {
|
|
29
|
-
return of(true);
|
|
30
|
-
}
|
|
31
|
-
getFlags$() {
|
|
32
|
-
return of({});
|
|
33
|
-
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DummyFeaturesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DummyFeaturesService }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DummyFeaturesService, decorators: [{
|
|
38
|
-
type: Injectable
|
|
39
|
-
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXktZmVhdHVyZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL2ZlYXR1cmUtZmxhZ3Mvc3JjL2xpYi9zZXJ2aWNlcy9kdW1teS1mZWF0dXJlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHNEQUFzRDtBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSXRDLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsSUFBSTtRQUNBLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUs7UUFDRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDZixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsU0FBUztRQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7K0dBZlEsb0JBQW9CO21IQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElGZWF0dXJlc1NlcnZpY2UsIEZsYWdDaGFuZ2VzZXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ZlYXR1cmVzLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEdW1teUZlYXR1cmVzU2VydmljZSBpbXBsZW1lbnRzIElGZWF0dXJlc1NlcnZpY2Uge1xuICAgIGluaXQoKTogT2JzZXJ2YWJsZTxGbGFnQ2hhbmdlc2V0PiB7XG4gICAgICAgIHJldHVybiBvZigpO1xuICAgIH1cblxuICAgIGlzT24kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH1cblxuICAgIGlzT2ZmJChfa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgIH1cblxuICAgIGdldEZsYWdzJCgpOiBPYnNlcnZhYmxlPEZsYWdDaGFuZ2VzZXQ+IHtcbiAgICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
export class FlagSetParser {
|
|
18
|
-
static serialize(flags) {
|
|
19
|
-
return Object.keys(flags).reduce((acc, key) => ({
|
|
20
|
-
...acc,
|
|
21
|
-
[key]: {
|
|
22
|
-
current: flags[key].current,
|
|
23
|
-
fictive: flags[key].fictive
|
|
24
|
-
}
|
|
25
|
-
}), {});
|
|
26
|
-
}
|
|
27
|
-
static deserialize(serializedFlags) {
|
|
28
|
-
return Object.keys(serializedFlags).reduce((acc, key) => ({
|
|
29
|
-
...acc,
|
|
30
|
-
[key]: {
|
|
31
|
-
current: serializedFlags[key].current,
|
|
32
|
-
previous: null,
|
|
33
|
-
...(serializedFlags[key].fictive ? { fictive: true } : {})
|
|
34
|
-
}
|
|
35
|
-
}), {});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZ3NldC5wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9mZWF0dXJlLWZsYWdzL3NyYy9saWIvc2VydmljZXMvZmxhZ3NldC5wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBV0gsTUFBTSxPQUFPLGFBQWE7SUFDdEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUE0QjtRQUN6QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUM1QixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDWCxHQUFHLEdBQUc7WUFDTixDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNILE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTztnQkFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPO2FBQzlCO1NBQ0osQ0FBQyxFQUNGLEVBQUUsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsZUFBa0M7UUFDakQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sQ0FDdEMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ1gsR0FBRyxHQUFHO1lBQ04sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDSCxPQUFPLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU87Z0JBQ3JDLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQzdEO1NBQ0osQ0FBQyxFQUNGLEVBQUUsQ0FDTCxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBXcml0YWJsZUZsYWdDaGFuZ2VzZXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ZlYXR1cmVzLmludGVyZmFjZSc7XG5cbmludGVyZmFjZSBTZXJpYWxpemVkRmxhZ1NldCB7XG4gICAgW2tleTogc3RyaW5nXToge1xuICAgICAgICBjdXJyZW50OiBib29sZWFuO1xuICAgICAgICBmaWN0aXZlPzogYm9vbGVhbjtcbiAgICB9O1xufVxuXG5leHBvcnQgY2xhc3MgRmxhZ1NldFBhcnNlciB7XG4gICAgc3RhdGljIHNlcmlhbGl6ZShmbGFnczogV3JpdGFibGVGbGFnQ2hhbmdlc2V0KTogU2VyaWFsaXplZEZsYWdTZXQge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoZmxhZ3MpLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIGtleSkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICAgICAgW2tleV06IHtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudDogZmxhZ3Nba2V5XS5jdXJyZW50LFxuICAgICAgICAgICAgICAgICAgICBmaWN0aXZlOiBmbGFnc1trZXldLmZpY3RpdmVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHt9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc3RhdGljIGRlc2VyaWFsaXplKHNlcmlhbGl6ZWRGbGFnczogU2VyaWFsaXplZEZsYWdTZXQpOiBXcml0YWJsZUZsYWdDaGFuZ2VzZXQge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoc2VyaWFsaXplZEZsYWdzKS5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBrZXkpID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgICAgIFtrZXldOiB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQ6IHNlcmlhbGl6ZWRGbGFnc1trZXldLmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAuLi4oc2VyaWFsaXplZEZsYWdzW2tleV0uZmljdGl2ZSA/IHsgZmljdGl2ZTogdHJ1ZSB9IDoge30pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7fVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { ApplicationRef, Inject, Injectable } from '@angular/core';
|
|
18
|
-
import { FeaturesServiceToken } from '../interfaces/features.interface';
|
|
19
|
-
import { DebugFeaturesService } from './debug-features.service';
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
import * as i1 from "./debug-features.service";
|
|
22
|
-
export class QaFeaturesHelper {
|
|
23
|
-
constructor(applicationRef, debugFeaturesService) {
|
|
24
|
-
this.applicationRef = applicationRef;
|
|
25
|
-
this.debugFeaturesService = debugFeaturesService;
|
|
26
|
-
}
|
|
27
|
-
isOn(key) {
|
|
28
|
-
let isOn = false;
|
|
29
|
-
this.debugFeaturesService.isOn$(key).subscribe((on) => {
|
|
30
|
-
isOn = on;
|
|
31
|
-
});
|
|
32
|
-
return isOn;
|
|
33
|
-
}
|
|
34
|
-
resetFlags(flags) {
|
|
35
|
-
this.debugFeaturesService.resetFlags(flags);
|
|
36
|
-
this.applicationRef.tick();
|
|
37
|
-
}
|
|
38
|
-
enable() {
|
|
39
|
-
this.debugFeaturesService.enable(true);
|
|
40
|
-
this.applicationRef.tick();
|
|
41
|
-
}
|
|
42
|
-
disable() {
|
|
43
|
-
this.debugFeaturesService.enable(false);
|
|
44
|
-
this.applicationRef.tick();
|
|
45
|
-
}
|
|
46
|
-
isEnabled() {
|
|
47
|
-
let enabled = false;
|
|
48
|
-
this.debugFeaturesService.isEnabled$().subscribe((isEnabled) => {
|
|
49
|
-
enabled = isEnabled;
|
|
50
|
-
});
|
|
51
|
-
return enabled;
|
|
52
|
-
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QaFeaturesHelper, deps: [{ token: i0.ApplicationRef }, { token: FeaturesServiceToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
54
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QaFeaturesHelper }); }
|
|
55
|
-
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QaFeaturesHelper, decorators: [{
|
|
57
|
-
type: Injectable
|
|
58
|
-
}], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i1.DebugFeaturesService, decorators: [{
|
|
59
|
-
type: Inject,
|
|
60
|
-
args: [FeaturesServiceToken]
|
|
61
|
-
}] }] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWEtZmVhdHVyZXMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvZmVhdHVyZS1mbGFncy9zcmMvbGliL3NlcnZpY2VzL3FhLWZlYXR1cmVzLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFXLE1BQU0sa0NBQWtDLENBQUM7QUFDakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUVoRSxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQW9CLGNBQThCLEVBQXdDLG9CQUEwQztRQUFoSCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBd0MseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtJQUFHLENBQUM7SUFFeEksSUFBSSxDQUFDLEdBQVc7UUFDWixJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7UUFDakIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNsRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUMzRCxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQzsrR0FqQ1EsZ0JBQWdCLGdEQUNtQyxvQkFBb0I7bUhBRHZFLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBRThDLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZWF0dXJlc1NlcnZpY2VUb2tlbiwgRmxhZ1NldCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZmVhdHVyZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IERlYnVnRmVhdHVyZXNTZXJ2aWNlIH0gZnJvbSAnLi9kZWJ1Zy1mZWF0dXJlcy5zZXJ2aWNlJztcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBRYUZlYXR1cmVzSGVscGVyIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZiwgQEluamVjdChGZWF0dXJlc1NlcnZpY2VUb2tlbikgcHJpdmF0ZSBkZWJ1Z0ZlYXR1cmVzU2VydmljZTogRGVidWdGZWF0dXJlc1NlcnZpY2UpIHt9XG5cbiAgICBpc09uKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBpc09uID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGVidWdGZWF0dXJlc1NlcnZpY2UuaXNPbiQoa2V5KS5zdWJzY3JpYmUoKG9uKSA9PiB7XG4gICAgICAgICAgICBpc09uID0gb247XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBpc09uO1xuICAgIH1cblxuICAgIHJlc2V0RmxhZ3MoZmxhZ3M6IEZsYWdTZXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWJ1Z0ZlYXR1cmVzU2VydmljZS5yZXNldEZsYWdzKGZsYWdzKTtcbiAgICAgICAgdGhpcy5hcHBsaWNhdGlvblJlZi50aWNrKCk7XG4gICAgfVxuXG4gICAgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlYnVnRmVhdHVyZXNTZXJ2aWNlLmVuYWJsZSh0cnVlKTtcbiAgICAgICAgdGhpcy5hcHBsaWNhdGlvblJlZi50aWNrKCk7XG4gICAgfVxuXG4gICAgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWJ1Z0ZlYXR1cmVzU2VydmljZS5lbmFibGUoZmFsc2UpO1xuICAgICAgICB0aGlzLmFwcGxpY2F0aW9uUmVmLnRpY2soKTtcbiAgICB9XG5cbiAgICBpc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBlbmFibGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGVidWdGZWF0dXJlc1NlcnZpY2UuaXNFbmFibGVkJCgpLnN1YnNjcmliZSgoaXNFbmFibGVkKSA9PiB7XG4gICAgICAgICAgICBlbmFibGVkID0gaXNFbmFibGVkO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGVuYWJsZWQ7XG4gICAgfVxufVxuIl19
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
18
|
-
import { BehaviorSubject, combineLatest, of } from 'rxjs';
|
|
19
|
-
import { filter, map } from 'rxjs/operators';
|
|
20
|
-
import { WritableFeaturesServiceConfigToken } from '../interfaces/features.interface';
|
|
21
|
-
import { FlagSetParser } from './flagset.parser';
|
|
22
|
-
import * as i0 from "@angular/core";
|
|
23
|
-
export class StorageFeaturesService {
|
|
24
|
-
constructor(config) {
|
|
25
|
-
this.config = config;
|
|
26
|
-
this.currentFlagState = {};
|
|
27
|
-
this.flags = new BehaviorSubject({});
|
|
28
|
-
this.flags$ = this.flags.asObservable();
|
|
29
|
-
this.initSubject = new BehaviorSubject(false);
|
|
30
|
-
combineLatest({
|
|
31
|
-
flags: this.flags,
|
|
32
|
-
init: this.waitForInitializationToFinish()
|
|
33
|
-
}).subscribe(({ flags }) => {
|
|
34
|
-
this.currentFlagState = flags;
|
|
35
|
-
sessionStorage.setItem(this.storageKey, JSON.stringify(FlagSetParser.serialize(flags)));
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
get storageKey() {
|
|
39
|
-
return this.config?.storageKey || 'feature-flags';
|
|
40
|
-
}
|
|
41
|
-
init() {
|
|
42
|
-
const storedFlags = JSON.parse(sessionStorage.getItem(this.storageKey) || '{}');
|
|
43
|
-
const initialFlagChangeSet = FlagSetParser.deserialize(storedFlags);
|
|
44
|
-
this.flags.next(initialFlagChangeSet);
|
|
45
|
-
this.initSubject.next(true);
|
|
46
|
-
return of(initialFlagChangeSet);
|
|
47
|
-
}
|
|
48
|
-
isOn$(key) {
|
|
49
|
-
return this.flags$.pipe(map((flags) => !!flags[key]?.current));
|
|
50
|
-
}
|
|
51
|
-
isOff$(key) {
|
|
52
|
-
return this.flags$.pipe(map((flags) => !flags[key]?.current));
|
|
53
|
-
}
|
|
54
|
-
getFlags$() {
|
|
55
|
-
return this.flags$;
|
|
56
|
-
}
|
|
57
|
-
setFlag(key, value) {
|
|
58
|
-
let fictive = {};
|
|
59
|
-
if (!this.currentFlagState[key]) {
|
|
60
|
-
fictive = { fictive: true };
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
fictive = this.currentFlagState[key]?.fictive ? { fictive: true } : {};
|
|
64
|
-
}
|
|
65
|
-
this.flags.next({
|
|
66
|
-
...this.currentFlagState,
|
|
67
|
-
[key]: {
|
|
68
|
-
current: value,
|
|
69
|
-
previous: this.currentFlagState[key]?.current ?? null,
|
|
70
|
-
...fictive
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
removeFlag(key) {
|
|
75
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
76
|
-
const { [key]: _, ...flags } = this.currentFlagState;
|
|
77
|
-
this.flags.next(flags);
|
|
78
|
-
}
|
|
79
|
-
resetFlags(flags) {
|
|
80
|
-
this.flags.next(Object.keys(flags).reduce((acc, key) => ({
|
|
81
|
-
...acc,
|
|
82
|
-
[key]: {
|
|
83
|
-
current: flags[key],
|
|
84
|
-
previous: null,
|
|
85
|
-
fictive: true
|
|
86
|
-
}
|
|
87
|
-
}), {}));
|
|
88
|
-
}
|
|
89
|
-
mergeFlags(flags) {
|
|
90
|
-
const mergedFlags = Object.keys(flags).reduce((acc, key) => {
|
|
91
|
-
const current = this.currentFlagState[key]?.current;
|
|
92
|
-
return {
|
|
93
|
-
...acc,
|
|
94
|
-
[key]: {
|
|
95
|
-
current: current ?? flags[key].current,
|
|
96
|
-
previous: current ?? null
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
}, {});
|
|
100
|
-
Object.keys(this.currentFlagState)
|
|
101
|
-
.filter((key) => !flags[key])
|
|
102
|
-
.forEach((key) => {
|
|
103
|
-
mergedFlags[key] = {
|
|
104
|
-
current: this.currentFlagState[key].current,
|
|
105
|
-
previous: this.currentFlagState[key].previous,
|
|
106
|
-
fictive: true
|
|
107
|
-
};
|
|
108
|
-
});
|
|
109
|
-
this.flags.next(mergedFlags);
|
|
110
|
-
}
|
|
111
|
-
waitForInitializationToFinish() {
|
|
112
|
-
return this.initSubject.pipe(filter((initialized) => !!initialized));
|
|
113
|
-
}
|
|
114
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageFeaturesService, deps: [{ token: WritableFeaturesServiceConfigToken, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
115
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageFeaturesService, providedIn: 'root' }); }
|
|
116
|
-
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageFeaturesService, decorators: [{
|
|
118
|
-
type: Injectable,
|
|
119
|
-
args: [{ providedIn: 'root' }]
|
|
120
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
121
|
-
type: Optional
|
|
122
|
-
}, {
|
|
123
|
-
type: Inject,
|
|
124
|
-
args: [WritableFeaturesServiceConfigToken]
|
|
125
|
-
}] }] });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS1mZWF0dXJlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvZmVhdHVyZS1mbGFncy9zcmMvbGliL3NlcnZpY2VzL3N0b3JhZ2UtZmVhdHVyZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUtILGtDQUFrQyxFQUdyQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFHakQsTUFBTSxPQUFPLHNCQUFzQjtJQU0vQixZQUE0RSxNQUFzQztRQUF0QyxXQUFNLEdBQU4sTUFBTSxDQUFnQztRQUwxRyxxQkFBZ0IsR0FBMEIsRUFBRSxDQUFDO1FBQ3BDLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBd0IsRUFBRSxDQUFDLENBQUM7UUFDdkQsV0FBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUcvRCxhQUFhLENBQUM7WUFDVixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyw2QkFBNkIsRUFBRTtTQUM3QyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDOUIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUYsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsSUFBSSxlQUFlLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUk7UUFDQSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sb0JBQW9CLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQzNCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsT0FBTyxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0UsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ1osR0FBRyxJQUFJLENBQUMsZ0JBQWdCO1lBQ3hCLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ0gsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSTtnQkFDckQsR0FBRyxPQUFPO2FBQ2I7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDbEIsNkRBQTZEO1FBQzdELE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQ3JCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNYLEdBQUcsR0FBRztZQUNOLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ0gsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUM7Z0JBQ25CLFFBQVEsRUFBRSxJQUFJO2dCQUNkLE9BQU8sRUFBRSxJQUFJO2FBQ2hCO1NBQ0osQ0FBQyxFQUNGLEVBQUUsQ0FDTCxDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQW9CO1FBQzNCLE1BQU0sV0FBVyxHQUEwQixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM5RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDO1lBQ3BELE9BQU87Z0JBQ0gsR0FBRyxHQUFHO2dCQUNOLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ0gsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTztvQkFDdEMsUUFBUSxFQUFFLE9BQU8sSUFBSSxJQUFJO2lCQUM1QjthQUNKLENBQUM7UUFDTixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFUCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQzthQUM3QixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzVCLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2IsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHO2dCQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTztnQkFDM0MsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRO2dCQUM3QyxPQUFPLEVBQUUsSUFBSTthQUNoQixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFUCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sNkJBQTZCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDOytHQTNHUSxzQkFBc0Isa0JBTUMsa0NBQWtDO21IQU56RCxzQkFBc0IsY0FEVCxNQUFNOzs0RkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBT2pCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgRmxhZ0NoYW5nZXNldCxcbiAgICBJRmVhdHVyZXNTZXJ2aWNlLFxuICAgIEZsYWdTZXQsXG4gICAgSVdyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlLFxuICAgIFdyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlQ29uZmlnVG9rZW4sXG4gICAgV3JpdGFibGVGbGFnQ2hhbmdlc2V0LFxuICAgIFdyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlQ29uZmlnXG59IGZyb20gJy4uL2ludGVyZmFjZXMvZmVhdHVyZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZsYWdTZXRQYXJzZXIgfSBmcm9tICcuL2ZsYWdzZXQucGFyc2VyJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTdG9yYWdlRmVhdHVyZXNTZXJ2aWNlIGltcGxlbWVudHMgSUZlYXR1cmVzU2VydmljZSwgSVdyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGN1cnJlbnRGbGFnU3RhdGU6IFdyaXRhYmxlRmxhZ0NoYW5nZXNldCA9IHt9O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmxhZ3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdyaXRhYmxlRmxhZ0NoYW5nZXNldD4oe30pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmxhZ3MkID0gdGhpcy5mbGFncy5hc09ic2VydmFibGUoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluaXRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KFdyaXRhYmxlRmVhdHVyZXNTZXJ2aWNlQ29uZmlnVG9rZW4pIHByaXZhdGUgY29uZmlnPzogV3JpdGFibGVGZWF0dXJlc1NlcnZpY2VDb25maWcpIHtcbiAgICAgICAgY29tYmluZUxhdGVzdCh7XG4gICAgICAgICAgICBmbGFnczogdGhpcy5mbGFncyxcbiAgICAgICAgICAgIGluaXQ6IHRoaXMud2FpdEZvckluaXRpYWxpemF0aW9uVG9GaW5pc2goKVxuICAgICAgICB9KS5zdWJzY3JpYmUoKHsgZmxhZ3MgfSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RmxhZ1N0YXRlID0gZmxhZ3M7XG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZUtleSwgSlNPTi5zdHJpbmdpZnkoRmxhZ1NldFBhcnNlci5zZXJpYWxpemUoZmxhZ3MpKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBzdG9yYWdlS2V5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZz8uc3RvcmFnZUtleSB8fCAnZmVhdHVyZS1mbGFncyc7XG4gICAgfVxuXG4gICAgaW5pdCgpOiBPYnNlcnZhYmxlPFdyaXRhYmxlRmxhZ0NoYW5nZXNldD4ge1xuICAgICAgICBjb25zdCBzdG9yZWRGbGFncyA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpIHx8ICd7fScpO1xuICAgICAgICBjb25zdCBpbml0aWFsRmxhZ0NoYW5nZVNldCA9IEZsYWdTZXRQYXJzZXIuZGVzZXJpYWxpemUoc3RvcmVkRmxhZ3MpO1xuICAgICAgICB0aGlzLmZsYWdzLm5leHQoaW5pdGlhbEZsYWdDaGFuZ2VTZXQpO1xuICAgICAgICB0aGlzLmluaXRTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgIHJldHVybiBvZihpbml0aWFsRmxhZ0NoYW5nZVNldCk7XG4gICAgfVxuXG4gICAgaXNPbiQoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxhZ3MkLnBpcGUobWFwKChmbGFncykgPT4gISFmbGFnc1trZXldPy5jdXJyZW50KSk7XG4gICAgfVxuXG4gICAgaXNPZmYkKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZsYWdzJC5waXBlKG1hcCgoZmxhZ3MpID0+ICFmbGFnc1trZXldPy5jdXJyZW50KSk7XG4gICAgfVxuXG4gICAgZ2V0RmxhZ3MkKCk6IE9ic2VydmFibGU8V3JpdGFibGVGbGFnQ2hhbmdlc2V0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZsYWdzJDtcbiAgICB9XG5cbiAgICBzZXRGbGFnKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGxldCBmaWN0aXZlID0ge307XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50RmxhZ1N0YXRlW2tleV0pIHtcbiAgICAgICAgICAgIGZpY3RpdmUgPSB7IGZpY3RpdmU6IHRydWUgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpY3RpdmUgPSB0aGlzLmN1cnJlbnRGbGFnU3RhdGVba2V5XT8uZmljdGl2ZSA/IHsgZmljdGl2ZTogdHJ1ZSB9IDoge307XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZsYWdzLm5leHQoe1xuICAgICAgICAgICAgLi4udGhpcy5jdXJyZW50RmxhZ1N0YXRlLFxuICAgICAgICAgICAgW2tleV06IHtcbiAgICAgICAgICAgICAgICBjdXJyZW50OiB2YWx1ZSxcbiAgICAgICAgICAgICAgICBwcmV2aW91czogdGhpcy5jdXJyZW50RmxhZ1N0YXRlW2tleV0/LmN1cnJlbnQgPz8gbnVsbCxcbiAgICAgICAgICAgICAgICAuLi5maWN0aXZlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbW92ZUZsYWcoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICBjb25zdCB7IFtrZXldOiBfLCAuLi5mbGFncyB9ID0gdGhpcy5jdXJyZW50RmxhZ1N0YXRlO1xuICAgICAgICB0aGlzLmZsYWdzLm5leHQoZmxhZ3MpO1xuICAgIH1cblxuICAgIHJlc2V0RmxhZ3MoZmxhZ3M6IEZsYWdTZXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mbGFncy5uZXh0KFxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZmxhZ3MpLnJlZHVjZShcbiAgICAgICAgICAgICAgICAoYWNjLCBrZXkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgICAgICAgICAgW2tleV06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQ6IGZsYWdzW2tleV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91czogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpY3RpdmU6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHt9XG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbWVyZ2VGbGFncyhmbGFnczogRmxhZ0NoYW5nZXNldCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtZXJnZWRGbGFnczogV3JpdGFibGVGbGFnQ2hhbmdlc2V0ID0gT2JqZWN0LmtleXMoZmxhZ3MpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmN1cnJlbnRGbGFnU3RhdGVba2V5XT8uY3VycmVudDtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgICAgIFtrZXldOiB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQ6IGN1cnJlbnQgPz8gZmxhZ3Nba2V5XS5jdXJyZW50LFxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91czogY3VycmVudCA/PyBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSwge30pO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuY3VycmVudEZsYWdTdGF0ZSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGtleSkgPT4gIWZsYWdzW2tleV0pXG4gICAgICAgICAgICAuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgbWVyZ2VkRmxhZ3Nba2V5XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudDogdGhpcy5jdXJyZW50RmxhZ1N0YXRlW2tleV0uY3VycmVudCxcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXM6IHRoaXMuY3VycmVudEZsYWdTdGF0ZVtrZXldLnByZXZpb3VzLFxuICAgICAgICAgICAgICAgICAgICBmaWN0aXZlOiB0cnVlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZmxhZ3MubmV4dChtZXJnZWRGbGFncyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YWl0Rm9ySW5pdGlhbGl6YXRpb25Ub0ZpbmlzaCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5pdFN1YmplY3QucGlwZShmaWx0ZXIoKGluaXRpYWxpemVkKSA9PiAhIWluaXRpYWxpemVkKSk7XG4gICAgfVxufVxuIl19
|