monkey-front-core 0.0.269 → 0.0.270
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/alerts/alerts.component.mjs +35 -35
- package/esm2020/lib/components/alerts/alerts.module.mjs +21 -21
- package/esm2020/lib/components/alerts/index.mjs +2 -2
- package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -29
- package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs +43 -43
- package/esm2020/lib/components/closed-to-maintenance/index.mjs +2 -2
- package/esm2020/lib/components/index.mjs +4 -4
- package/esm2020/lib/components/progress-bar/index.mjs +3 -3
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -23
- package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +18 -18
- package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -50
- package/esm2020/lib/components/version-changed/index.mjs +2 -2
- package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -24
- package/esm2020/lib/components/version-changed/version-changed.module.mjs +39 -39
- package/esm2020/lib/core/decorators/index.mjs +5 -5
- package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +40 -40
- package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +110 -110
- package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +25 -25
- package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +25 -25
- package/esm2020/lib/core/directives/index.mjs +12 -12
- package/esm2020/lib/core/directives/monkeyecx-directives-module.mjs +73 -73
- package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -57
- package/esm2020/lib/core/directives/monkeyecx-feature-by-program-directive.mjs +50 -50
- package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -68
- package/esm2020/lib/core/directives/monkeyecx-format-currency.mjs +44 -44
- package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -67
- package/esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs +28 -28
- package/esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs +28 -28
- package/esm2020/lib/core/directives/monkeyecx-popover-options.directive.mjs +39 -39
- package/esm2020/lib/core/directives/monkeyecx-popover.directive.mjs +212 -212
- package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +69 -69
- package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -123
- package/esm2020/lib/core/index.mjs +9 -9
- package/esm2020/lib/core/interceptors/index.mjs +5 -5
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +39 -39
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +60 -60
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs +47 -47
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -43
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +37 -37
- package/esm2020/lib/core/interfaces/index.mjs +29 -29
- package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-company-pendencies.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-company.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-config-boostrap.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-country-security.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-error-response.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-filter.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-program.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-releases.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-response-links.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-support-options.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs +1 -1
- package/esm2020/lib/core/interfaces/request-download/index.mjs +3 -3
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +1 -1
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs +1 -1
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs +1 -1
- package/esm2020/lib/core/interfaces/request-queue/index.mjs +3 -3
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs +1 -1
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs +1 -1
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +1 -1
- package/esm2020/lib/core/interfaces/request-upload/index.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs +1 -1
- package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs +1 -1
- package/esm2020/lib/core/interfaces/schedules/index.mjs +1 -1
- package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +1 -1
- package/esm2020/lib/core/model/index.mjs +1 -1
- package/esm2020/lib/core/model/monkeyecx-model.mjs +25 -25
- package/esm2020/lib/core/pipes/index.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-blob-secure.mjs +26 -26
- package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-display-initials.mjs +21 -21
- package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-beautify-json.mjs +38 -38
- package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +27 -27
- package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +45 -45
- package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +32 -32
- package/esm2020/lib/core/pipes/monkeyecx-format-date-unix-timelapse.mjs +36 -36
- package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +42 -42
- package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-tax.mjs +23 -23
- package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +112 -112
- package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +23 -23
- package/esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs +16 -16
- package/esm2020/lib/core/services/alerts/index.mjs +1 -1
- package/esm2020/lib/core/services/alerts/monkeyecx-alerts.service.mjs +42 -42
- package/esm2020/lib/core/services/auth/index.mjs +4 -4
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-company.service.mjs +28 -28
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs +27 -27
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs +26 -26
- package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +69 -69
- package/esm2020/lib/core/services/commons/index.mjs +1 -1
- package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +404 -404
- package/esm2020/lib/core/services/config/monkeyecx-alerts-config.service.mjs +40 -40
- package/esm2020/lib/core/services/config/monkeyecx-config.module.mjs +28 -28
- package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +111 -111
- package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -85
- package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +67 -67
- package/esm2020/lib/core/services/config/monkeyecx-ga-config.service.mjs +57 -57
- package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +92 -92
- package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -34
- package/esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs +37 -37
- package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +42 -42
- package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -53
- package/esm2020/lib/core/services/error/index.mjs +4 -4
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs +27 -27
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +37 -37
- package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +135 -135
- package/esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs +29 -29
- package/esm2020/lib/core/services/index.mjs +23 -23
- package/esm2020/lib/core/services/logged/index.mjs +1 -1
- package/esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs +40 -40
- package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -50
- package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -104
- package/esm2020/lib/core/services/pagination/index.mjs +1 -1
- package/esm2020/lib/core/services/pagination/monkeyecx-pagination.service.mjs +29 -29
- package/esm2020/lib/core/services/request-download/index.mjs +2 -2
- package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -93
- package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -61
- package/esm2020/lib/core/services/request-paged/index.mjs +1 -1
- package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +42 -42
- package/esm2020/lib/core/services/request-queue/index.mjs +2 -2
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -114
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -119
- package/esm2020/lib/core/services/routes/index.mjs +1 -1
- package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +54 -54
- package/esm2020/lib/core/services/schedules/index.mjs +1 -1
- package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +188 -188
- package/esm2020/lib/core/services/storage/index.mjs +2 -2
- package/esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs +32 -32
- package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +127 -127
- package/esm2020/lib/core/specification-search/index.mjs +1 -1
- package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +107 -107
- package/esm2020/lib/core/utils/decorators-utils.mjs +39 -39
- package/esm2020/lib/core/utils/index.mjs +7 -7
- package/esm2020/lib/core/utils/statics.mjs +37 -37
- package/esm2020/lib/core/utils/utils.mjs +221 -221
- package/esm2020/lib/core/utils/validate-utils.mjs +206 -206
- package/esm2020/lib/core/utils/validators.mjs +212 -212
- package/esm2020/lib/monkey-front-core.module.mjs +64 -64
- package/esm2020/monkey-front-core.mjs +4 -4
- package/esm2020/public-api.mjs +6 -6
- package/fesm2015/monkey-front-core.mjs +4942 -4942
- package/fesm2015/monkey-front-core.mjs.map +1 -1
- package/fesm2020/monkey-front-core.mjs +4999 -4999
- package/fesm2020/monkey-front-core.mjs.map +1 -1
- package/lib/components/alerts/alerts.component.d.ts +16 -16
- package/lib/components/alerts/alerts.module.d.ts +10 -10
- package/lib/components/alerts/index.d.ts +2 -2
- package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +13 -13
- package/lib/components/closed-to-maintenance/closed-to-maintenance.module.d.ts +11 -11
- package/lib/components/closed-to-maintenance/index.d.ts +2 -2
- package/lib/components/index.d.ts +4 -4
- package/lib/components/progress-bar/index.d.ts +3 -3
- package/lib/components/progress-bar/progress-bar.component.d.ts +11 -11
- package/lib/components/progress-bar/progress-bar.module.d.ts +8 -8
- package/lib/components/progress-bar/progress-bar.service.d.ts +14 -14
- package/lib/components/version-changed/index.d.ts +2 -2
- package/lib/components/version-changed/version-changed.component.d.ts +9 -9
- package/lib/components/version-changed/version-changed.module.d.ts +10 -10
- package/lib/core/decorators/index.d.ts +4 -4
- package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +1 -1
- package/lib/core/decorators/monkeyecx-decorators.d.ts +7 -7
- package/lib/core/decorators/monkeyecx-download-decorators.d.ts +2 -2
- package/lib/core/decorators/monkeyecx-upload-decorators.d.ts +2 -2
- package/lib/core/directives/index.d.ts +12 -12
- package/lib/core/directives/monkeyecx-directives-module.d.ts +19 -19
- package/lib/core/directives/monkeyecx-drag-drop.d.ts +12 -12
- package/lib/core/directives/monkeyecx-feature-by-program-directive.d.ts +15 -15
- package/lib/core/directives/monkeyecx-feature-directive.d.ts +17 -17
- package/lib/core/directives/monkeyecx-format-currency.d.ts +16 -16
- package/lib/core/directives/monkeyecx-format-upper.d.ts +18 -18
- package/lib/core/directives/monkeyecx-only-alpha-numeric-directive.d.ts +9 -9
- package/lib/core/directives/monkeyecx-only-number-directive.d.ts +9 -9
- package/lib/core/directives/monkeyecx-popover-options.directive.d.ts +19 -19
- package/lib/core/directives/monkeyecx-popover.directive.d.ts +43 -43
- package/lib/core/directives/monkeyecx-security-directive.d.ts +17 -17
- package/lib/core/directives/monkeyecx-tooltip-directive.d.ts +23 -23
- package/lib/core/index.d.ts +9 -9
- package/lib/core/interceptors/index.d.ts +5 -5
- package/lib/core/interceptors/monkeyecx-http-config-error.interceptor.d.ts +17 -17
- package/lib/core/interceptors/monkeyecx-http-config-header.interceptor.d.ts +16 -16
- package/lib/core/interceptors/monkeyecx-http-config-interceptor.module.d.ts +9 -9
- package/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.d.ts +12 -12
- package/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.d.ts +14 -14
- package/lib/core/interfaces/index.d.ts +29 -29
- package/lib/core/interfaces/monkeyecx-auth-credentials.d.ts +15 -15
- package/lib/core/interfaces/monkeyecx-company-pendencies.d.ts +14 -14
- package/lib/core/interfaces/monkeyecx-company.d.ts +10 -10
- package/lib/core/interfaces/monkeyecx-config-boostrap.d.ts +14 -14
- package/lib/core/interfaces/monkeyecx-config.d.ts +126 -126
- package/lib/core/interfaces/monkeyecx-country-security.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-error-response.d.ts +5 -5
- package/lib/core/interfaces/monkeyecx-filter.d.ts +33 -24
- package/lib/core/interfaces/monkeyecx-handled-error-response.d.ts +10 -10
- package/lib/core/interfaces/monkeyecx-header-credentials.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-intercom-options.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-me-credentials.d.ts +22 -22
- package/lib/core/interfaces/monkeyecx-navigation.d.ts +27 -27
- package/lib/core/interfaces/monkeyecx-program.d.ts +10 -10
- package/lib/core/interfaces/monkeyecx-releases.d.ts +9 -9
- package/lib/core/interfaces/monkeyecx-request-in-progress.d.ts +3 -3
- package/lib/core/interfaces/monkeyecx-request-paged.d.ts +23 -23
- package/lib/core/interfaces/monkeyecx-response-links.d.ts +11 -11
- package/lib/core/interfaces/monkeyecx-response-paged.d.ts +6 -6
- package/lib/core/interfaces/monkeyecx-saved-state.d.ts +5 -5
- package/lib/core/interfaces/monkeyecx-scroll-options.d.ts +5 -5
- package/lib/core/interfaces/monkeyecx-service-credentials.d.ts +12 -12
- package/lib/core/interfaces/monkeyecx-support-options.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-token-credentials.d.ts +20 -20
- package/lib/core/interfaces/monkeyecx-translate-options.d.ts +4 -4
- package/lib/core/interfaces/request-download/index.d.ts +3 -3
- package/lib/core/interfaces/request-download/monkeyecx-request-download.d.ts +10 -10
- package/lib/core/interfaces/request-download/monkeyecx-request-downloaded.d.ts +7 -7
- package/lib/core/interfaces/request-download/monkeyecx-request-item-download.d.ts +7 -7
- package/lib/core/interfaces/request-queue/index.d.ts +3 -3
- package/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.d.ts +7 -7
- package/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.d.ts +6 -6
- package/lib/core/interfaces/request-queue/monkeyecx-request-queue.d.ts +8 -8
- package/lib/core/interfaces/request-upload/index.d.ts +2 -2
- package/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.d.ts +5 -5
- package/lib/core/interfaces/request-upload/monkeyecx-request-upload.d.ts +10 -10
- package/lib/core/interfaces/schedules/index.d.ts +1 -1
- package/lib/core/interfaces/schedules/monkeyecx-request-schedule.d.ts +13 -13
- package/lib/core/model/index.d.ts +1 -1
- package/lib/core/model/monkeyecx-model.d.ts +13 -13
- package/lib/core/pipes/index.d.ts +20 -20
- package/lib/core/pipes/monkeyecx-blob-secure.d.ts +13 -13
- package/lib/core/pipes/monkeyecx-display-first-name.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-display-initials.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-address.d.ts +14 -14
- package/lib/core/pipes/monkeyecx-format-beautify-json.d.ts +8 -8
- package/lib/core/pipes/monkeyecx-format-currency.d.ts +11 -11
- package/lib/core/pipes/monkeyecx-format-date-group.d.ts +11 -11
- package/lib/core/pipes/monkeyecx-format-date-timelapse.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-date-unix-timelapse.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-document.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-number.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-phone.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-size.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-tax.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-type-document.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-value.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-zipcode.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-pipes.module.d.ts +25 -25
- package/lib/core/pipes/monkeyecx-text-truncate.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-truncate-qtd.d.ts +7 -7
- package/lib/core/services/alerts/index.d.ts +1 -1
- package/lib/core/services/alerts/monkeyecx-alerts.service.d.ts +21 -21
- package/lib/core/services/auth/index.d.ts +4 -4
- package/lib/core/services/auth/monkeyecx-auth-guard-company.service.d.ts +11 -11
- package/lib/core/services/auth/monkeyecx-auth-guard-login.service.d.ts +11 -11
- package/lib/core/services/auth/monkeyecx-auth-guard.service.d.ts +11 -11
- package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +30 -30
- package/lib/core/services/commons/index.d.ts +1 -1
- package/lib/core/services/commons/monkeyecx-commons.service.d.ts +124 -124
- package/lib/core/services/config/monkeyecx-alerts-config.service.d.ts +11 -11
- package/lib/core/services/config/monkeyecx-config.module.d.ts +9 -9
- package/lib/core/services/config/monkeyecx-config.service.d.ts +36 -36
- package/lib/core/services/config/monkeyecx-error-config.service.d.ts +8 -8
- package/lib/core/services/config/monkeyecx-feature-toggle.service.d.ts +16 -16
- package/lib/core/services/config/monkeyecx-ga-config.service.d.ts +10 -10
- package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +16 -16
- package/lib/core/services/config/monkeyecx-logs-config.service.d.ts +7 -7
- package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +13 -13
- package/lib/core/services/config/monkeyecx-security-console-config.service.d.ts +11 -11
- package/lib/core/services/config/monkeyecx-service-worker-config.service.d.ts +16 -16
- package/lib/core/services/error/index.d.ts +4 -4
- package/lib/core/services/error/monkeyecx-error-handling.module.d.ts +9 -9
- package/lib/core/services/error/monkeyecx-error-handling.service.d.ts +9 -9
- package/lib/core/services/error/monkeyecx-http-error-handling.service.d.ts +26 -26
- package/lib/core/services/error/monkeyecx-others-errors-handling.service.d.ts +9 -9
- package/lib/core/services/index.d.ts +23 -23
- package/lib/core/services/logged/index.d.ts +1 -1
- package/lib/core/services/logged/monkeyecx-logged-handling.service.d.ts +14 -14
- package/lib/core/services/monkeyecx-handling.service.d.ts +22 -22
- package/lib/core/services/monkeyecx-service.service.d.ts +18 -18
- package/lib/core/services/pagination/index.d.ts +1 -1
- package/lib/core/services/pagination/monkeyecx-pagination.service.d.ts +9 -9
- package/lib/core/services/request-download/index.d.ts +2 -2
- package/lib/core/services/request-download/monkeyecx-request-download-handling.service.d.ts +18 -18
- package/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.d.ts +16 -16
- package/lib/core/services/request-paged/index.d.ts +1 -1
- package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +11 -11
- package/lib/core/services/request-queue/index.d.ts +2 -2
- package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +21 -21
- package/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.d.ts +23 -23
- package/lib/core/services/routes/index.d.ts +1 -1
- package/lib/core/services/routes/monkeyecx-dicovery-params.service.d.ts +13 -13
- package/lib/core/services/schedules/index.d.ts +1 -1
- package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +47 -47
- package/lib/core/services/storage/index.d.ts +2 -2
- package/lib/core/services/storage/monkeyecx-cookie-storage.service.d.ts +11 -11
- package/lib/core/services/storage/monkeyecx-token-storage.service.d.ts +29 -29
- package/lib/core/specification-search/index.d.ts +1 -1
- package/lib/core/specification-search/monkeyecx-specification-search.d.ts +20 -20
- package/lib/core/utils/decorators-utils.d.ts +5 -5
- package/lib/core/utils/index.d.ts +6 -6
- package/lib/core/utils/statics.d.ts +28 -28
- package/lib/core/utils/utils.d.ts +22 -22
- package/lib/core/utils/validate-utils.d.ts +66 -66
- package/lib/core/utils/validators.d.ts +30 -30
- package/lib/monkey-front-core.module.d.ts +17 -17
- package/monkey-front-core-0.0.270.tgz +0 -0
- package/monkey-front-core.d.ts +5 -5
- package/package.json +1 -1
- package/public-api.d.ts +3 -3
- package/monkey-front-core-0.0.269.tgz +0 -0
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "ngx-cookie-service";
|
|
4
|
-
export class MonkeyEcxCookieStorageService {
|
|
5
|
-
constructor(cookieService) {
|
|
6
|
-
this.cookieService = cookieService;
|
|
7
|
-
// not to do
|
|
8
|
-
}
|
|
9
|
-
setCookie(name, value, environment) {
|
|
10
|
-
this.removeCookie(name, environment);
|
|
11
|
-
const { urlDomain } = environment;
|
|
12
|
-
const handledDomain = urlDomain ? `.${urlDomain}` : '';
|
|
13
|
-
this.cookieService.set(name, value, undefined, '/', handledDomain, true, 'None');
|
|
14
|
-
}
|
|
15
|
-
getCookie(name) {
|
|
16
|
-
return this.cookieService.get(name);
|
|
17
|
-
}
|
|
18
|
-
removeCookie(name, environment) {
|
|
19
|
-
const { urlDomain } = environment;
|
|
20
|
-
const handledDomain = urlDomain ? `.${urlDomain}` : '';
|
|
21
|
-
this.cookieService.delete(name, '/', handledDomain, true, 'None');
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
MonkeyEcxCookieStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
25
|
-
MonkeyEcxCookieStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
27
|
-
type: Injectable,
|
|
28
|
-
args: [{
|
|
29
|
-
providedIn: 'root'
|
|
30
|
-
}]
|
|
31
|
-
}], ctorParameters: function () { return [{ type: i1.CookieService }]; } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "ngx-cookie-service";
|
|
4
|
+
export class MonkeyEcxCookieStorageService {
|
|
5
|
+
constructor(cookieService) {
|
|
6
|
+
this.cookieService = cookieService;
|
|
7
|
+
// not to do
|
|
8
|
+
}
|
|
9
|
+
setCookie(name, value, environment) {
|
|
10
|
+
this.removeCookie(name, environment);
|
|
11
|
+
const { urlDomain } = environment;
|
|
12
|
+
const handledDomain = urlDomain ? `.${urlDomain}` : '';
|
|
13
|
+
this.cookieService.set(name, value, undefined, '/', handledDomain, true, 'None');
|
|
14
|
+
}
|
|
15
|
+
getCookie(name) {
|
|
16
|
+
return this.cookieService.get(name);
|
|
17
|
+
}
|
|
18
|
+
removeCookie(name, environment) {
|
|
19
|
+
const { urlDomain } = environment;
|
|
20
|
+
const handledDomain = urlDomain ? `.${urlDomain}` : '';
|
|
21
|
+
this.cookieService.delete(name, '/', handledDomain, true, 'None');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
MonkeyEcxCookieStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCookieStorageService, deps: [{ token: i1.CookieService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
MonkeyEcxCookieStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCookieStorageService, providedIn: 'root' });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCookieStorageService, decorators: [{
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{
|
|
29
|
+
providedIn: 'root'
|
|
30
|
+
}]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i1.CookieService }]; } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvb2tpZS1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc3RvcmFnZS9tb25rZXllY3gtY29va2llLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QyxZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM5QyxZQUFZO0lBQ2QsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBVSxFQUFFLFdBQWdCO1FBQ3pELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFDbEMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFZO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFZLEVBQUUsV0FBZ0I7UUFDaEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFdBQVcsQ0FBQztRQUNsQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7MEhBcEJVLDZCQUE2Qjs4SEFBN0IsNkJBQTZCLGNBRjVCLE1BQU07MkZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hDb29raWVTdG9yYWdlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgcHVibGljIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnksIGVudmlyb25tZW50OiBhbnkpIHtcbiAgICB0aGlzLnJlbW92ZUNvb2tpZShuYW1lLCBlbnZpcm9ubWVudCk7XG4gICAgY29uc3QgeyB1cmxEb21haW4gfSA9IGVudmlyb25tZW50O1xuICAgIGNvbnN0IGhhbmRsZWREb21haW4gPSB1cmxEb21haW4gPyBgLiR7dXJsRG9tYWlufWAgOiAnJztcbiAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KG5hbWUsIHZhbHVlLCB1bmRlZmluZWQsICcvJywgaGFuZGxlZERvbWFpbiwgdHJ1ZSwgJ05vbmUnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb29raWUobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuY29va2llU2VydmljZS5nZXQobmFtZSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQ29va2llKG5hbWU6IHN0cmluZywgZW52aXJvbm1lbnQ6IGFueSkge1xuICAgIGNvbnN0IHsgdXJsRG9tYWluIH0gPSBlbnZpcm9ubWVudDtcbiAgICBjb25zdCBoYW5kbGVkRG9tYWluID0gdXJsRG9tYWluID8gYC4ke3VybERvbWFpbn1gIDogJyc7XG4gICAgdGhpcy5jb29raWVTZXJ2aWNlLmRlbGV0ZShuYW1lLCAnLycsIGhhbmRsZWREb21haW4sIHRydWUsICdOb25lJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,127 +1,127 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { of, BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { MonkeyEcxUtils } from '../../utils/utils';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../config/monkeyecx-config.service";
|
|
6
|
-
export class MonkeyEcxTokenStorageService {
|
|
7
|
-
constructor(monkeyecxConfigService) {
|
|
8
|
-
this.monkeyecxConfigService = monkeyecxConfigService;
|
|
9
|
-
this.config = null;
|
|
10
|
-
this.token = {
|
|
11
|
-
username: '',
|
|
12
|
-
program: '',
|
|
13
|
-
accessToken: '',
|
|
14
|
-
refreshToken: '',
|
|
15
|
-
companyId: '',
|
|
16
|
-
governmentId: '',
|
|
17
|
-
companyTypeUrl: '',
|
|
18
|
-
companyType: '',
|
|
19
|
-
programAdmin: false,
|
|
20
|
-
programType: '',
|
|
21
|
-
accessType: '',
|
|
22
|
-
role: '',
|
|
23
|
-
ownerGovernmentId: '',
|
|
24
|
-
_clearIgnore: {
|
|
25
|
-
ignore: ['username', 'program', 'accessType'],
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
this.token$ = new BehaviorSubject(null);
|
|
29
|
-
this.me$ = new BehaviorSubject(null);
|
|
30
|
-
this.monkeyecxConfigService.config().subscribe((_) => {
|
|
31
|
-
this.config = _;
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
setAllTokens(token) {
|
|
35
|
-
const { token$ } = this;
|
|
36
|
-
Object.entries(token).forEach(([key, value]) => {
|
|
37
|
-
if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
|
|
38
|
-
localStorage.setItem(key, value);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
token$.next(token);
|
|
42
|
-
}
|
|
43
|
-
getAllTokens() {
|
|
44
|
-
const { token, config } = this;
|
|
45
|
-
const handledToken = {
|
|
46
|
-
...token,
|
|
47
|
-
};
|
|
48
|
-
Object.entries(token || {}).forEach(([key, value]) => {
|
|
49
|
-
handledToken[key] = localStorage.getItem(key);
|
|
50
|
-
});
|
|
51
|
-
if (!handledToken?.program && config?.program) {
|
|
52
|
-
handledToken.program = config?.program?.token;
|
|
53
|
-
}
|
|
54
|
-
return handledToken;
|
|
55
|
-
}
|
|
56
|
-
setAllMe(me) {
|
|
57
|
-
const { me$ } = this;
|
|
58
|
-
let previousMe = JSON.parse(localStorage?.getItem('me') || '{}');
|
|
59
|
-
Object.entries(me).forEach(([key, value]) => {
|
|
60
|
-
if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
|
|
61
|
-
previousMe = {
|
|
62
|
-
...previousMe,
|
|
63
|
-
[key]: value,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
localStorage.setItem('me', JSON.stringify(previousMe));
|
|
68
|
-
me$.next(previousMe);
|
|
69
|
-
}
|
|
70
|
-
getAllMe() {
|
|
71
|
-
const me = localStorage.getItem('me');
|
|
72
|
-
return JSON.parse(me || '{}');
|
|
73
|
-
}
|
|
74
|
-
tokenHasChanged() {
|
|
75
|
-
return this.token$.asObservable();
|
|
76
|
-
}
|
|
77
|
-
meHasChanged() {
|
|
78
|
-
return this.me$.asObservable() || null;
|
|
79
|
-
}
|
|
80
|
-
getToken() {
|
|
81
|
-
return this.getAllTokens();
|
|
82
|
-
}
|
|
83
|
-
getMe() {
|
|
84
|
-
return this.getAllMe();
|
|
85
|
-
}
|
|
86
|
-
setToken(token) {
|
|
87
|
-
this.setAllTokens(token);
|
|
88
|
-
}
|
|
89
|
-
setMe(me) {
|
|
90
|
-
this.setAllMe(me);
|
|
91
|
-
}
|
|
92
|
-
clear(force) {
|
|
93
|
-
const { token } = this;
|
|
94
|
-
try {
|
|
95
|
-
Object.entries(token || {}).forEach(([key, value]) => {
|
|
96
|
-
if ((token?._clearIgnore?.ignore || []).filter((val) => {
|
|
97
|
-
return val === key;
|
|
98
|
-
}).length <= 0 ||
|
|
99
|
-
force === true) {
|
|
100
|
-
localStorage.removeItem(key);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
localStorage.removeItem('me');
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
return of(false);
|
|
107
|
-
}
|
|
108
|
-
return of(true);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* @param fields (the name of fields you want to clear. ie: ['companyId', 'role', ...])
|
|
112
|
-
*/
|
|
113
|
-
clearCredentials(fields = ['companyId', 'governmentId', 'companyType', 'programAdmin', 'role']) {
|
|
114
|
-
fields?.forEach((key) => {
|
|
115
|
-
localStorage.removeItem(key);
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
MonkeyEcxTokenStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
120
|
-
MonkeyEcxTokenStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
122
|
-
type: Injectable,
|
|
123
|
-
args: [{
|
|
124
|
-
providedIn: 'root',
|
|
125
|
-
}]
|
|
126
|
-
}], ctorParameters: function () { return [{ type: i1.MonkeyEcxConfigService }]; } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yYWdlL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQVVuRCxNQUFNLE9BQU8sNEJBQTRCO0lBU3ZDLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRjFELFdBQU0sR0FBMkIsSUFBSSxDQUFDO1FBRzVDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLEVBQUU7WUFDZixVQUFVLEVBQUUsRUFBRTtZQUNkLElBQUksRUFBRSxFQUFFO1lBQ1IsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUM7YUFDOUM7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJ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QUFFLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQzlCLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswSEF4SVUsNEJBQTRCOzhIQUE1Qiw0QkFBNEIsY0FGM0IsTUFBTTs0RkFFUCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvbmZpZy9tb25rZXllY3gtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQge1xuICBNb25rZXlFY3hDb25maWcsXG4gIE1vbmtleUVjeE1lQ3JlZGVudGlhbHMsXG4gIE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMsXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSB7XG4gIHByaXZhdGUgdG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMgfCBudWxsO1xuXG4gIHByaXZhdGUgdG9rZW4kOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IGFueT47XG5cbiAgcHJpdmF0ZSBtZSQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hNZUNyZWRlbnRpYWxzIHwgYW55PjtcblxuICBwcml2YXRlIGNvbmZpZzogTW9ua2V5RWN4Q29uZmlnIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb25rZXllY3hDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hDb25maWdTZXJ2aWNlKSB7XG4gICAgdGhpcy50b2tlbiA9IHtcbiAgICAgIHVzZXJuYW1lOiAnJyxcbiAgICAgIHByb2dyYW06ICcnLFxuICAgICAgYWNjZXNzVG9rZW46ICcnLFxuICAgICAgcmVmcmVzaFRva2VuOiAnJyxcbiAgICAgIGNvbXBhbnlJZDogJycsXG4gICAgICBnb3Zlcm5tZW50SWQ6ICcnLFxuICAgICAgY29tcGFueVR5cGVVcmw6ICcnLFxuICAgICAgY29tcGFueVR5cGU6ICcnLFxuICAgICAgcHJvZ3JhbUFkbWluOiBmYWxzZSxcbiAgICAgIHByb2dyYW1UeXBlOiAnJyxcbiAgICAgIGFjY2Vzc1R5cGU6ICcnLFxuICAgICAgcm9sZTogJycsXG4gICAgICBvd25lckdvdmVybm1lbnRJZDogJycsXG4gICAgICBfY2xlYXJJZ25vcmU6IHtcbiAgICAgICAgaWdub3JlOiBbJ3VzZXJuYW1lJywgJ3Byb2dyYW0nLCAnYWNjZXNzVHlwZSddLFxuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMudG9rZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgICB0aGlzLm1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgICB0aGlzLm1vbmtleWVjeENvbmZpZ1NlcnZpY2UuY29uZmlnKCkuc3Vic2NyaWJlKChfOiBNb25rZXlFY3hDb25maWcpID0+IHtcbiAgICAgIHRoaXMuY29uZmlnID0gXztcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWxsVG9rZW5zKHRva2VuOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzKSB7XG4gICAgY29uc3QgeyB0b2tlbiQgfSA9IHRoaXM7XG4gICAgT2JqZWN0LmVudHJpZXModG9rZW4pLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgaWYgKE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodmFsdWUpKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRva2VuJC5uZXh0KHRva2VuKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsVG9rZW5zKCk6IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMge1xuICAgIGNvbnN0IHsgdG9rZW4sIGNvbmZpZyB9ID0gdGhpcztcbiAgICBjb25zdCBoYW5kbGVkVG9rZW46IGFueSA9IHtcbiAgICAgIC4uLnRva2VuLFxuICAgIH07XG4gICAgT2JqZWN0LmVudHJpZXModG9rZW4gfHwge30pLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgaGFuZGxlZFRva2VuW2tleV0gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgIH0pO1xuXG4gICAgaWYgKCFoYW5kbGVkVG9rZW4/LnByb2dyYW0gJiYgY29uZmlnPy5wcm9ncmFtKSB7XG4gICAgICBoYW5kbGVkVG9rZW4ucHJvZ3JhbSA9IGNvbmZpZz8ucHJvZ3JhbT8udG9rZW47XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhbmRsZWRUb2tlbjtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWxsTWUobWU6IE1vbmtleUVjeE1lQ3JlZGVudGlhbHMpIHtcbiAgICBjb25zdCB7IG1lJCB9ID0gdGhpcztcbiAgICBsZXQgcHJldmlvdXNNZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlPy5nZXRJdGVtKCdtZScpIHx8ICd7fScpO1xuICAgIE9iamVjdC5lbnRyaWVzKG1lKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICBwcmV2aW91c01lID0ge1xuICAgICAgICAgIC4uLnByZXZpb3VzTWUsXG4gICAgICAgICAgW2tleV06IHZhbHVlLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ21lJywgSlNPTi5zdHJpbmdpZnkocHJldmlvdXNNZSkpO1xuICAgIG1lJC5uZXh0KHByZXZpb3VzTWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxNZSgpOiBNb25rZXlFY3hNZUNyZWRlbnRpYWxzIHtcbiAgICBjb25zdCBtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtZScpO1xuICAgIHJldHVybiBKU09OLnBhcnNlKG1lIHx8ICd7fScpIGFzIE1vbmtleUVjeE1lQ3JlZGVudGlhbHM7XG4gIH1cblxuICBwdWJsaWMgdG9rZW5IYXNDaGFuZ2VkKCk6IE9ic2VydmFibGU8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscz4ge1xuICAgIHJldHVybiB0aGlzLnRva2VuJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBtZUhhc0NoYW5nZWQoKTogT2JzZXJ2YWJsZTxNb25rZXlFY3hNZUNyZWRlbnRpYWxzPiB7XG4gICAgcmV0dXJuIHRoaXMubWUkLmFzT2JzZXJ2YWJsZSgpIHx8IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9rZW4oKTogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsVG9rZW5zKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWUoKTogTW9ua2V5RWN4TWVDcmVkZW50aWFscyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsTWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUb2tlbih0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscykge1xuICAgIHRoaXMuc2V0QWxsVG9rZW5zKHRva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNZShtZTogTW9ua2V5RWN4TWVDcmVkZW50aWFscykge1xuICAgIHRoaXMuc2V0QWxsTWUobWUpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKGZvcmNlPzogYm9vbGVhbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgdG9rZW4gfSA9IHRoaXM7XG4gICAgdHJ5IHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRva2VuIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0b2tlbj8uX2NsZWFySWdub3JlPy5pZ25vcmUgfHwgW10pLmZpbHRlcigodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtleTtcbiAgICAgICAgICB9KS5sZW5ndGggPD0gMCB8fFxuICAgICAgICAgIGZvcmNlID09PSB0cnVlXG4gICAgICAgICkge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ21lJyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZmllbGRzICh0aGUgbmFtZSBvZiBmaWVsZHMgeW91IHdhbnQgdG8gY2xlYXIuIGllOiBbJ2NvbXBhbnlJZCcsICdyb2xlJywgLi4uXSlcbiAgICovXG4gIHB1YmxpYyBjbGVhckNyZWRlbnRpYWxzKFxuICAgIGZpZWxkcyA9IFsnY29tcGFueUlkJywgJ2dvdmVybm1lbnRJZCcsICdjb21wYW55VHlwZScsICdwcm9ncmFtQWRtaW4nLCAncm9sZSddXG4gICkge1xuICAgIGZpZWxkcz8uZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { of, BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { MonkeyEcxUtils } from '../../utils/utils';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../config/monkeyecx-config.service";
|
|
6
|
+
export class MonkeyEcxTokenStorageService {
|
|
7
|
+
constructor(monkeyecxConfigService) {
|
|
8
|
+
this.monkeyecxConfigService = monkeyecxConfigService;
|
|
9
|
+
this.config = null;
|
|
10
|
+
this.token = {
|
|
11
|
+
username: '',
|
|
12
|
+
program: '',
|
|
13
|
+
accessToken: '',
|
|
14
|
+
refreshToken: '',
|
|
15
|
+
companyId: '',
|
|
16
|
+
governmentId: '',
|
|
17
|
+
companyTypeUrl: '',
|
|
18
|
+
companyType: '',
|
|
19
|
+
programAdmin: false,
|
|
20
|
+
programType: '',
|
|
21
|
+
accessType: '',
|
|
22
|
+
role: '',
|
|
23
|
+
ownerGovernmentId: '',
|
|
24
|
+
_clearIgnore: {
|
|
25
|
+
ignore: ['username', 'program', 'accessType'],
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
this.token$ = new BehaviorSubject(null);
|
|
29
|
+
this.me$ = new BehaviorSubject(null);
|
|
30
|
+
this.monkeyecxConfigService.config().subscribe((_) => {
|
|
31
|
+
this.config = _;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
setAllTokens(token) {
|
|
35
|
+
const { token$ } = this;
|
|
36
|
+
Object.entries(token).forEach(([key, value]) => {
|
|
37
|
+
if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
|
|
38
|
+
localStorage.setItem(key, value);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
token$.next(token);
|
|
42
|
+
}
|
|
43
|
+
getAllTokens() {
|
|
44
|
+
const { token, config } = this;
|
|
45
|
+
const handledToken = {
|
|
46
|
+
...token,
|
|
47
|
+
};
|
|
48
|
+
Object.entries(token || {}).forEach(([key, value]) => {
|
|
49
|
+
handledToken[key] = localStorage.getItem(key);
|
|
50
|
+
});
|
|
51
|
+
if (!handledToken?.program && config?.program) {
|
|
52
|
+
handledToken.program = config?.program?.token;
|
|
53
|
+
}
|
|
54
|
+
return handledToken;
|
|
55
|
+
}
|
|
56
|
+
setAllMe(me) {
|
|
57
|
+
const { me$ } = this;
|
|
58
|
+
let previousMe = JSON.parse(localStorage?.getItem('me') || '{}');
|
|
59
|
+
Object.entries(me).forEach(([key, value]) => {
|
|
60
|
+
if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
|
|
61
|
+
previousMe = {
|
|
62
|
+
...previousMe,
|
|
63
|
+
[key]: value,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
localStorage.setItem('me', JSON.stringify(previousMe));
|
|
68
|
+
me$.next(previousMe);
|
|
69
|
+
}
|
|
70
|
+
getAllMe() {
|
|
71
|
+
const me = localStorage.getItem('me');
|
|
72
|
+
return JSON.parse(me || '{}');
|
|
73
|
+
}
|
|
74
|
+
tokenHasChanged() {
|
|
75
|
+
return this.token$.asObservable();
|
|
76
|
+
}
|
|
77
|
+
meHasChanged() {
|
|
78
|
+
return this.me$.asObservable() || null;
|
|
79
|
+
}
|
|
80
|
+
getToken() {
|
|
81
|
+
return this.getAllTokens();
|
|
82
|
+
}
|
|
83
|
+
getMe() {
|
|
84
|
+
return this.getAllMe();
|
|
85
|
+
}
|
|
86
|
+
setToken(token) {
|
|
87
|
+
this.setAllTokens(token);
|
|
88
|
+
}
|
|
89
|
+
setMe(me) {
|
|
90
|
+
this.setAllMe(me);
|
|
91
|
+
}
|
|
92
|
+
clear(force) {
|
|
93
|
+
const { token } = this;
|
|
94
|
+
try {
|
|
95
|
+
Object.entries(token || {}).forEach(([key, value]) => {
|
|
96
|
+
if ((token?._clearIgnore?.ignore || []).filter((val) => {
|
|
97
|
+
return val === key;
|
|
98
|
+
}).length <= 0 ||
|
|
99
|
+
force === true) {
|
|
100
|
+
localStorage.removeItem(key);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
localStorage.removeItem('me');
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
return of(false);
|
|
107
|
+
}
|
|
108
|
+
return of(true);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* @param fields (the name of fields you want to clear. ie: ['companyId', 'role', ...])
|
|
112
|
+
*/
|
|
113
|
+
clearCredentials(fields = ['companyId', 'governmentId', 'companyType', 'programAdmin', 'role']) {
|
|
114
|
+
fields?.forEach((key) => {
|
|
115
|
+
localStorage.removeItem(key);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
MonkeyEcxTokenStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, deps: [{ token: i1.MonkeyEcxConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
120
|
+
MonkeyEcxTokenStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, providedIn: 'root' });
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, decorators: [{
|
|
122
|
+
type: Injectable,
|
|
123
|
+
args: [{
|
|
124
|
+
providedIn: 'root',
|
|
125
|
+
}]
|
|
126
|
+
}], ctorParameters: function () { return [{ type: i1.MonkeyEcxConfigService }]; } });
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yYWdlL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQVVuRCxNQUFNLE9BQU8sNEJBQTRCO0lBU3ZDLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRjFELFdBQU0sR0FBMkIsSUFBSSxDQUFDO1FBRzVDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLEVBQUU7WUFDZixVQUFVLEVBQUUsRUFBRTtZQUNkLElBQUksRUFBRSxFQUFFO1lBQ1IsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUM7YUFDOUM7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJ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QUFFLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQzlCLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt5SEF4SVUsNEJBQTRCOzZIQUE1Qiw0QkFBNEIsY0FGM0IsTUFBTTsyRkFFUCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvbW9ua2V5ZWN4LWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XHJcbmltcG9ydCB7XHJcbiAgTW9ua2V5RWN4Q29uZmlnLFxyXG4gIE1vbmtleUVjeE1lQ3JlZGVudGlhbHMsXHJcbiAgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyxcclxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIHtcclxuICBwcml2YXRlIHRva2VuOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHwgbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSB0b2tlbiQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHwgYW55PjtcclxuXHJcbiAgcHJpdmF0ZSBtZSQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hNZUNyZWRlbnRpYWxzIHwgYW55PjtcclxuXHJcbiAgcHJpdmF0ZSBjb25maWc6IE1vbmtleUVjeENvbmZpZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vbmtleWVjeENvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIHRoaXMudG9rZW4gPSB7XHJcbiAgICAgIHVzZXJuYW1lOiAnJyxcclxuICAgICAgcHJvZ3JhbTogJycsXHJcbiAgICAgIGFjY2Vzc1Rva2VuOiAnJyxcclxuICAgICAgcmVmcmVzaFRva2VuOiAnJyxcclxuICAgICAgY29tcGFueUlkOiAnJyxcclxuICAgICAgZ292ZXJubWVudElkOiAnJyxcclxuICAgICAgY29tcGFueVR5cGVVcmw6ICcnLFxyXG4gICAgICBjb21wYW55VHlwZTogJycsXHJcbiAgICAgIHByb2dyYW1BZG1pbjogZmFsc2UsXHJcbiAgICAgIHByb2dyYW1UeXBlOiAnJyxcclxuICAgICAgYWNjZXNzVHlwZTogJycsXHJcbiAgICAgIHJvbGU6ICcnLFxyXG4gICAgICBvd25lckdvdmVybm1lbnRJZDogJycsXHJcbiAgICAgIF9jbGVhcklnbm9yZToge1xyXG4gICAgICAgIGlnbm9yZTogWyd1c2VybmFtZScsICdwcm9ncmFtJywgJ2FjY2Vzc1R5cGUnXSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLnRva2VuJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcbiAgICB0aGlzLm1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcblxyXG4gICAgdGhpcy5tb25rZXllY3hDb25maWdTZXJ2aWNlLmNvbmZpZygpLnN1YnNjcmliZSgoXzogTW9ua2V5RWN4Q29uZmlnKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZmlnID0gXztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRBbGxUb2tlbnModG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMpIHtcclxuICAgIGNvbnN0IHsgdG9rZW4kIH0gPSB0aGlzO1xyXG4gICAgT2JqZWN0LmVudHJpZXModG9rZW4pLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZSkpIHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0b2tlbiQubmV4dCh0b2tlbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFsbFRva2VucygpOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHtcclxuICAgIGNvbnN0IHsgdG9rZW4sIGNvbmZpZyB9ID0gdGhpcztcclxuICAgIGNvbnN0IGhhbmRsZWRUb2tlbjogYW55ID0ge1xyXG4gICAgICAuLi50b2tlbixcclxuICAgIH07XHJcbiAgICBPYmplY3QuZW50cmllcyh0b2tlbiB8fCB7fSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgIGhhbmRsZWRUb2tlbltrZXldID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICghaGFuZGxlZFRva2VuPy5wcm9ncmFtICYmIGNvbmZpZz8ucHJvZ3JhbSkge1xyXG4gICAgICBoYW5kbGVkVG9rZW4ucHJvZ3JhbSA9IGNvbmZpZz8ucHJvZ3JhbT8udG9rZW47XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGhhbmRsZWRUb2tlbjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QWxsTWUobWU6IE1vbmtleUVjeE1lQ3JlZGVudGlhbHMpIHtcclxuICAgIGNvbnN0IHsgbWUkIH0gPSB0aGlzO1xyXG4gICAgbGV0IHByZXZpb3VzTWUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZT8uZ2V0SXRlbSgnbWUnKSB8fCAne30nKTtcclxuICAgIE9iamVjdC5lbnRyaWVzKG1lKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgaWYgKE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodmFsdWUpKSB7XHJcbiAgICAgICAgcHJldmlvdXNNZSA9IHtcclxuICAgICAgICAgIC4uLnByZXZpb3VzTWUsXHJcbiAgICAgICAgICBba2V5XTogdmFsdWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ21lJywgSlNPTi5zdHJpbmdpZnkocHJldmlvdXNNZSkpO1xyXG4gICAgbWUkLm5leHQocHJldmlvdXNNZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFsbE1lKCk6IE1vbmtleUVjeE1lQ3JlZGVudGlhbHMge1xyXG4gICAgY29uc3QgbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbWUnKTtcclxuICAgIHJldHVybiBKU09OLnBhcnNlKG1lIHx8ICd7fScpIGFzIE1vbmtleUVjeE1lQ3JlZGVudGlhbHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9rZW5IYXNDaGFuZ2VkKCk6IE9ic2VydmFibGU8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscz4ge1xyXG4gICAgcmV0dXJuIHRoaXMudG9rZW4kLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1lSGFzQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPE1vbmtleUVjeE1lQ3JlZGVudGlhbHM+IHtcclxuICAgIHJldHVybiB0aGlzLm1lJC5hc09ic2VydmFibGUoKSB8fCBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRva2VuKCk6IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsVG9rZW5zKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TWUoKTogTW9ua2V5RWN4TWVDcmVkZW50aWFscyB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxNZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzKSB7XHJcbiAgICB0aGlzLnNldEFsbFRva2Vucyh0b2tlbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0TWUobWU6IE1vbmtleUVjeE1lQ3JlZGVudGlhbHMpIHtcclxuICAgIHRoaXMuc2V0QWxsTWUobWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyKGZvcmNlPzogYm9vbGVhbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3QgeyB0b2tlbiB9ID0gdGhpcztcclxuICAgIHRyeSB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRva2VuIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAodG9rZW4/Ll9jbGVhcklnbm9yZT8uaWdub3JlIHx8IFtdKS5maWx0ZXIoKHZhbDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtleTtcclxuICAgICAgICAgIH0pLmxlbmd0aCA8PSAwIHx8XHJcbiAgICAgICAgICBmb3JjZSA9PT0gdHJ1ZVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbWUnKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcGFyYW0gZmllbGRzICh0aGUgbmFtZSBvZiBmaWVsZHMgeW91IHdhbnQgdG8gY2xlYXIuIGllOiBbJ2NvbXBhbnlJZCcsICdyb2xlJywgLi4uXSlcclxuICAgKi9cclxuICBwdWJsaWMgY2xlYXJDcmVkZW50aWFscyhcclxuICAgIGZpZWxkcyA9IFsnY29tcGFueUlkJywgJ2dvdmVybm1lbnRJZCcsICdjb21wYW55VHlwZScsICdwcm9ncmFtQWRtaW4nLCAncm9sZSddXHJcbiAgKSB7XHJcbiAgICBmaWVsZHM/LmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './monkeyecx-specification-search';
|
|
1
|
+
export * from './monkeyecx-specification-search';
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc3BlY2lmaWNhdGlvbi1zZWFyY2gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXNwZWNpZmljYXRpb24tc2VhcmNoJztcbiJdfQ==
|
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
/* eslint-disable no-unused-vars */
|
|
2
|
-
import { MonkeyEcxUtils } from '../utils/utils';
|
|
3
|
-
export var OpSearch;
|
|
4
|
-
(function (OpSearch) {
|
|
5
|
-
OpSearch["LIKE"] = ":'*:value*'";
|
|
6
|
-
OpSearch["BETWEEN"] = ":first AND :last";
|
|
7
|
-
OpSearch["OR"] = "OR";
|
|
8
|
-
OpSearch["AND"] = "AND";
|
|
9
|
-
OpSearch["GT"] = ">:value";
|
|
10
|
-
OpSearch["LT"] = "<:value";
|
|
11
|
-
OpSearch["EQUAL"] = "::value";
|
|
12
|
-
OpSearch["IN"] = " IN :value";
|
|
13
|
-
OpSearch["NOT"] = " !:value";
|
|
14
|
-
})(OpSearch || (OpSearch = {}));
|
|
15
|
-
export class MonkeyEcxSpecificationSearch {
|
|
16
|
-
constructor() {
|
|
17
|
-
// not to do
|
|
18
|
-
}
|
|
19
|
-
handleValue(value) {
|
|
20
|
-
return Object.entries(value).map(([key, value1]) => {
|
|
21
|
-
if (!MonkeyEcxUtils.persistNullEmptyUndefined(value1)) {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
if (Array.isArray(value1)) {
|
|
25
|
-
if (key === OpSearch.BETWEEN) {
|
|
26
|
-
return `${key}`.replace(':first', value1[0]).replace(':last', value1[1]);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return `${key}`.replace(':value', `${value1}`);
|
|
30
|
-
})[0];
|
|
31
|
-
}
|
|
32
|
-
queryVisitor(value) {
|
|
33
|
-
const okay = Object.entries(value).map(([key1, value1]) => {
|
|
34
|
-
if (key1 === OpSearch.OR || key1 === OpSearch.AND) {
|
|
35
|
-
const join = value1
|
|
36
|
-
.map((_) => {
|
|
37
|
-
return Object.entries(_).map(([key2, value2]) => {
|
|
38
|
-
if (value2 instanceof Object) {
|
|
39
|
-
value2 = this.handleValue(value2);
|
|
40
|
-
}
|
|
41
|
-
return this.criteriaParser(key2, value2);
|
|
42
|
-
})[0];
|
|
43
|
-
})
|
|
44
|
-
.filter((_) => {
|
|
45
|
-
return _;
|
|
46
|
-
})
|
|
47
|
-
.join(` ${key1} `);
|
|
48
|
-
return `${join ? `(${join})` : ''}`;
|
|
49
|
-
}
|
|
50
|
-
if (value1 instanceof Object) {
|
|
51
|
-
value1 = this.handleValue(value1);
|
|
52
|
-
}
|
|
53
|
-
return this.criteriaParser(key1, value1);
|
|
54
|
-
});
|
|
55
|
-
return okay
|
|
56
|
-
.filter((_) => {
|
|
57
|
-
return _;
|
|
58
|
-
})
|
|
59
|
-
.join(' AND ');
|
|
60
|
-
}
|
|
61
|
-
criteriaParser(key, value) {
|
|
62
|
-
if (!MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
|
|
63
|
-
return '';
|
|
64
|
-
}
|
|
65
|
-
if (value instanceof Object) {
|
|
66
|
-
return this.queryVisitor(value);
|
|
67
|
-
}
|
|
68
|
-
return `${key}${value}`;
|
|
69
|
-
}
|
|
70
|
-
build(spec) {
|
|
71
|
-
try {
|
|
72
|
-
return this.queryVisitor(spec);
|
|
73
|
-
}
|
|
74
|
-
catch (e) {
|
|
75
|
-
throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
buildMoreThanOne(field, op = OpSearch.EQUAL, addSingleQuotes = false) {
|
|
79
|
-
const self = this;
|
|
80
|
-
try {
|
|
81
|
-
if (!self[field])
|
|
82
|
-
return [];
|
|
83
|
-
const filters = self[field]?.split(',')?.map((filter) => {
|
|
84
|
-
if (!filter)
|
|
85
|
-
return null;
|
|
86
|
-
return {
|
|
87
|
-
[field]: {
|
|
88
|
-
[op]: addSingleQuotes ? `'${filter}'` : `${filter}`
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
}).filter((val) => { return val; });
|
|
92
|
-
return filters || [];
|
|
93
|
-
}
|
|
94
|
-
catch (e) {
|
|
95
|
-
throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
handleFieldSeparatedBy(field, signal = ',', op = OpSearch.EQUAL) {
|
|
99
|
-
return this[field]?.split(signal)?.map((_) => {
|
|
100
|
-
return {
|
|
101
|
-
[field]: {
|
|
102
|
-
[op]: _
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
}
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
import { MonkeyEcxUtils } from '../utils/utils';
|
|
3
|
+
export var OpSearch;
|
|
4
|
+
(function (OpSearch) {
|
|
5
|
+
OpSearch["LIKE"] = ":'*:value*'";
|
|
6
|
+
OpSearch["BETWEEN"] = ":first AND :last";
|
|
7
|
+
OpSearch["OR"] = "OR";
|
|
8
|
+
OpSearch["AND"] = "AND";
|
|
9
|
+
OpSearch["GT"] = ">:value";
|
|
10
|
+
OpSearch["LT"] = "<:value";
|
|
11
|
+
OpSearch["EQUAL"] = "::value";
|
|
12
|
+
OpSearch["IN"] = " IN :value";
|
|
13
|
+
OpSearch["NOT"] = " !:value";
|
|
14
|
+
})(OpSearch || (OpSearch = {}));
|
|
15
|
+
export class MonkeyEcxSpecificationSearch {
|
|
16
|
+
constructor() {
|
|
17
|
+
// not to do
|
|
18
|
+
}
|
|
19
|
+
handleValue(value) {
|
|
20
|
+
return Object.entries(value).map(([key, value1]) => {
|
|
21
|
+
if (!MonkeyEcxUtils.persistNullEmptyUndefined(value1)) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
if (Array.isArray(value1)) {
|
|
25
|
+
if (key === OpSearch.BETWEEN) {
|
|
26
|
+
return `${key}`.replace(':first', value1[0]).replace(':last', value1[1]);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return `${key}`.replace(':value', `${value1}`);
|
|
30
|
+
})[0];
|
|
31
|
+
}
|
|
32
|
+
queryVisitor(value) {
|
|
33
|
+
const okay = Object.entries(value).map(([key1, value1]) => {
|
|
34
|
+
if (key1 === OpSearch.OR || key1 === OpSearch.AND) {
|
|
35
|
+
const join = value1
|
|
36
|
+
.map((_) => {
|
|
37
|
+
return Object.entries(_).map(([key2, value2]) => {
|
|
38
|
+
if (value2 instanceof Object) {
|
|
39
|
+
value2 = this.handleValue(value2);
|
|
40
|
+
}
|
|
41
|
+
return this.criteriaParser(key2, value2);
|
|
42
|
+
})[0];
|
|
43
|
+
})
|
|
44
|
+
.filter((_) => {
|
|
45
|
+
return _;
|
|
46
|
+
})
|
|
47
|
+
.join(` ${key1} `);
|
|
48
|
+
return `${join ? `(${join})` : ''}`;
|
|
49
|
+
}
|
|
50
|
+
if (value1 instanceof Object) {
|
|
51
|
+
value1 = this.handleValue(value1);
|
|
52
|
+
}
|
|
53
|
+
return this.criteriaParser(key1, value1);
|
|
54
|
+
});
|
|
55
|
+
return okay
|
|
56
|
+
.filter((_) => {
|
|
57
|
+
return _;
|
|
58
|
+
})
|
|
59
|
+
.join(' AND ');
|
|
60
|
+
}
|
|
61
|
+
criteriaParser(key, value) {
|
|
62
|
+
if (!MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
|
|
63
|
+
return '';
|
|
64
|
+
}
|
|
65
|
+
if (value instanceof Object) {
|
|
66
|
+
return this.queryVisitor(value);
|
|
67
|
+
}
|
|
68
|
+
return `${key}${value}`;
|
|
69
|
+
}
|
|
70
|
+
build(spec) {
|
|
71
|
+
try {
|
|
72
|
+
return this.queryVisitor(spec);
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
buildMoreThanOne(field, op = OpSearch.EQUAL, addSingleQuotes = false) {
|
|
79
|
+
const self = this;
|
|
80
|
+
try {
|
|
81
|
+
if (!self[field])
|
|
82
|
+
return [];
|
|
83
|
+
const filters = self[field]?.split(',')?.map((filter) => {
|
|
84
|
+
if (!filter)
|
|
85
|
+
return null;
|
|
86
|
+
return {
|
|
87
|
+
[field]: {
|
|
88
|
+
[op]: addSingleQuotes ? `'${filter}'` : `${filter}`
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
}).filter((val) => { return val; });
|
|
92
|
+
return filters || [];
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
handleFieldSeparatedBy(field, signal = ',', op = OpSearch.EQUAL) {
|
|
99
|
+
return this[field]?.split(signal)?.map((_) => {
|
|
100
|
+
return {
|
|
101
|
+
[field]: {
|
|
102
|
+
[op]: _
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
108
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNwZWNpZmljYXRpb24tc2VhcmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NwZWNpZmljYXRpb24tc2VhcmNoL21vbmtleWVjeC1zcGVjaWZpY2F0aW9uLXNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE1BQU0sQ0FBTixJQUFZLFFBVVg7QUFWRCxXQUFZLFFBQVE7SUFDbEIsZ0NBQXNCLENBQUE7SUFDdEIsd0NBQTRCLENBQUE7SUFDNUIscUJBQVMsQ0FBQTtJQUNULHVCQUFXLENBQUE7SUFDWCwwQkFBYyxDQUFBO0lBQ2QsMEJBQWMsQ0FBQTtJQUNkLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDRCQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFWVyxRQUFRLEtBQVIsUUFBUSxRQVVuQjtBQUVELE1BQU0sT0FBTyw0QkFBNEI7SUFDdkM7UUFDRSxZQUFZO0lBQ2QsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFVO1FBQzVCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksR0FBRyxLQUFLLFFBQVEsQ0FBQyxPQUFPLEVBQUU7b0JBQzVCLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FB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QUFJLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1lBRTVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUU7Z0JBQzlELElBQUksQ0FBQyxNQUFNO29CQUFFLE9BQU8sSUFBSSxDQUFDO2dCQUN6QixPQUFPO29CQUNMLENBQUMsS0FBSyxDQUFDLEVBQUU7d0JBQ1AsQ0FBQyxFQUFFLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFO3FCQUNwRDtpQkFDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sT0FBTyxJQUFJLEVBQUUsQ0FBQztTQUN0QjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxLQUFhLEVBQUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUs7UUFDNUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNDLE9BQU87Z0JBQ0wsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDUCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7aUJBQ1I7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5cbmV4cG9ydCBlbnVtIE9wU2VhcmNoIHtcbiAgTElLRSA9ICc6XFwnKjp2YWx1ZSpcXCcnLFxuICBCRVRXRUVOID0gJzpmaXJzdCBBTkQgOmxhc3QnLFxuICBPUiA9ICdPUicsXG4gIEFORCA9ICdBTkQnLFxuICBHVCA9ICc+OnZhbHVlJyxcbiAgTFQgPSAnPDp2YWx1ZScsXG4gIEVRVUFMID0gJzo6dmFsdWUnLFxuICBJTiA9ICcgSU4gOnZhbHVlJyxcbiAgTk9UID0gJyAhOnZhbHVlJ1xufVxuXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4U3BlY2lmaWNhdGlvblNlYXJjaCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHZhbHVlKS5tYXAoKFtrZXksIHZhbHVlMV0pID0+IHtcbiAgICAgIGlmICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZTEpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUxKSkge1xuICAgICAgICBpZiAoa2V5ID09PSBPcFNlYXJjaC5CRVRXRUVOKSB7XG4gICAgICAgICAgcmV0dXJuIGAke2tleX1gLnJlcGxhY2UoJzpmaXJzdCcsIHZhbHVlMVswXSkucmVwbGFjZSgnOmxhc3QnLCB2YWx1ZTFbMV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYCR7a2V5fWAucmVwbGFjZSgnOnZhbHVlJywgYCR7dmFsdWUxfWApO1xuICAgIH0pWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBxdWVyeVZpc2l0b3IodmFsdWU6IGFueSk6IGFueSB7XG4gICAgY29uc3Qgb2theSA9IE9iamVjdC5lbnRyaWVzKHZhbHVlKS5tYXAoKFtrZXkxLCB2YWx1ZTFdKSA9PiB7XG4gICAgICBpZiAoa2V5MSA9PT0gT3BTZWFyY2guT1IgfHwga2V5MSA9PT0gT3BTZWFyY2guQU5EKSB7XG4gICAgICAgIGNvbnN0IGpvaW4gPSAodmFsdWUxIGFzIGFueVtdKVxuICAgICAgICAgIC5tYXAoKF86IGFueSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKF8pLm1hcCgoW2tleTIsIHZhbHVlMl0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKHZhbHVlMiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICAgICAgICAgIHZhbHVlMiA9IHRoaXMuaGFuZGxlVmFsdWUodmFsdWUyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcml0ZXJpYVBhcnNlcihrZXkyLCB2YWx1ZTIpO1xuICAgICAgICAgICAgfSlbMF07XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKChfOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBfO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmpvaW4oYCAke2tleTF9IGApO1xuICAgICAgICByZXR1cm4gYCR7am9pbiA/IGAoJHtqb2lufSlgIDogJyd9YDtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZTEgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgdmFsdWUxID0gdGhpcy5oYW5kbGVWYWx1ZSh2YWx1ZTEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY3JpdGVyaWFQYXJzZXIoa2V5MSwgdmFsdWUxKTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2theVxuICAgICAgLmZpbHRlcigoXzogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBfO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcgQU5EICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcml0ZXJpYVBhcnNlcihrZXk6IHN0cmluZywgdmFsdWU6IGFueSB8IGFueVtdKSB7XG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5VmlzaXRvcih2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBgJHtrZXl9JHt2YWx1ZX1gO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkKHNwZWM6IGFueSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5VmlzaXRvcihzcGVjKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vbmtleUVjeFNwZWNpZmljYXRpb25TZWFyY2ggRXJyb3IgJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBidWlsZE1vcmVUaGFuT25lKGZpZWxkOiBzdHJpbmcsIG9wID0gT3BTZWFyY2guRVFVQUwsIGFkZFNpbmdsZVF1b3RlcyA9IGZhbHNlKSB7XG4gICAgY29uc3Qgc2VsZjogYW55ID0gdGhpcztcbiAgICB0cnkge1xuICAgICAgaWYgKCFzZWxmW2ZpZWxkXSkgcmV0dXJuIFtdO1xuXG4gICAgICBjb25zdCBmaWx0ZXJzID0gc2VsZltmaWVsZF0/LnNwbGl0KCcsJyk/Lm1hcCgoZmlsdGVyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKCFmaWx0ZXIpIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFtmaWVsZF06IHtcbiAgICAgICAgICAgIFtvcF06IGFkZFNpbmdsZVF1b3RlcyA/IGAnJHtmaWx0ZXJ9J2AgOiBgJHtmaWx0ZXJ9YFxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH0pLmZpbHRlcigodmFsOiBhbnkpID0+IHsgcmV0dXJuIHZhbDsgfSk7XG4gICAgICByZXR1cm4gZmlsdGVycyB8fCBbXTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vbmtleUVjeFNwZWNpZmljYXRpb25TZWFyY2ggRXJyb3IgJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVGaWVsZFNlcGFyYXRlZEJ5KGZpZWxkOiBzdHJpbmcsIHNpZ25hbCA9ICcsJywgb3AgPSBPcFNlYXJjaC5FUVVBTCkge1xuICAgIHJldHVybiB0aGlzW2ZpZWxkXT8uc3BsaXQoc2lnbmFsKT8ubWFwKChfKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBbZmllbGRdOiB7XG4gICAgICAgICAgW29wXTogX1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|