@hmcts/rpx-xui-common-lib 1.7.0 → 1.8.0-angular-upgrade-9
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/hmcts-rpx-xui-common-lib.umd.js +4078 -6583
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +15 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
- package/esm2015/hmcts-rpx-xui-common-lib.js +2 -7
- package/esm2015/lib/components/accessibility/accessibility.component.js +13 -17
- package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +45 -127
- package/esm2015/lib/components/contact-details/contact-details.component.js +16 -23
- package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +31 -78
- package/esm2015/lib/components/due-date/due-date.component.js +24 -110
- package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +29 -34
- package/esm2015/lib/components/find-location/find-location.component.js +61 -131
- package/esm2015/lib/components/find-person/find-person.component.js +93 -174
- package/esm2015/lib/components/generic-filter/generic-filter-utils.js +11 -55
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +54 -289
- package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +20 -29
- package/esm2015/lib/components/index.js +2 -7
- package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +23 -33
- package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +34 -35
- package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +16 -22
- package/esm2015/lib/components/pagination/pagination.component.js +28 -38
- package/esm2015/lib/components/public_api.js +33 -33
- package/esm2015/lib/components/search-judicials/search-judicials.component.js +70 -156
- package/esm2015/lib/components/search-location/search-location.component.js +76 -177
- package/esm2015/lib/components/search-venue/search-venue.component.js +62 -154
- package/esm2015/lib/components/selected-case/selected-case.component.js +54 -191
- package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +22 -53
- package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +38 -68
- package/esm2015/lib/components/service-message/service-message.component.js +23 -32
- package/esm2015/lib/components/service-messages/service-messages.component.js +29 -77
- package/esm2015/lib/components/share-case/share-case.component.js +45 -104
- package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +27 -50
- package/esm2015/lib/components/tab/tab.component.js +19 -37
- package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +20 -29
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +13 -17
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +13 -17
- package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +16 -23
- package/esm2015/lib/components/user-details/user-details.component.js +47 -57
- package/esm2015/lib/components/user-list/user-list.component.js +19 -28
- package/esm2015/lib/components/user-select/user-select.component.js +23 -64
- package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +21 -67
- package/esm2015/lib/directives/index.js +2 -7
- package/esm2015/lib/directives/let/let.directive.js +16 -49
- package/esm2015/lib/directives/public-api.js +3 -8
- package/esm2015/lib/exui-common-lib.module.js +31 -35
- package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +23 -34
- package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +18 -23
- package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +30 -68
- package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +19 -25
- package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +19 -28
- package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +23 -36
- package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +23 -28
- package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +24 -35
- package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +15 -22
- package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +23 -35
- package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +18 -23
- package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +27 -34
- package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +32 -47
- package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +22 -29
- package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +20 -26
- package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +26 -56
- package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +17 -27
- package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +40 -52
- package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +29 -36
- package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +18 -35
- package/esm2015/lib/gov-ui/components/index.js +2 -7
- package/esm2015/lib/gov-ui/components/public_api.js +21 -7
- package/esm2015/lib/gov-ui/directives/index.js +2 -0
- package/esm2015/lib/gov-ui/directives/public_api.js +2 -0
- package/esm2015/lib/gov-ui/directives/remove-host.directive.js +12 -30
- package/esm2015/lib/gov-ui/gov-ui.service.js +12 -16
- package/esm2015/lib/gov-ui/index.js +2 -7
- package/esm2015/lib/gov-ui/models/banner-data-model.js +1 -16
- package/esm2015/lib/gov-ui/models/checkboxes-model.js +1 -22
- package/esm2015/lib/gov-ui/models/error-messages-model.js +1 -16
- package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +1 -36
- package/esm2015/lib/gov-ui/models/index.js +1 -7
- package/esm2015/lib/gov-ui/models/isession-storage.interface.js +1 -24
- package/esm2015/lib/gov-ui/models/public_api.js +1 -10
- package/esm2015/lib/gov-ui/public_api.js +5 -9
- package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +4 -14
- package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
- package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
- package/esm2015/lib/gov-ui/validators/date.validator.js +3 -20
- package/esm2015/lib/gov-ui/validators/index.js +2 -7
- package/esm2015/lib/gov-ui/validators/public_api.js +4 -9
- package/esm2015/lib/gov-ui/validators/radio-group.validator.js +3 -15
- package/esm2015/lib/models/case-share.model.js +1 -26
- package/esm2015/lib/models/contact-details.model.js +7 -31
- package/esm2015/lib/models/due-date.model.js +7 -14
- package/esm2015/lib/models/feature-user.js +1 -16
- package/esm2015/lib/models/filter.model.js +1 -112
- package/esm2015/lib/models/idle-config.model.js +1 -20
- package/esm2015/lib/models/index.js +6 -18
- package/esm2015/lib/models/location.model.js +1 -108
- package/esm2015/lib/models/person.model.js +17 -92
- package/esm2015/lib/models/public_api.js +4 -11
- package/esm2015/lib/models/search-options.model.js +1 -22
- package/esm2015/lib/models/tcDocument.model.js +1 -18
- package/esm2015/lib/models/timeout-notification.model.js +1 -18
- package/esm2015/lib/models/user-details.model.js +1 -22
- package/esm2015/lib/models/user.model.js +1 -25
- package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +19 -92
- package/esm2015/lib/services/cookie/cookie.service.js +19 -78
- package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +16 -51
- package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +11 -35
- package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +21 -101
- package/esm2015/lib/services/filter/filter.service.js +11 -63
- package/esm2015/lib/services/find-person/find-person.service.js +25 -130
- package/esm2015/lib/services/google-analytics/google-analytics.service.js +21 -70
- package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +23 -71
- package/esm2015/lib/services/index.js +2 -7
- package/esm2015/lib/services/loading/loading.service.js +11 -48
- package/esm2015/lib/services/locations/location.service.js +22 -35
- package/esm2015/lib/services/manage-session/manage-session.services.js +21 -70
- package/esm2015/lib/services/public-api.js +13 -18
- package/esm2015/lib/services/role-guard/role.guard.js +24 -61
- package/esm2015/lib/services/role-guard/role.service.js +11 -28
- package/esm2015/lib/services/session-storage/session-storage.service.js +12 -24
- package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +20 -82
- package/esm2015/lib/window.js +1 -10
- package/esm2015/public-api.js +8 -13
- package/esm5/hmcts-rpx-xui-common-lib.js +2 -7
- package/esm5/lib/components/accessibility/accessibility.component.js +10 -15
- package/esm5/lib/components/checkbox-list/checkbox-list.component.js +57 -232
- package/esm5/lib/components/contact-details/contact-details.component.js +14 -22
- package/esm5/lib/components/cookie-banner/cookie-banner.component.js +36 -106
- package/esm5/lib/components/due-date/due-date.component.js +29 -142
- package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +27 -33
- package/esm5/lib/components/find-location/find-location.component.js +71 -167
- package/esm5/lib/components/find-person/find-person.component.js +97 -193
- package/esm5/lib/components/generic-filter/generic-filter-utils.js +13 -57
- package/esm5/lib/components/generic-filter/generic-filter.component.js +83 -408
- package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +19 -32
- package/esm5/lib/components/index.js +2 -7
- package/esm5/lib/components/invite-user-form/invite-user-form.component.js +23 -37
- package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +32 -34
- package/esm5/lib/components/loading-spinner/loading-spinner.component.js +14 -21
- package/esm5/lib/components/pagination/pagination.component.js +28 -45
- package/esm5/lib/components/public_api.js +33 -33
- package/esm5/lib/components/search-judicials/search-judicials.component.js +78 -198
- package/esm5/lib/components/search-location/search-location.component.js +84 -207
- package/esm5/lib/components/search-venue/search-venue.component.js +71 -199
- package/esm5/lib/components/selected-case/selected-case.component.js +72 -279
- package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +22 -61
- package/esm5/lib/components/selected-case-list/selected-case-list.component.js +39 -82
- package/esm5/lib/components/service-message/service-message.component.js +22 -36
- package/esm5/lib/components/service-messages/service-messages.component.js +30 -91
- package/esm5/lib/components/share-case/share-case.component.js +52 -138
- package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +25 -49
- package/esm5/lib/components/tab/tab.component.js +18 -41
- package/esm5/lib/components/tc-confirm/tc-confirm.component.js +19 -32
- package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +10 -15
- package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +10 -15
- package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +14 -22
- package/esm5/lib/components/user-details/user-details.component.js +48 -71
- package/esm5/lib/components/user-list/user-list.component.js +18 -32
- package/esm5/lib/components/user-select/user-select.component.js +27 -92
- package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +21 -70
- package/esm5/lib/directives/index.js +2 -7
- package/esm5/lib/directives/let/let.directive.js +15 -51
- package/esm5/lib/directives/public-api.js +3 -8
- package/esm5/lib/exui-common-lib.module.js +22 -28
- package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +22 -37
- package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +16 -22
- package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +32 -89
- package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +17 -24
- package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +18 -31
- package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +23 -43
- package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +21 -27
- package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +24 -45
- package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +13 -21
- package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +18 -44
- package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +16 -22
- package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +26 -37
- package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +31 -51
- package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +21 -32
- package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +18 -25
- package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +28 -71
- package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +16 -27
- package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +41 -60
- package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +28 -36
- package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +16 -34
- package/esm5/lib/gov-ui/components/index.js +2 -7
- package/esm5/lib/gov-ui/components/public_api.js +21 -7
- package/esm5/lib/gov-ui/directives/index.js +2 -0
- package/esm5/lib/gov-ui/directives/public_api.js +2 -0
- package/esm5/lib/gov-ui/directives/remove-host.directive.js +10 -29
- package/esm5/lib/gov-ui/gov-ui.service.js +9 -14
- package/esm5/lib/gov-ui/index.js +2 -7
- package/esm5/lib/gov-ui/models/banner-data-model.js +1 -16
- package/esm5/lib/gov-ui/models/checkboxes-model.js +1 -22
- package/esm5/lib/gov-ui/models/error-messages-model.js +1 -16
- package/esm5/lib/gov-ui/models/gov-ui-config-model.js +1 -36
- package/esm5/lib/gov-ui/models/index.js +1 -7
- package/esm5/lib/gov-ui/models/isession-storage.interface.js +1 -24
- package/esm5/lib/gov-ui/models/public_api.js +1 -10
- package/esm5/lib/gov-ui/public_api.js +5 -9
- package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +3 -34
- package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
- package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
- package/esm5/lib/gov-ui/validators/date.validator.js +3 -20
- package/esm5/lib/gov-ui/validators/index.js +2 -7
- package/esm5/lib/gov-ui/validators/public_api.js +4 -9
- package/esm5/lib/gov-ui/validators/radio-group.validator.js +3 -15
- package/esm5/lib/models/case-share.model.js +1 -26
- package/esm5/lib/models/contact-details.model.js +7 -31
- package/esm5/lib/models/due-date.model.js +7 -14
- package/esm5/lib/models/feature-user.js +1 -16
- package/esm5/lib/models/filter.model.js +1 -112
- package/esm5/lib/models/idle-config.model.js +1 -20
- package/esm5/lib/models/index.js +6 -18
- package/esm5/lib/models/location.model.js +1 -108
- package/esm5/lib/models/person.model.js +17 -92
- package/esm5/lib/models/public_api.js +4 -11
- package/esm5/lib/models/search-options.model.js +1 -22
- package/esm5/lib/models/tcDocument.model.js +1 -18
- package/esm5/lib/models/timeout-notification.model.js +1 -18
- package/esm5/lib/models/user-details.model.js +1 -22
- package/esm5/lib/models/user.model.js +1 -25
- package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +27 -132
- package/esm5/lib/services/cookie/cookie.service.js +21 -104
- package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +13 -61
- package/esm5/lib/services/feature-toggle/feature-toggle.service.js +12 -70
- package/esm5/lib/services/feature-toggle/launch-darkly.service.js +21 -142
- package/esm5/lib/services/filter/filter.service.js +15 -101
- package/esm5/lib/services/find-person/find-person.service.js +27 -152
- package/esm5/lib/services/google-analytics/google-analytics.service.js +21 -78
- package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +23 -79
- package/esm5/lib/services/index.js +2 -7
- package/esm5/lib/services/loading/loading.service.js +14 -69
- package/esm5/lib/services/locations/location.service.js +11 -50
- package/esm5/lib/services/manage-session/manage-session.services.js +20 -73
- package/esm5/lib/services/public-api.js +13 -18
- package/esm5/lib/services/role-guard/role.guard.js +22 -60
- package/esm5/lib/services/role-guard/role.service.js +10 -28
- package/esm5/lib/services/session-storage/session-storage.service.js +12 -61
- package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +19 -111
- package/esm5/lib/window.js +1 -10
- package/esm5/public-api.js +8 -13
- package/fesm2015/hmcts-rpx-xui-common-lib.js +3152 -4924
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/fesm5/hmcts-rpx-xui-common-lib.js +3458 -6178
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
- package/lib/components/checkbox-list/checkbox-list.component.d.ts +6 -5
- package/lib/components/due-date/due-date.component.d.ts +4 -4
- package/lib/components/find-location/find-location.component.d.ts +4 -2
- package/lib/components/generic-filter/generic-filter.component.d.ts +4 -2
- package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
- package/lib/components/invite-user-form/invite-user-form.component.d.ts +2 -2
- package/lib/components/public_api.d.ts +9 -4
- package/lib/components/search-judicials/search-judicials.component.d.ts +1 -1
- package/lib/components/search-location/search-location.component.d.ts +4 -2
- package/lib/components/search-venue/search-venue.component.d.ts +1 -1
- package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
- package/lib/directives/let/let.directive.d.ts +1 -1
- package/lib/exui-common-lib.module.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
- package/lib/gov-ui/components/public_api.d.ts +19 -0
- package/lib/gov-ui/directives/index.d.ts +1 -0
- package/lib/gov-ui/directives/public_api.d.ts +1 -0
- package/lib/gov-ui/public_api.d.ts +2 -1
- package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
- package/lib/services/loading/loading.service.d.ts +2 -2
- package/lib/services/role-guard/role.service.d.ts +2 -1
- package/lib/window.d.ts +2 -2
- package/package.json +2 -6
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/case-sharing-state/case-sharing-state.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import * as tslib_1 from "tslib";
|
|
1
|
+
import { __assign, __decorate, __metadata, __values } from "tslib";
|
|
7
2
|
import { Injectable } from '@angular/core';
|
|
8
3
|
import { BehaviorSubject } from 'rxjs';
|
|
9
4
|
import { distinctUntilChanged } from 'rxjs/operators';
|
|
@@ -14,78 +9,41 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
14
9
|
this.subject = new BehaviorSubject(this.caseState);
|
|
15
10
|
}
|
|
16
11
|
Object.defineProperty(CaseSharingStateService.prototype, "state", {
|
|
17
|
-
get:
|
|
18
|
-
* @return {?}
|
|
19
|
-
*/
|
|
20
|
-
function () {
|
|
12
|
+
get: function () {
|
|
21
13
|
return this.subject.asObservable().pipe(distinctUntilChanged());
|
|
22
14
|
},
|
|
23
15
|
enumerable: true,
|
|
24
16
|
configurable: true
|
|
25
17
|
});
|
|
26
|
-
|
|
27
|
-
* @param {?} cases
|
|
28
|
-
* @return {?}
|
|
29
|
-
*/
|
|
30
|
-
CaseSharingStateService.prototype.setCases = /**
|
|
31
|
-
* @param {?} cases
|
|
32
|
-
* @return {?}
|
|
33
|
-
*/
|
|
34
|
-
function (cases) {
|
|
18
|
+
CaseSharingStateService.prototype.setCases = function (cases) {
|
|
35
19
|
var _this = this;
|
|
36
20
|
this.caseState = [];
|
|
37
|
-
cases.forEach((
|
|
38
|
-
* @param {?} aCase
|
|
39
|
-
* @return {?}
|
|
40
|
-
*/
|
|
41
|
-
function (aCase) {
|
|
21
|
+
cases.forEach(function (aCase) {
|
|
42
22
|
_this.caseState.push({ caseId: aCase.caseId, caseTitle: aCase.caseTitle, caseTypeId: aCase.caseTypeId, roles: aCase.roles,
|
|
43
23
|
sharedWith: aCase.sharedWith, pendingShares: aCase.pendingShares, pendingUnshares: aCase.pendingUnshares });
|
|
44
|
-
})
|
|
24
|
+
});
|
|
45
25
|
this.subject.next(this.caseState);
|
|
46
26
|
};
|
|
47
|
-
|
|
48
|
-
* @return {?}
|
|
49
|
-
*/
|
|
50
|
-
CaseSharingStateService.prototype.getCases = /**
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
function () {
|
|
27
|
+
CaseSharingStateService.prototype.getCases = function () {
|
|
54
28
|
return this.caseState;
|
|
55
29
|
};
|
|
56
|
-
|
|
57
|
-
* @param {?} user
|
|
58
|
-
* @return {?}
|
|
59
|
-
*/
|
|
60
|
-
CaseSharingStateService.prototype.requestShare = /**
|
|
61
|
-
* @param {?} user
|
|
62
|
-
* @return {?}
|
|
63
|
-
*/
|
|
64
|
-
function (user) {
|
|
30
|
+
CaseSharingStateService.prototype.requestShare = function (user) {
|
|
65
31
|
var e_1, _a;
|
|
66
|
-
/** @type {?} */
|
|
67
32
|
var oldSharedCases = this.caseState.slice();
|
|
68
|
-
/** @type {?} */
|
|
69
33
|
var newSharedCases = [];
|
|
70
34
|
try {
|
|
71
|
-
for (var oldSharedCases_1 =
|
|
35
|
+
for (var oldSharedCases_1 = __values(oldSharedCases), oldSharedCases_1_1 = oldSharedCases_1.next(); !oldSharedCases_1_1.done; oldSharedCases_1_1 = oldSharedCases_1.next()) {
|
|
72
36
|
var sharedCase = oldSharedCases_1_1.value;
|
|
73
37
|
if (!sharedCase.pendingShares) {
|
|
74
38
|
sharedCase.pendingShares = [];
|
|
75
39
|
}
|
|
76
|
-
/** @type {?} */
|
|
77
40
|
var newPendingShares = sharedCase.pendingShares.slice();
|
|
78
41
|
if (!sharedCase.pendingUnshares) {
|
|
79
42
|
sharedCase.pendingUnshares = [];
|
|
80
43
|
}
|
|
81
|
-
/** @type {?} */
|
|
82
44
|
var newPendingUnshares = sharedCase.pendingUnshares.slice();
|
|
83
45
|
if (!this.userHasAccess(sharedCase, user)) {
|
|
84
|
-
if (!newPendingShares.some((
|
|
85
|
-
* @param {?} u
|
|
86
|
-
* @return {?}
|
|
87
|
-
*/
|
|
88
|
-
function (u) { return u.email === user.email; }))) {
|
|
46
|
+
if (!newPendingShares.some(function (u) { return u.email === user.email; })) {
|
|
89
47
|
newPendingShares.push(user);
|
|
90
48
|
}
|
|
91
49
|
}
|
|
@@ -97,8 +55,7 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
97
55
|
}
|
|
98
56
|
}
|
|
99
57
|
}
|
|
100
|
-
|
|
101
|
-
var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
|
|
58
|
+
var newSharedCase = __assign(__assign({}, sharedCase), { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
|
|
102
59
|
newSharedCases.push(newSharedCase);
|
|
103
60
|
}
|
|
104
61
|
}
|
|
@@ -112,43 +69,26 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
112
69
|
this.subject.next(newSharedCases);
|
|
113
70
|
return newSharedCases;
|
|
114
71
|
};
|
|
115
|
-
|
|
116
|
-
* @param {?} caseId
|
|
117
|
-
* @param {?} user
|
|
118
|
-
* @return {?}
|
|
119
|
-
*/
|
|
120
|
-
CaseSharingStateService.prototype.requestUnshare = /**
|
|
121
|
-
* @param {?} caseId
|
|
122
|
-
* @param {?} user
|
|
123
|
-
* @return {?}
|
|
124
|
-
*/
|
|
125
|
-
function (caseId, user) {
|
|
72
|
+
CaseSharingStateService.prototype.requestUnshare = function (caseId, user) {
|
|
126
73
|
var e_2, _a;
|
|
127
|
-
/** @type {?} */
|
|
128
74
|
var newSharedCases = [];
|
|
129
75
|
try {
|
|
130
|
-
for (var _b =
|
|
76
|
+
for (var _b = __values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
131
77
|
var sharedCase = _c.value;
|
|
132
78
|
if (sharedCase.caseId === caseId) {
|
|
133
79
|
if (!sharedCase.pendingUnshares) {
|
|
134
80
|
sharedCase.pendingUnshares = [];
|
|
135
81
|
}
|
|
136
|
-
/** @type {?} */
|
|
137
82
|
var newPendingUnshares = sharedCase.pendingUnshares.slice();
|
|
138
83
|
if (newPendingUnshares) {
|
|
139
|
-
if (!newPendingUnshares.some((
|
|
140
|
-
* @param {?} u
|
|
141
|
-
* @return {?}
|
|
142
|
-
*/
|
|
143
|
-
function (u) { return u.email === user.email; }))) {
|
|
84
|
+
if (!newPendingUnshares.some(function (u) { return u.email === user.email; })) {
|
|
144
85
|
newPendingUnshares.push(user);
|
|
145
86
|
}
|
|
146
87
|
}
|
|
147
88
|
else {
|
|
148
89
|
newPendingUnshares.push(user);
|
|
149
90
|
}
|
|
150
|
-
|
|
151
|
-
var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares });
|
|
91
|
+
var newSharedCase = __assign(__assign({}, sharedCase), { pendingUnshares: newPendingUnshares });
|
|
152
92
|
newSharedCases.push(newSharedCase);
|
|
153
93
|
}
|
|
154
94
|
else {
|
|
@@ -166,28 +106,16 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
166
106
|
this.subject.next(newSharedCases);
|
|
167
107
|
return;
|
|
168
108
|
};
|
|
169
|
-
|
|
170
|
-
* @param {?} caseId
|
|
171
|
-
* @param {?} user
|
|
172
|
-
* @return {?}
|
|
173
|
-
*/
|
|
174
|
-
CaseSharingStateService.prototype.requestCancel = /**
|
|
175
|
-
* @param {?} caseId
|
|
176
|
-
* @param {?} user
|
|
177
|
-
* @return {?}
|
|
178
|
-
*/
|
|
179
|
-
function (caseId, user) {
|
|
109
|
+
CaseSharingStateService.prototype.requestCancel = function (caseId, user) {
|
|
180
110
|
var e_3, _a;
|
|
181
|
-
/** @type {?} */
|
|
182
111
|
var newSharedCases = [];
|
|
183
112
|
try {
|
|
184
|
-
for (var _b =
|
|
113
|
+
for (var _b = __values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
185
114
|
var sharedCase = _c.value;
|
|
186
115
|
if (sharedCase.caseId === caseId) {
|
|
187
116
|
if (!sharedCase.pendingUnshares) {
|
|
188
117
|
sharedCase.pendingUnshares = [];
|
|
189
118
|
}
|
|
190
|
-
/** @type {?} */
|
|
191
119
|
var newPendingUnshares = sharedCase.pendingUnshares.slice();
|
|
192
120
|
for (var iPendingUnshares = 0; iPendingUnshares < newPendingUnshares.length; iPendingUnshares++) {
|
|
193
121
|
if (newPendingUnshares[iPendingUnshares].email === user.email) {
|
|
@@ -198,7 +126,6 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
198
126
|
if (!sharedCase.pendingShares) {
|
|
199
127
|
sharedCase.pendingShares = [];
|
|
200
128
|
}
|
|
201
|
-
/** @type {?} */
|
|
202
129
|
var newPendingShares = sharedCase.pendingShares.slice();
|
|
203
130
|
for (var iPendingShares = 0; iPendingShares < newPendingShares.length; iPendingShares++) {
|
|
204
131
|
if (newPendingShares[iPendingShares].email === user.email) {
|
|
@@ -206,8 +133,7 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
206
133
|
break;
|
|
207
134
|
}
|
|
208
135
|
}
|
|
209
|
-
|
|
210
|
-
var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
|
|
136
|
+
var newSharedCase = __assign(__assign({}, sharedCase), { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
|
|
211
137
|
newSharedCases.push(newSharedCase);
|
|
212
138
|
}
|
|
213
139
|
else {
|
|
@@ -225,15 +151,7 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
225
151
|
this.subject.next(newSharedCases);
|
|
226
152
|
return;
|
|
227
153
|
};
|
|
228
|
-
|
|
229
|
-
* @param {?} caseId
|
|
230
|
-
* @return {?}
|
|
231
|
-
*/
|
|
232
|
-
CaseSharingStateService.prototype.removeCase = /**
|
|
233
|
-
* @param {?} caseId
|
|
234
|
-
* @return {?}
|
|
235
|
-
*/
|
|
236
|
-
function (caseId) {
|
|
154
|
+
CaseSharingStateService.prototype.removeCase = function (caseId) {
|
|
237
155
|
for (var i = 0, l = this.caseState.length; i < l; i++) {
|
|
238
156
|
if (this.caseState[i].caseId === caseId) {
|
|
239
157
|
this.caseState.splice(i, 1);
|
|
@@ -242,17 +160,7 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
242
160
|
}
|
|
243
161
|
}
|
|
244
162
|
};
|
|
245
|
-
|
|
246
|
-
* @param {?} c
|
|
247
|
-
* @param {?} user
|
|
248
|
-
* @return {?}
|
|
249
|
-
*/
|
|
250
|
-
CaseSharingStateService.prototype.userHasAccess = /**
|
|
251
|
-
* @param {?} c
|
|
252
|
-
* @param {?} user
|
|
253
|
-
* @return {?}
|
|
254
|
-
*/
|
|
255
|
-
function (c, user) {
|
|
163
|
+
CaseSharingStateService.prototype.userHasAccess = function (c, user) {
|
|
256
164
|
if (!c.sharedWith) {
|
|
257
165
|
return false;
|
|
258
166
|
}
|
|
@@ -263,27 +171,14 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
263
171
|
}
|
|
264
172
|
return false;
|
|
265
173
|
};
|
|
266
|
-
CaseSharingStateService
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
CaseSharingStateService
|
|
273
|
-
/** @nocollapse */ CaseSharingStateService.ngInjectableDef = i0.defineInjectable({ factory: function CaseSharingStateService_Factory() { return new CaseSharingStateService(); }, token: CaseSharingStateService, providedIn: "root" });
|
|
174
|
+
CaseSharingStateService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CaseSharingStateService_Factory() { return new CaseSharingStateService(); }, token: CaseSharingStateService, providedIn: "root" });
|
|
175
|
+
CaseSharingStateService = __decorate([
|
|
176
|
+
Injectable({
|
|
177
|
+
providedIn: 'root'
|
|
178
|
+
}),
|
|
179
|
+
__metadata("design:paramtypes", [])
|
|
180
|
+
], CaseSharingStateService);
|
|
274
181
|
return CaseSharingStateService;
|
|
275
182
|
}());
|
|
276
183
|
export { CaseSharingStateService };
|
|
277
|
-
if (false) {
|
|
278
|
-
/**
|
|
279
|
-
* @type {?}
|
|
280
|
-
* @private
|
|
281
|
-
*/
|
|
282
|
-
CaseSharingStateService.prototype.caseState;
|
|
283
|
-
/**
|
|
284
|
-
* @type {?}
|
|
285
|
-
* @private
|
|
286
|
-
*/
|
|
287
|
-
CaseSharingStateService.prototype.subject;
|
|
288
|
-
}
|
|
289
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXREO0lBY0U7UUFUUSxjQUFTLEdBQWlCLEVBQUUsQ0FBQztRQUNwQixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBUTdELENBQUM7SUFOakIsc0JBQVcsMENBQUs7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUNyQyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBQ0osQ0FBQzs7O09BQUE7Ozs7O0lBSU0sMENBQVE7Ozs7SUFBZixVQUFnQixLQUFtQjtRQUFuQyxpQkFPQztRQU5DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxLQUFLO1lBQ2pCLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUN0SCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFB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QUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xDLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQzs7Ozs7O0lBRU0sK0NBQWE7Ozs7O0lBQXBCLFVBQXFCLENBQWEsRUFBRSxJQUFpQjtRQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN4QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dCQXRKRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7OztrQ0FSRDtDQTZKQyxBQXZKRCxJQXVKQztTQXBKWSx1QkFBdUI7Ozs7OztJQUVsQyw0Q0FBcUM7Ozs7O0lBQ3JDLDBDQUE2RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTaGFyZWRDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1kZXRhaWxzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgY2FzZVN0YXRlOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGFyZWRDYXNlW10+KHRoaXMuY2FzZVN0YXRlKTtcblxuICBwdWJsaWMgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgc2V0Q2FzZXMoY2FzZXM6IFNoYXJlZENhc2VbXSk6IHZvaWQge1xuICAgIHRoaXMuY2FzZVN0YXRlID0gW107XG4gICAgY2FzZXMuZm9yRWFjaChhQ2FzZSA9PiB7XG4gICAgICB0aGlzLmNhc2VTdGF0ZS5wdXNoKHsgY2FzZUlkOiBhQ2FzZS5jYXNlSWQsIGNhc2VUaXRsZTogYUNhc2UuY2FzZVRpdGxlLCBjYXNlVHlwZUlkOiBhQ2FzZS5jYXNlVHlwZUlkLCByb2xlczogYUNhc2Uucm9sZXMsXG4gICAgICAgIHNoYXJlZFdpdGg6IGFDYXNlLnNoYXJlZFdpdGgsIHBlbmRpbmdTaGFyZXM6IGFDYXNlLnBlbmRpbmdTaGFyZXMsIHBlbmRpbmdVbnNoYXJlczogYUNhc2UucGVuZGluZ1Vuc2hhcmVzIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHRoaXMuY2FzZVN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlcygpOiBTaGFyZWRDYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmNhc2VTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0U2hhcmUodXNlcjogVXNlckRldGFpbHMpOiBTaGFyZWRDYXNlW10ge1xuICAgIGNvbnN0IG9sZFNoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSB0aGlzLmNhc2VTdGF0ZS5zbGljZSgpO1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2Ygb2xkU2hhcmVkQ2FzZXMpIHtcbiAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1NoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5zbGljZSgpO1xuICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgIGlmICghdGhpcy51c2VySGFzQWNjZXNzKHNoYXJlZENhc2UsIHVzZXIpKSB7XG4gICAgICAgIGlmICghbmV3UGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnB1c2godXNlcik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IHUgPSAwLCB1bCA9IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IHUgPCB1bDsgdSsrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdVbnNoYXJlc1t1XS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnNwbGljZSh1LCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXMsXG4gICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgIH07XG4gICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuIG5ld1NoYXJlZENhc2VzO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RVbnNoYXJlKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2YgdGhpcy5jYXNlU3RhdGUpIHtcbiAgICAgIGlmIChzaGFyZWRDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBpZiAoIW5ld1BlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5wdXNoKHVzZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdQZW5kaW5nVW5zaGFyZXMucHVzaCh1c2VyKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdTaGFyZWRDYXNlID0ge1xuICAgICAgICAgIC4uLnNoYXJlZENhc2UsXG4gICAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXNcbiAgICAgICAgfTtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2goc2hhcmVkQ2FzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdENhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIHRoaXMuY2FzZVN0YXRlKSB7XG4gICAgICBpZiAoc2hhcmVkQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpUGVuZGluZ1Vuc2hhcmVzID0gMDsgaVBlbmRpbmdVbnNoYXJlcyA8IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IGlQZW5kaW5nVW5zaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXNbaVBlbmRpbmdVbnNoYXJlc10uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5zcGxpY2UoaVBlbmRpbmdVbnNoYXJlcywgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGlQZW5kaW5nU2hhcmVzID0gMDsgaVBlbmRpbmdTaGFyZXMgPCBuZXdQZW5kaW5nU2hhcmVzLmxlbmd0aDsgaVBlbmRpbmdTaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nU2hhcmVzW2lQZW5kaW5nU2hhcmVzXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5zcGxpY2UoaVBlbmRpbmdTaGFyZXMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICAgIH07XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2gobmV3U2hhcmVkQ2FzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKHNoYXJlZENhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNhc2UoY2FzZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuY2FzZVN0YXRlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FzZVN0YXRlW2ldLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIHRoaXMuY2FzZVN0YXRlLnNwbGljZShpLCAxKTtcbiAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQodGhpcy5jYXNlU3RhdGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVzZXJIYXNBY2Nlc3MoYzogU2hhcmVkQ2FzZSwgdXNlcjogVXNlckRldGFpbHMpOiBib29sZWFuIHtcbiAgICBpZiAoIWMuc2hhcmVkV2l0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGMuc2hhcmVkV2l0aC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChjLnNoYXJlZFdpdGhbaV0uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU90RDtJQVdFO1FBVFEsY0FBUyxHQUFpQixFQUFFLENBQUM7UUFDcEIsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQVE3RCxDQUFDO0lBTmpCLHNCQUFXLDBDQUFLO2FBQWhCO1lBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDckMsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztRQUNKLENBQUM7OztPQUFBO0lBSU0sMENBQVEsR0FBZixVQUFnQixLQUFtQjtRQUFuQyxpQkFPQztRQU5DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBQSxLQUFLO1lBQ2pCLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUN0SCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsS0FBSyxD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QUFLLE1BQU0sRUFBRTtnQkFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xDLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQztJQUVNLCtDQUFhLEdBQXBCLFVBQXFCLENBQWEsRUFBRSxJQUFpQjtRQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN4QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O0lBbkpVLHVCQUF1QjtRQUhuQyxVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDOztPQUNXLHVCQUF1QixDQW9KbkM7a0NBN0pEO0NBNkpDLEFBcEpELElBb0pDO1NBcEpZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTaGFyZWRDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1kZXRhaWxzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgY2FzZVN0YXRlOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGFyZWRDYXNlW10+KHRoaXMuY2FzZVN0YXRlKTtcblxuICBwdWJsaWMgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgc2V0Q2FzZXMoY2FzZXM6IFNoYXJlZENhc2VbXSk6IHZvaWQge1xuICAgIHRoaXMuY2FzZVN0YXRlID0gW107XG4gICAgY2FzZXMuZm9yRWFjaChhQ2FzZSA9PiB7XG4gICAgICB0aGlzLmNhc2VTdGF0ZS5wdXNoKHsgY2FzZUlkOiBhQ2FzZS5jYXNlSWQsIGNhc2VUaXRsZTogYUNhc2UuY2FzZVRpdGxlLCBjYXNlVHlwZUlkOiBhQ2FzZS5jYXNlVHlwZUlkLCByb2xlczogYUNhc2Uucm9sZXMsXG4gICAgICAgIHNoYXJlZFdpdGg6IGFDYXNlLnNoYXJlZFdpdGgsIHBlbmRpbmdTaGFyZXM6IGFDYXNlLnBlbmRpbmdTaGFyZXMsIHBlbmRpbmdVbnNoYXJlczogYUNhc2UucGVuZGluZ1Vuc2hhcmVzIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHRoaXMuY2FzZVN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlcygpOiBTaGFyZWRDYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmNhc2VTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0U2hhcmUodXNlcjogVXNlckRldGFpbHMpOiBTaGFyZWRDYXNlW10ge1xuICAgIGNvbnN0IG9sZFNoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSB0aGlzLmNhc2VTdGF0ZS5zbGljZSgpO1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2Ygb2xkU2hhcmVkQ2FzZXMpIHtcbiAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1NoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5zbGljZSgpO1xuICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgIGlmICghdGhpcy51c2VySGFzQWNjZXNzKHNoYXJlZENhc2UsIHVzZXIpKSB7XG4gICAgICAgIGlmICghbmV3UGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnB1c2godXNlcik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IHUgPSAwLCB1bCA9IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IHUgPCB1bDsgdSsrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdVbnNoYXJlc1t1XS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnNwbGljZSh1LCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXMsXG4gICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgIH07XG4gICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuIG5ld1NoYXJlZENhc2VzO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RVbnNoYXJlKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2YgdGhpcy5jYXNlU3RhdGUpIHtcbiAgICAgIGlmIChzaGFyZWRDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBpZiAoIW5ld1BlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5wdXNoKHVzZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdQZW5kaW5nVW5zaGFyZXMucHVzaCh1c2VyKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdTaGFyZWRDYXNlID0ge1xuICAgICAgICAgIC4uLnNoYXJlZENhc2UsXG4gICAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXNcbiAgICAgICAgfTtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2goc2hhcmVkQ2FzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdENhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIHRoaXMuY2FzZVN0YXRlKSB7XG4gICAgICBpZiAoc2hhcmVkQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpUGVuZGluZ1Vuc2hhcmVzID0gMDsgaVBlbmRpbmdVbnNoYXJlcyA8IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IGlQZW5kaW5nVW5zaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXNbaVBlbmRpbmdVbnNoYXJlc10uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5zcGxpY2UoaVBlbmRpbmdVbnNoYXJlcywgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGlQZW5kaW5nU2hhcmVzID0gMDsgaVBlbmRpbmdTaGFyZXMgPCBuZXdQZW5kaW5nU2hhcmVzLmxlbmd0aDsgaVBlbmRpbmdTaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nU2hhcmVzW2lQZW5kaW5nU2hhcmVzXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5zcGxpY2UoaVBlbmRpbmdTaGFyZXMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICAgIH07XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2gobmV3U2hhcmVkQ2FzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKHNoYXJlZENhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNhc2UoY2FzZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuY2FzZVN0YXRlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FzZVN0YXRlW2ldLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIHRoaXMuY2FzZVN0YXRlLnNwbGljZShpLCAxKTtcbiAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQodGhpcy5jYXNlU3RhdGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVzZXJIYXNBY2Nlc3MoYzogU2hhcmVkQ2FzZSwgdXNlcjogVXNlckRldGFpbHMpOiBib29sZWFuIHtcbiAgICBpZiAoIWMuc2hhcmVkV2l0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGMuc2hhcmVkV2l0aC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChjLnNoYXJlZFdpdGhbaV0uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -1,136 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/cookie/cookie.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
6
2
|
import { DOCUMENT } from '@angular/common';
|
|
7
3
|
import { Inject, Injectable } from '@angular/core';
|
|
8
4
|
import * as i0 from "@angular/core";
|
|
9
5
|
import * as i1 from "@angular/common";
|
|
10
6
|
var CookieService = /** @class */ (function () {
|
|
11
7
|
function CookieService(doc) {
|
|
12
|
-
this.document =
|
|
8
|
+
this.document = doc;
|
|
13
9
|
}
|
|
14
|
-
|
|
15
|
-
* @param {?} key
|
|
16
|
-
* @param {?} value
|
|
17
|
-
* @param {?=} expiryDate
|
|
18
|
-
* @return {?}
|
|
19
|
-
*/
|
|
20
|
-
CookieService.prototype.setCookie = /**
|
|
21
|
-
* @param {?} key
|
|
22
|
-
* @param {?} value
|
|
23
|
-
* @param {?=} expiryDate
|
|
24
|
-
* @return {?}
|
|
25
|
-
*/
|
|
26
|
-
function (key, value, expiryDate) {
|
|
27
|
-
/** @type {?} */
|
|
10
|
+
CookieService.prototype.setCookie = function (key, value, expiryDate) {
|
|
28
11
|
var expiry = expiryDate ? " expires=" + expiryDate : '';
|
|
29
|
-
/** @type {?} */
|
|
30
12
|
var cookie = key + "=" + value + ";" + expiry;
|
|
31
13
|
this.document.cookie = cookie;
|
|
32
14
|
};
|
|
33
|
-
|
|
34
|
-
* @param {?} key
|
|
35
|
-
* @return {?}
|
|
36
|
-
*/
|
|
37
|
-
CookieService.prototype.getCookie = /**
|
|
38
|
-
* @param {?} key
|
|
39
|
-
* @return {?}
|
|
40
|
-
*/
|
|
41
|
-
function (key) {
|
|
42
|
-
/** @type {?} */
|
|
15
|
+
CookieService.prototype.getCookie = function (key) {
|
|
43
16
|
var cookieValue = this.document.cookie
|
|
44
17
|
.split('; ')
|
|
45
|
-
.find((
|
|
46
|
-
* @param {?} row
|
|
47
|
-
* @return {?}
|
|
48
|
-
*/
|
|
49
|
-
function (row) { return row.startsWith(key + "="); }))
|
|
18
|
+
.find(function (row) { return row.startsWith(key + "="); })
|
|
50
19
|
.split('=')[1];
|
|
51
20
|
return cookieValue;
|
|
52
21
|
};
|
|
53
|
-
|
|
54
|
-
* @param {?} key
|
|
55
|
-
* @param {?=} path
|
|
56
|
-
* @param {?=} domain
|
|
57
|
-
* @return {?}
|
|
58
|
-
*/
|
|
59
|
-
CookieService.prototype.deleteCookie = /**
|
|
60
|
-
* @param {?} key
|
|
61
|
-
* @param {?=} path
|
|
62
|
-
* @param {?=} domain
|
|
63
|
-
* @return {?}
|
|
64
|
-
*/
|
|
65
|
-
function (key, path, domain) {
|
|
66
|
-
/** @type {?} */
|
|
22
|
+
CookieService.prototype.deleteCookie = function (key, path, domain) {
|
|
67
23
|
var pathValue = path ? "; path=" + path : '';
|
|
68
|
-
/** @type {?} */
|
|
69
24
|
var domainValue = domain ? "; domain=" + domain : '';
|
|
70
25
|
this.document.cookie = key + "=" + pathValue + domainValue + "; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0";
|
|
71
26
|
};
|
|
72
|
-
|
|
73
|
-
* @param {?} key
|
|
74
|
-
* @param {?=} path
|
|
75
|
-
* @param {?=} domain
|
|
76
|
-
* @return {?}
|
|
77
|
-
*/
|
|
78
|
-
CookieService.prototype.deleteCookieByPartialMatch = /**
|
|
79
|
-
* @param {?} key
|
|
80
|
-
* @param {?=} path
|
|
81
|
-
* @param {?=} domain
|
|
82
|
-
* @return {?}
|
|
83
|
-
*/
|
|
84
|
-
function (key, path, domain) {
|
|
27
|
+
CookieService.prototype.deleteCookieByPartialMatch = function (key, path, domain) {
|
|
85
28
|
var _this = this;
|
|
86
29
|
this.document.cookie
|
|
87
30
|
.split('; ')
|
|
88
|
-
.filter((
|
|
89
|
-
|
|
90
|
-
* @return {?}
|
|
91
|
-
*/
|
|
92
|
-
function (row) { return row.startsWith("" + key); }))
|
|
93
|
-
.forEach((/**
|
|
94
|
-
* @param {?} element
|
|
95
|
-
* @return {?}
|
|
96
|
-
*/
|
|
97
|
-
function (element) {
|
|
31
|
+
.filter(function (row) { return row.startsWith("" + key); })
|
|
32
|
+
.forEach(function (element) {
|
|
98
33
|
_this.deleteCookie(element.split('=')[0], path, domain);
|
|
99
|
-
})
|
|
34
|
+
});
|
|
100
35
|
};
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
* @return {?}
|
|
104
|
-
*/
|
|
105
|
-
CookieService.prototype.checkCookie = /**
|
|
106
|
-
* @param {?} key
|
|
107
|
-
* @return {?}
|
|
108
|
-
*/
|
|
109
|
-
function (key) {
|
|
110
|
-
return this.document.cookie.split('; ').some((/**
|
|
111
|
-
* @param {?} item
|
|
112
|
-
* @return {?}
|
|
113
|
-
*/
|
|
114
|
-
function (item) { return item.trim().startsWith(key + "="); }));
|
|
36
|
+
CookieService.prototype.checkCookie = function (key) {
|
|
37
|
+
return this.document.cookie.split('; ').some(function (item) { return item.trim().startsWith(key + "="); });
|
|
115
38
|
};
|
|
116
|
-
CookieService.decorators = [
|
|
117
|
-
{ type: Injectable, args: [{
|
|
118
|
-
providedIn: 'root'
|
|
119
|
-
},] }
|
|
120
|
-
];
|
|
121
|
-
/** @nocollapse */
|
|
122
39
|
CookieService.ctorParameters = function () { return [
|
|
123
40
|
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
124
41
|
]; };
|
|
125
|
-
|
|
42
|
+
CookieService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CookieService_Factory() { return new CookieService(i0.ɵɵinject(i1.DOCUMENT)); }, token: CookieService, providedIn: "root" });
|
|
43
|
+
CookieService = __decorate([
|
|
44
|
+
Injectable({
|
|
45
|
+
providedIn: 'root'
|
|
46
|
+
}),
|
|
47
|
+
__param(0, Inject(DOCUMENT)),
|
|
48
|
+
__metadata("design:paramtypes", [Object])
|
|
49
|
+
], CookieService);
|
|
126
50
|
return CookieService;
|
|
127
51
|
}());
|
|
128
52
|
export { CookieService };
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* @type {?}
|
|
132
|
-
* @private
|
|
133
|
-
*/
|
|
134
|
-
CookieService.prototype.document;
|
|
135
|
-
}
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nvb2tpZS9jb29raWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRW5EO0lBTUUsdUJBQThCLEdBQVM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBQSxHQUFHLEVBQVksQ0FBQztJQUNsQyxDQUFDOzs7Ozs7O0lBRU0saUNBQVM7Ozs7OztJQUFoQixVQUFpQixHQUFXLEVBQUUsS0FBYSxFQUFFLFVBQW1COztZQUN4RCxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFZLFVBQVksQ0FBQyxDQUFDLENBQUMsRUFBRTs7WUFDbkQsTUFBTSxHQUFNLEdBQUcsU0FBSSxLQUFLLFNBQUksTUFBUTtRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDaEMsQ0FBQzs7Ozs7SUFFTSxpQ0FBUzs7OztJQUFoQixVQUFpQixHQUFXOztZQUNwQixXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxJQUFJOzs7O1FBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsVUFBVSxDQUFJLEdBQUcsTUFBRyxDQUFDLEVBQXpCLENBQXlCLEVBQUM7YUFDdEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzs7Ozs7O0lBRU0sb0NBQVk7Ozs7OztJQUFuQixVQUFvQixHQUFXLEVBQUUsSUFBYSxFQUFFLE1BQWU7O1lBQ3ZELFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVUsSUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFOztZQUN4QyxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFZLE1BQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBTSxHQUFHLFNBQUksU0FBUyxHQUFHLFdBQVcsdURBQW9ELENBQUM7SUFDL0csQ0FBQzs7Ozs7OztJQUVNLGtEQUEwQjs7Ozs7O0lBQWpDLFVBQWtDLEdBQVcsRUFBRSxJQUFhLEVBQUUsTUFBZTtRQUE3RSxpQkFPQztRQU5DLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTthQUNqQixLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ1gsTUFBTTs7OztRQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFHLEdBQUssQ0FBQyxFQUF4QixDQUF3QixFQUFDO2FBQ3ZDLE9BQU87Ozs7UUFBQyxVQUFBLE9BQU87WUFDZCxLQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Ozs7SUFFTSxtQ0FBVzs7OztJQUFsQixVQUFtQixHQUFXO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUksR0FBRyxNQUFHLENBQUMsRUFBakMsQ0FBaUMsRUFBQyxDQUFDO0lBQzFGLENBQUM7O2dCQXpDRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dEQUljLE1BQU0sU0FBQyxRQUFROzs7d0JBVDlCO0NBNkNDLEFBMUNELElBMENDO1NBdkNZLGFBQWE7Ozs7OztJQUN4QixpQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ/OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2M/OiBhbnkpIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jIGFzIERvY3VtZW50O1xuICB9XG5cbiAgcHVibGljIHNldENvb2tpZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZXhwaXJ5RGF0ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGV4cGlyeSA9IGV4cGlyeURhdGUgPyBgIGV4cGlyZXM9JHtleHBpcnlEYXRlfWAgOiAnJztcbiAgICBjb25zdCBjb29raWUgPSBgJHtrZXl9PSR7dmFsdWV9OyR7ZXhwaXJ5fWA7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29va2llKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb29raWVWYWx1ZSA9IHRoaXMuZG9jdW1lbnQuY29va2llXG4gICAgICAuc3BsaXQoJzsgJylcbiAgICAgIC5maW5kKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9PWApKVxuICAgICAgLnNwbGl0KCc9JylbMV07XG4gICAgcmV0dXJuIGNvb2tpZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZShrZXk6IHN0cmluZywgcGF0aD86IHN0cmluZywgZG9tYWluPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcGF0aFZhbHVlID0gcGF0aCA/IGA7IHBhdGg9JHtwYXRofWAgOiAnJztcbiAgICBjb25zdCBkb21haW5WYWx1ZSA9IGRvbWFpbiA/IGA7IGRvbWFpbj0ke2RvbWFpbn1gIDogJyc7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBgJHtrZXl9PSR7cGF0aFZhbHVlfSR7ZG9tYWluVmFsdWV9OyBleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UOyBtYXgtYWdlPTBgO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZUJ5UGFydGlhbE1hdGNoKGtleTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZVxuICAgICAgLnNwbGl0KCc7ICcpXG4gICAgICAuZmlsdGVyKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9YCkpXG4gICAgICAuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgdGhpcy5kZWxldGVDb29raWUoZWxlbWVudC5zcGxpdCgnPScpWzBdLCBwYXRoLCBkb21haW4pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tDb29raWUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5jb29raWUuc3BsaXQoJzsgJykuc29tZShpdGVtID0+IGl0ZW0udHJpbSgpLnN0YXJ0c1dpdGgoYCR7a2V5fT1gKSk7XG4gIH1cbn1cbiJdfQ==
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nvb2tpZS9jb29raWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLbkQ7SUFHRSx1QkFBOEIsR0FBUztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQWUsQ0FBQztJQUNsQyxDQUFDO0lBRU0saUNBQVMsR0FBaEIsVUFBaUIsR0FBVyxFQUFFLEtBQWEsRUFBRSxVQUFtQjtRQUM5RCxJQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQVksVUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUQsSUFBTSxNQUFNLEdBQU0sR0FBRyxTQUFJLEtBQUssU0FBSSxNQUFRLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxpQ0FBUyxHQUFoQixVQUFpQixHQUFXO1FBQzFCLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTthQUNyQyxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ1gsSUFBSSxDQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLFVBQVUsQ0FBSSxHQUFHLE1BQUcsQ0FBQyxFQUF6QixDQUF5QixDQUFDO2FBQ3RDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sb0NBQVksR0FBbkIsVUFBb0IsR0FBVyxFQUFFLElBQWEsRUFBRSxNQUFlO1FBQzdELElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBVSxJQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvQyxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQVksTUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQU0sR0FBRyxTQUFJLFNBQVMsR0FBRyxXQUFXLHVEQUFvRCxDQUFDO0lBQy9HLENBQUM7SUFFTSxrREFBMEIsR0FBakMsVUFBa0MsR0FBVyxFQUFFLElBQWEsRUFBRSxNQUFlO1FBQTdFLGlCQU9DO1FBTkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2FBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxNQUFNLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUcsR0FBSyxDQUFDLEVBQXhCLENBQXdCLENBQUM7YUFDdkMsT0FBTyxDQUFDLFVBQUEsT0FBTztZQUNkLEtBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sbUNBQVcsR0FBbEIsVUFBbUIsR0FBVztRQUM1QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFJLEdBQUcsTUFBRyxDQUFDLEVBQWpDLENBQWlDLENBQUMsQ0FBQztJQUMxRixDQUFDOztnREFuQ1ksTUFBTSxTQUFDLFFBQVE7OztJQUhqQixhQUFhO1FBSHpCLFVBQVUsQ0FBQztZQUNWLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7UUFJYSxXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTs7T0FIbEIsYUFBYSxDQXVDekI7d0JBN0NEO0NBNkNDLEFBdkNELElBdUNDO1NBdkNZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ/OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2M/OiBhbnkpIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jIGFzIERvY3VtZW50O1xuICB9XG5cbiAgcHVibGljIHNldENvb2tpZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZXhwaXJ5RGF0ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGV4cGlyeSA9IGV4cGlyeURhdGUgPyBgIGV4cGlyZXM9JHtleHBpcnlEYXRlfWAgOiAnJztcbiAgICBjb25zdCBjb29raWUgPSBgJHtrZXl9PSR7dmFsdWV9OyR7ZXhwaXJ5fWA7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29va2llKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb29raWVWYWx1ZSA9IHRoaXMuZG9jdW1lbnQuY29va2llXG4gICAgICAuc3BsaXQoJzsgJylcbiAgICAgIC5maW5kKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9PWApKVxuICAgICAgLnNwbGl0KCc9JylbMV07XG4gICAgcmV0dXJuIGNvb2tpZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZShrZXk6IHN0cmluZywgcGF0aD86IHN0cmluZywgZG9tYWluPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcGF0aFZhbHVlID0gcGF0aCA/IGA7IHBhdGg9JHtwYXRofWAgOiAnJztcbiAgICBjb25zdCBkb21haW5WYWx1ZSA9IGRvbWFpbiA/IGA7IGRvbWFpbj0ke2RvbWFpbn1gIDogJyc7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBgJHtrZXl9PSR7cGF0aFZhbHVlfSR7ZG9tYWluVmFsdWV9OyBleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UOyBtYXgtYWdlPTBgO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZUJ5UGFydGlhbE1hdGNoKGtleTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZVxuICAgICAgLnNwbGl0KCc7ICcpXG4gICAgICAuZmlsdGVyKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9YCkpXG4gICAgICAuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgdGhpcy5kZWxldGVDb29raWUoZWxlbWVudC5zcGxpdCgnPScpWzBdLCBwYXRoLCBkb21haW4pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tDb29raWUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5jb29raWUuc3BsaXQoJzsgJykuc29tZShpdGVtID0+IGl0ZW0udHJpbSgpLnN0YXJ0c1dpdGgoYCR7a2V5fT1gKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/feature-toggle/feature-toggle.guard.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import * as tslib_1 from "tslib";
|
|
1
|
+
import { __decorate, __metadata, __read, __spread } from "tslib";
|
|
7
2
|
import { Injectable } from '@angular/core';
|
|
8
|
-
import { Router } from '@angular/router';
|
|
3
|
+
import { ActivatedRouteSnapshot, CanActivate, Router, UrlTree } from '@angular/router';
|
|
9
4
|
import { combineLatest } from 'rxjs';
|
|
10
5
|
import { map } from 'rxjs/operators';
|
|
11
6
|
import { FeatureToggleService } from './feature-toggle.service';
|
|
@@ -24,66 +19,23 @@ var FeatureToggleGuard = /** @class */ (function () {
|
|
|
24
19
|
* - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
|
|
25
20
|
* @param route Automatically provided by Angular
|
|
26
21
|
*/
|
|
27
|
-
|
|
28
|
-
* Usage: Add the FeatureToggleGuard as the Guard for a route, and provide the following
|
|
29
|
-
* in the data array for the route:
|
|
30
|
-
* - needsFeaturesEnabled: An array of feature keys that need to be enabled for this route
|
|
31
|
-
* - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
|
|
32
|
-
* @param {?} route Automatically provided by Angular
|
|
33
|
-
* @return {?}
|
|
34
|
-
*/
|
|
35
|
-
FeatureToggleGuard.prototype.canActivate = /**
|
|
36
|
-
* Usage: Add the FeatureToggleGuard as the Guard for a route, and provide the following
|
|
37
|
-
* in the data array for the route:
|
|
38
|
-
* - needsFeaturesEnabled: An array of feature keys that need to be enabled for this route
|
|
39
|
-
* - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
|
|
40
|
-
* @param {?} route Automatically provided by Angular
|
|
41
|
-
* @return {?}
|
|
42
|
-
*/
|
|
43
|
-
function (route) {
|
|
22
|
+
FeatureToggleGuard.prototype.canActivate = function (route) {
|
|
44
23
|
var _this = this;
|
|
45
|
-
return combineLatest.apply(void 0,
|
|
46
|
-
* @param {?} feature
|
|
47
|
-
* @return {?}
|
|
48
|
-
*/
|
|
49
|
-
function (feature) { return _this.featureToggleService.getValueOnce(feature, false); })))).pipe(map((/**
|
|
50
|
-
* @param {?} featureStatuses
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
function (featureStatuses) { return featureStatuses.every((/**
|
|
54
|
-
* @param {?} status
|
|
55
|
-
* @return {?}
|
|
56
|
-
*/
|
|
57
|
-
function (status) { return status; })); })), map((/**
|
|
58
|
-
* @param {?} status
|
|
59
|
-
* @return {?}
|
|
60
|
-
*/
|
|
61
|
-
function (status) { return status || _this.router.parseUrl((/** @type {?} */ (route.data.featureDisabledRedirect))); })));
|
|
24
|
+
return combineLatest.apply(void 0, __spread(route.data.needsFeaturesEnabled.map(function (feature) { return _this.featureToggleService.getValueOnce(feature, false); }))).pipe(map(function (featureStatuses) { return featureStatuses.every(function (status) { return status; }); }), map(function (status) { return status || _this.router.parseUrl(route.data.featureDisabledRedirect); }));
|
|
62
25
|
};
|
|
63
|
-
FeatureToggleGuard.decorators = [
|
|
64
|
-
{ type: Injectable, args: [{
|
|
65
|
-
providedIn: 'root'
|
|
66
|
-
},] }
|
|
67
|
-
];
|
|
68
|
-
/** @nocollapse */
|
|
69
26
|
FeatureToggleGuard.ctorParameters = function () { return [
|
|
70
27
|
{ type: FeatureToggleService },
|
|
71
28
|
{ type: Router }
|
|
72
29
|
]; };
|
|
73
|
-
|
|
30
|
+
FeatureToggleGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function FeatureToggleGuard_Factory() { return new FeatureToggleGuard(i0.ɵɵinject(i1.FeatureToggleService), i0.ɵɵinject(i2.Router)); }, token: FeatureToggleGuard, providedIn: "root" });
|
|
31
|
+
FeatureToggleGuard = __decorate([
|
|
32
|
+
Injectable({
|
|
33
|
+
providedIn: 'root'
|
|
34
|
+
}),
|
|
35
|
+
__metadata("design:paramtypes", [FeatureToggleService,
|
|
36
|
+
Router])
|
|
37
|
+
], FeatureToggleGuard);
|
|
74
38
|
return FeatureToggleGuard;
|
|
75
39
|
}());
|
|
76
40
|
export { FeatureToggleGuard };
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* @type {?}
|
|
80
|
-
* @private
|
|
81
|
-
*/
|
|
82
|
-
FeatureToggleGuard.prototype.featureToggleService;
|
|
83
|
-
/**
|
|
84
|
-
* @type {?}
|
|
85
|
-
* @private
|
|
86
|
-
*/
|
|
87
|
-
FeatureToggleGuard.prototype.router;
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS10b2dnbGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2ZlYXR1cmUtdG9nZ2xlL2ZlYXR1cmUtdG9nZ2xlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1QyxNQUFNLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUVoRTtJQUtJLDRCQUNxQixvQkFBMEMsRUFDMUMsTUFBYztRQURkLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNoQyxDQUFDO0lBRUo7Ozs7OztPQU1HOzs7Ozs7Ozs7SUFDSSx3Q0FBVzs7Ozs7Ozs7SUFBbEIsVUFBbUIsS0FBNkI7UUFBaEQsaUJBT0M7UUFORyxPQUFPLGFBQWEsZ0NBQUksQ0FBQyxtQkFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFZLENBQUMsQ0FBQyxHQUFHOzs7O1FBQ2pFLFVBQUEsT0FBTyxJQUFJLE9BQUEsS0FBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBVSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQS9ELENBQStELEVBQ2pGLEdBQUUsSUFBSSxDQUNILEdBQUc7Ozs7UUFBQyxVQUFBLGVBQWUsSUFBSSxPQUFBLGVBQWUsQ0FBQyxLQUFLOzs7O1FBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxNQUFNLEVBQU4sQ0FBTSxFQUFDLEVBQXZDLENBQXVDLEVBQUMsRUFDL0QsR0FBRzs7OztRQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsTUFBTSxJQUFJLEtBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLG1CQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQVUsQ0FBQyxFQUE1RSxDQUE0RSxFQUFDLENBQzlGLENBQUM7SUFDTixDQUFDOztnQkF4QkosVUFBVSxTQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7OztnQkFKUSxvQkFBb0I7Z0JBSGlCLE1BQU07Ozs2QkFEcEQ7Q0ErQkMsQUF6QkQsSUF5QkM7U0F0Qlksa0JBQWtCOzs7Ozs7SUFHdkIsa0RBQTJEOzs7OztJQUMzRCxvQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZlYXR1cmVUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlVG9nZ2xlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmVhdHVyZVRvZ2dsZVNlcnZpY2U6IEZlYXR1cmVUb2dnbGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogVXNhZ2U6IEFkZCB0aGUgRmVhdHVyZVRvZ2dsZUd1YXJkIGFzIHRoZSBHdWFyZCBmb3IgYSByb3V0ZSwgYW5kIHByb3ZpZGUgdGhlIGZvbGxvd2luZ1xuICAgICAqIGluIHRoZSBkYXRhIGFycmF5IGZvciB0aGUgcm91dGU6XG4gICAgICogLSBuZWVkc0ZlYXR1cmVzRW5hYmxlZDogQW4gYXJyYXkgb2YgZmVhdHVyZSBrZXlzIHRoYXQgbmVlZCB0byBiZSBlbmFibGVkIGZvciB0aGlzIHJvdXRlXG4gICAgICogLSBmZWF0dXJlRGlzYWJsZWRSZWRpcmVjdDogdGhlIFVSTCB0byByZWRpcmVjdCB0byB3aGVuIHRoZSB0aGlzIHJvdXRlIGlzIG5vdCBhY2Nlc3NpYmxlIGR1ZSB0byBkaXNhYmxlZCBmZWF0dXJlc1xuICAgICAqIEBwYXJhbSByb3V0ZSBBdXRvbWF0aWNhbGx5IHByb3ZpZGVkIGJ5IEFuZ3VsYXJcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KC4uLihyb3V0ZS5kYXRhLm5lZWRzRmVhdHVyZXNFbmFibGVkIGFzIHN0cmluZ1tdKS5tYXAoXG4gICAgICAgICAgICAgICAgZmVhdHVyZSA9PiB0aGlzLmZlYXR1cmVUb2dnbGVTZXJ2aWNlLmdldFZhbHVlT25jZTxib29sZWFuPihmZWF0dXJlLCBmYWxzZSlcbiAgICAgICAgKSkucGlwZShcbiAgICAgICAgICAgIG1hcChmZWF0dXJlU3RhdHVzZXMgPT4gZmVhdHVyZVN0YXR1c2VzLmV2ZXJ5KHN0YXR1cyA9PiBzdGF0dXMpKSxcbiAgICAgICAgICAgIG1hcChzdGF0dXMgPT4gc3RhdHVzIHx8IHRoaXMucm91dGVyLnBhcnNlVXJsKHJvdXRlLmRhdGEuZmVhdHVyZURpc2FibGVkUmVkaXJlY3QgYXMgc3RyaW5nKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS10b2dnbGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2ZlYXR1cmUtdG9nZ2xlL2ZlYXR1cmUtdG9nZ2xlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBS2hFO0lBRUksNEJBQ3FCLG9CQUEwQyxFQUMxQyxNQUFjO1FBRGQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ2hDLENBQUM7SUFFSjs7Ozs7O09BTUc7SUFDSSx3Q0FBVyxHQUFsQixVQUFtQixLQUE2QjtRQUFoRCxpQkFPQztRQU5HLE9BQU8sYUFBYSx3QkFBSyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFpQyxDQUFDLEdBQUcsQ0FDakUsVUFBQSxPQUFPLElBQUksT0FBQSxLQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFVLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBL0QsQ0FBK0QsQ0FDakYsR0FBRSxJQUFJLENBQ0gsR0FBRyxDQUFDLFVBQUEsZUFBZSxJQUFJLE9BQUEsZUFBZSxDQUFDLEtBQUssQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLE1BQU0sRUFBTixDQUFNLENBQUMsRUFBdkMsQ0FBdUMsQ0FBQyxFQUMvRCxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxNQUFNLElBQUksS0FBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyx1QkFBaUMsQ0FBQyxFQUE1RSxDQUE0RSxDQUFDLENBQzlGLENBQUM7SUFDTixDQUFDOztnQkFsQjBDLG9CQUFvQjtnQkFDbEMsTUFBTTs7O0lBSjFCLGtCQUFrQjtRQUg5QixVQUFVLENBQUM7WUFDUixVQUFVLEVBQUUsTUFBTTtTQUNyQixDQUFDO3lDQUk2QyxvQkFBb0I7WUFDbEMsTUFBTTtPQUoxQixrQkFBa0IsQ0FzQjlCOzZCQS9CRDtDQStCQyxBQXRCRCxJQXNCQztTQXRCWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZlYXR1cmVUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlVG9nZ2xlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmVhdHVyZVRvZ2dsZVNlcnZpY2U6IEZlYXR1cmVUb2dnbGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogVXNhZ2U6IEFkZCB0aGUgRmVhdHVyZVRvZ2dsZUd1YXJkIGFzIHRoZSBHdWFyZCBmb3IgYSByb3V0ZSwgYW5kIHByb3ZpZGUgdGhlIGZvbGxvd2luZ1xuICAgICAqIGluIHRoZSBkYXRhIGFycmF5IGZvciB0aGUgcm91dGU6XG4gICAgICogLSBuZWVkc0ZlYXR1cmVzRW5hYmxlZDogQW4gYXJyYXkgb2YgZmVhdHVyZSBrZXlzIHRoYXQgbmVlZCB0byBiZSBlbmFibGVkIGZvciB0aGlzIHJvdXRlXG4gICAgICogLSBmZWF0dXJlRGlzYWJsZWRSZWRpcmVjdDogdGhlIFVSTCB0byByZWRpcmVjdCB0byB3aGVuIHRoZSB0aGlzIHJvdXRlIGlzIG5vdCBhY2Nlc3NpYmxlIGR1ZSB0byBkaXNhYmxlZCBmZWF0dXJlc1xuICAgICAqIEBwYXJhbSByb3V0ZSBBdXRvbWF0aWNhbGx5IHByb3ZpZGVkIGJ5IEFuZ3VsYXJcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KC4uLihyb3V0ZS5kYXRhLm5lZWRzRmVhdHVyZXNFbmFibGVkIGFzIHN0cmluZ1tdKS5tYXAoXG4gICAgICAgICAgICAgICAgZmVhdHVyZSA9PiB0aGlzLmZlYXR1cmVUb2dnbGVTZXJ2aWNlLmdldFZhbHVlT25jZTxib29sZWFuPihmZWF0dXJlLCBmYWxzZSlcbiAgICAgICAgKSkucGlwZShcbiAgICAgICAgICAgIG1hcChmZWF0dXJlU3RhdHVzZXMgPT4gZmVhdHVyZVN0YXR1c2VzLmV2ZXJ5KHN0YXR1cyA9PiBzdGF0dXMpKSxcbiAgICAgICAgICAgIG1hcChzdGF0dXMgPT4gc3RhdHVzIHx8IHRoaXMucm91dGVyLnBhcnNlVXJsKHJvdXRlLmRhdGEuZmVhdHVyZURpc2FibGVkUmVkaXJlY3QgYXMgc3RyaW5nKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|