monkey-front-core 0.0.238 → 0.0.239
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 -0
- package/esm2020/lib/components/alerts/alerts.module.mjs +21 -0
- package/esm2020/lib/components/alerts/index.mjs +3 -0
- package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -0
- package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs +43 -0
- package/esm2020/lib/components/closed-to-maintenance/index.mjs +3 -0
- package/esm2020/lib/components/index.mjs +5 -0
- package/esm2020/lib/components/progress-bar/index.mjs +4 -0
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -0
- package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +18 -0
- package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -0
- package/esm2020/lib/components/version-changed/index.mjs +3 -0
- package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -0
- package/esm2020/lib/components/version-changed/version-changed.module.mjs +39 -0
- package/esm2020/lib/core/decorators/index.mjs +5 -0
- package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +40 -0
- package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +111 -0
- package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +26 -0
- package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +26 -0
- package/esm2020/lib/core/directives/index.mjs +13 -0
- package/esm2020/lib/core/directives/monkeyecx-directives-module.mjs +73 -0
- package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -0
- package/esm2020/lib/core/directives/monkeyecx-feature-by-program-directive.mjs +50 -0
- package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -0
- package/esm2020/lib/core/directives/monkeyecx-format-currency.mjs +44 -0
- package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -0
- package/esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs +28 -0
- package/esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs +28 -0
- package/esm2020/lib/core/directives/monkeyecx-popover-options.directive.mjs +39 -0
- package/esm2020/lib/core/directives/monkeyecx-popover.directive.mjs +212 -0
- package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +69 -0
- package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -0
- package/esm2020/lib/core/index.mjs +10 -0
- package/esm2020/lib/core/interceptors/index.mjs +6 -0
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +39 -0
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +60 -0
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs +47 -0
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -0
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +37 -0
- package/esm2020/lib/core/interfaces/index.mjs +30 -0
- package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-company-pendencies.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-company.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-config-boostrap.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-country-security.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-error-response.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-filter.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-program.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-releases.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-response-links.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-support-options.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs +2 -0
- package/esm2020/lib/core/interfaces/request-download/index.mjs +4 -0
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +2 -0
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs +2 -0
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs +2 -0
- package/esm2020/lib/core/interfaces/request-queue/index.mjs +4 -0
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs +2 -0
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs +2 -0
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +2 -0
- package/esm2020/lib/core/interfaces/request-upload/index.mjs +3 -0
- package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs +2 -0
- package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs +2 -0
- package/esm2020/lib/core/interfaces/schedules/index.mjs +2 -0
- package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +2 -0
- package/esm2020/lib/core/model/index.mjs +2 -0
- package/esm2020/lib/core/model/monkeyecx-model.mjs +25 -0
- package/esm2020/lib/core/pipes/index.mjs +20 -0
- package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +19 -0
- package/esm2020/lib/core/pipes/monkeyecx-display-initials.mjs +21 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +20 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-beautify-json.mjs +38 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +27 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +45 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +32 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-date-unix-timelapse.mjs +36 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +19 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +20 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +42 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +20 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-tax.mjs +23 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +19 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +19 -0
- package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +19 -0
- package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +107 -0
- package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +23 -0
- package/esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs +16 -0
- package/esm2020/lib/core/services/auth/index.mjs +5 -0
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-company.service.mjs +28 -0
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs +27 -0
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs +26 -0
- package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +69 -0
- package/esm2020/lib/core/services/commons/index.mjs +2 -0
- package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +405 -0
- package/esm2020/lib/core/services/config/monkeyecx-alerts-config.service.mjs +40 -0
- package/esm2020/lib/core/services/config/monkeyecx-config.module.mjs +28 -0
- package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +111 -0
- package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -0
- package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +67 -0
- package/esm2020/lib/core/services/config/monkeyecx-ga-config.service.mjs +57 -0
- package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +92 -0
- package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -0
- package/esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs +37 -0
- package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +42 -0
- package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -0
- package/esm2020/lib/core/services/error/index.mjs +5 -0
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs +27 -0
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +37 -0
- package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +135 -0
- package/esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs +29 -0
- package/esm2020/lib/core/services/index.mjs +23 -0
- package/esm2020/lib/core/services/logged/index.mjs +2 -0
- package/esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs +40 -0
- package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -0
- package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -0
- package/esm2020/lib/core/services/pagination/index.mjs +2 -0
- package/esm2020/lib/core/services/pagination/monkeyecx-pagination.service.mjs +29 -0
- package/esm2020/lib/core/services/request-download/index.mjs +3 -0
- package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -0
- package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -0
- package/esm2020/lib/core/services/request-paged/index.mjs +2 -0
- package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +42 -0
- package/esm2020/lib/core/services/request-queue/index.mjs +3 -0
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -0
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -0
- package/esm2020/lib/core/services/routes/index.mjs +2 -0
- package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +54 -0
- package/esm2020/lib/core/services/schedules/index.mjs +2 -0
- package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +188 -0
- package/esm2020/lib/core/services/storage/index.mjs +3 -0
- package/esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs +32 -0
- package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +127 -0
- package/esm2020/lib/core/specification-search/index.mjs +2 -0
- package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +108 -0
- package/esm2020/lib/core/utils/decorators-utils.mjs +40 -0
- package/esm2020/lib/core/utils/index.mjs +8 -0
- package/esm2020/lib/core/utils/statics.mjs +38 -0
- package/esm2020/lib/core/utils/utils.mjs +221 -0
- package/esm2020/lib/core/utils/validate-utils.mjs +206 -0
- package/esm2020/lib/core/utils/validators.mjs +208 -0
- package/esm2020/lib/monkey-front-core.module.mjs +64 -0
- package/esm2020/monkey-front-core.mjs +5 -0
- package/esm2020/public-api.mjs +7 -0
- package/fesm2015/monkey-front-core.mjs +5123 -0
- package/fesm2015/monkey-front-core.mjs.map +1 -0
- package/fesm2020/monkey-front-core.mjs +5182 -0
- package/fesm2020/monkey-front-core.mjs.map +1 -0
- package/lib/components/alerts/alerts.component.d.ts +16 -0
- package/lib/components/alerts/alerts.module.d.ts +10 -0
- package/{src/lib/components/alerts/index.ts → lib/components/alerts/index.d.ts} +2 -2
- package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +13 -0
- package/lib/components/closed-to-maintenance/closed-to-maintenance.module.d.ts +11 -0
- package/{src/lib/components/closed-to-maintenance/index.ts → lib/components/closed-to-maintenance/index.d.ts} +2 -2
- package/{src/lib/components/index.ts → lib/components/index.d.ts} +4 -4
- package/{src/lib/components/progress-bar/index.ts → lib/components/progress-bar/index.d.ts} +3 -3
- package/lib/components/progress-bar/progress-bar.component.d.ts +11 -0
- package/lib/components/progress-bar/progress-bar.module.d.ts +8 -0
- package/lib/components/progress-bar/progress-bar.service.d.ts +14 -0
- package/{src/lib/components/version-changed/index.ts → lib/components/version-changed/index.d.ts} +2 -2
- package/lib/components/version-changed/version-changed.component.d.ts +9 -0
- package/lib/components/version-changed/version-changed.module.d.ts +10 -0
- package/{src/lib/core/decorators/index.ts → lib/core/decorators/index.d.ts} +4 -4
- package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +1 -0
- package/lib/core/decorators/monkeyecx-decorators.d.ts +7 -0
- package/lib/core/decorators/monkeyecx-download-decorators.d.ts +2 -0
- package/lib/core/decorators/monkeyecx-upload-decorators.d.ts +2 -0
- package/{src/lib/core/directives/index.ts → lib/core/directives/index.d.ts} +12 -12
- package/lib/core/directives/monkeyecx-directives-module.d.ts +19 -0
- package/lib/core/directives/monkeyecx-drag-drop.d.ts +12 -0
- package/lib/core/directives/monkeyecx-feature-by-program-directive.d.ts +15 -0
- package/lib/core/directives/monkeyecx-feature-directive.d.ts +17 -0
- package/lib/core/directives/monkeyecx-format-currency.d.ts +16 -0
- package/lib/core/directives/monkeyecx-format-upper.d.ts +18 -0
- package/lib/core/directives/monkeyecx-only-alpha-numeric-directive.d.ts +9 -0
- package/lib/core/directives/monkeyecx-only-number-directive.d.ts +9 -0
- package/lib/core/directives/monkeyecx-popover-options.directive.d.ts +19 -0
- package/lib/core/directives/monkeyecx-popover.directive.d.ts +43 -0
- package/lib/core/directives/monkeyecx-security-directive.d.ts +17 -0
- package/lib/core/directives/monkeyecx-tooltip-directive.d.ts +23 -0
- package/{src/lib/core/index.ts → lib/core/index.d.ts} +9 -9
- package/{src/lib/core/interceptors/index.ts → lib/core/interceptors/index.d.ts} +5 -5
- package/lib/core/interceptors/monkeyecx-http-config-error.interceptor.d.ts +17 -0
- package/lib/core/interceptors/monkeyecx-http-config-header.interceptor.d.ts +16 -0
- package/lib/core/interceptors/monkeyecx-http-config-interceptor.module.d.ts +9 -0
- package/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.d.ts +12 -0
- package/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.d.ts +14 -0
- package/{src/lib/core/interfaces/index.ts → lib/core/interfaces/index.d.ts} +29 -29
- package/lib/core/interfaces/monkeyecx-auth-credentials.d.ts +15 -0
- package/{src/lib/core/interfaces/monkeyecx-company-pendencies.ts → lib/core/interfaces/monkeyecx-company-pendencies.d.ts} +14 -16
- package/lib/core/interfaces/monkeyecx-company.d.ts +10 -0
- package/lib/core/interfaces/monkeyecx-config-boostrap.d.ts +14 -0
- package/lib/core/interfaces/monkeyecx-config.d.ts +125 -0
- package/lib/core/interfaces/monkeyecx-country-security.d.ts +4 -0
- package/lib/core/interfaces/monkeyecx-error-response.d.ts +5 -0
- package/lib/core/interfaces/monkeyecx-filter.d.ts +24 -0
- package/lib/core/interfaces/monkeyecx-handled-error-response.d.ts +10 -0
- package/lib/core/interfaces/monkeyecx-header-credentials.d.ts +4 -0
- package/{src/lib/core/interfaces/monkeyecx-intercom-options.ts → lib/core/interfaces/monkeyecx-intercom-options.d.ts} +4 -4
- package/lib/core/interfaces/monkeyecx-me-credentials.d.ts +22 -0
- package/lib/core/interfaces/monkeyecx-navigation.d.ts +27 -0
- package/lib/core/interfaces/monkeyecx-program.d.ts +10 -0
- package/lib/core/interfaces/monkeyecx-releases.d.ts +9 -0
- package/{src/lib/core/interfaces/monkeyecx-request-in-progress.ts → lib/core/interfaces/monkeyecx-request-in-progress.d.ts} +3 -3
- package/lib/core/interfaces/monkeyecx-request-paged.d.ts +23 -0
- package/lib/core/interfaces/monkeyecx-response-links.d.ts +11 -0
- package/lib/core/interfaces/monkeyecx-response-paged.d.ts +6 -0
- package/lib/core/interfaces/monkeyecx-saved-state.d.ts +5 -0
- package/{src/lib/core/interfaces/monkeyecx-scroll-options.ts → lib/core/interfaces/monkeyecx-scroll-options.d.ts} +5 -6
- package/{src/lib/core/interfaces/monkeyecx-service-credentials.ts → lib/core/interfaces/monkeyecx-service-credentials.d.ts} +12 -13
- package/{src/lib/core/interfaces/monkeyecx-support-options.ts → lib/core/interfaces/monkeyecx-support-options.d.ts} +4 -4
- package/lib/core/interfaces/monkeyecx-token-credentials.d.ts +20 -0
- package/lib/core/interfaces/monkeyecx-translate-options.d.ts +4 -0
- package/{src/lib/core/interfaces/request-download/index.ts → lib/core/interfaces/request-download/index.d.ts} +3 -3
- package/lib/core/interfaces/request-download/monkeyecx-request-download.d.ts +10 -0
- package/lib/core/interfaces/request-download/monkeyecx-request-downloaded.d.ts +7 -0
- package/lib/core/interfaces/request-download/monkeyecx-request-item-download.d.ts +7 -0
- package/{src/lib/core/interfaces/request-queue/index.ts → lib/core/interfaces/request-queue/index.d.ts} +3 -3
- package/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.d.ts +7 -0
- package/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.d.ts +6 -0
- package/{src/lib/core/interfaces/request-queue/monkeyecx-request-queue.ts → lib/core/interfaces/request-queue/monkeyecx-request-queue.d.ts} +8 -9
- package/{src/lib/core/interfaces/request-upload/index.ts → lib/core/interfaces/request-upload/index.d.ts} +2 -2
- package/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.d.ts +5 -0
- package/lib/core/interfaces/request-upload/monkeyecx-request-upload.d.ts +10 -0
- package/{src/lib/core/interfaces/schedules/index.ts → lib/core/interfaces/schedules/index.d.ts} +1 -1
- package/lib/core/interfaces/schedules/monkeyecx-request-schedule.d.ts +13 -0
- package/{src/lib/core/model/index.ts → lib/core/model/index.d.ts} +1 -1
- package/lib/core/model/monkeyecx-model.d.ts +13 -0
- package/{src/lib/core/pipes/index.ts → lib/core/pipes/index.d.ts} +19 -19
- package/lib/core/pipes/monkeyecx-display-first-name.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-display-initials.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-format-address.d.ts +14 -0
- package/lib/core/pipes/monkeyecx-format-beautify-json.d.ts +8 -0
- package/lib/core/pipes/monkeyecx-format-currency.d.ts +11 -0
- package/lib/core/pipes/monkeyecx-format-date-group.d.ts +11 -0
- package/lib/core/pipes/monkeyecx-format-date-timelapse.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-format-date-unix-timelapse.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-format-document.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-format-number.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-format-phone.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-format-size.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-format-tax.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-format-type-document.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-format-value.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-format-zipcode.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-pipes.module.d.ts +24 -0
- package/lib/core/pipes/monkeyecx-text-truncate.d.ts +7 -0
- package/lib/core/pipes/monkeyecx-truncate-qtd.d.ts +7 -0
- package/{src/lib/core/services/auth/index.ts → lib/core/services/auth/index.d.ts} +4 -4
- package/lib/core/services/auth/monkeyecx-auth-guard-company.service.d.ts +11 -0
- package/lib/core/services/auth/monkeyecx-auth-guard-login.service.d.ts +11 -0
- package/lib/core/services/auth/monkeyecx-auth-guard.service.d.ts +11 -0
- package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +30 -0
- package/{src/lib/core/services/commons/index.ts → lib/core/services/commons/index.d.ts} +1 -1
- package/lib/core/services/commons/monkeyecx-commons.service.d.ts +124 -0
- package/lib/core/services/config/monkeyecx-alerts-config.service.d.ts +11 -0
- package/lib/core/services/config/monkeyecx-config.module.d.ts +9 -0
- package/lib/core/services/config/monkeyecx-config.service.d.ts +36 -0
- package/lib/core/services/config/monkeyecx-error-config.service.d.ts +8 -0
- package/lib/core/services/config/monkeyecx-feature-toggle.service.d.ts +16 -0
- package/lib/core/services/config/monkeyecx-ga-config.service.d.ts +10 -0
- package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +16 -0
- package/lib/core/services/config/monkeyecx-logs-config.service.d.ts +7 -0
- package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +13 -0
- package/lib/core/services/config/monkeyecx-security-console-config.service.d.ts +11 -0
- package/lib/core/services/config/monkeyecx-service-worker-config.service.d.ts +16 -0
- package/{src/lib/core/services/error/index.ts → lib/core/services/error/index.d.ts} +4 -4
- package/lib/core/services/error/monkeyecx-error-handling.module.d.ts +9 -0
- package/lib/core/services/error/monkeyecx-error-handling.service.d.ts +9 -0
- package/lib/core/services/error/monkeyecx-http-error-handling.service.d.ts +26 -0
- package/lib/core/services/error/monkeyecx-others-errors-handling.service.d.ts +9 -0
- package/{src/lib/core/services/index.ts → lib/core/services/index.d.ts} +22 -22
- package/{src/lib/core/services/logged/index.ts → lib/core/services/logged/index.d.ts} +1 -1
- package/lib/core/services/logged/monkeyecx-logged-handling.service.d.ts +14 -0
- package/lib/core/services/monkeyecx-handling.service.d.ts +22 -0
- package/lib/core/services/monkeyecx-service.service.d.ts +18 -0
- package/{src/lib/core/services/pagination/index.ts → lib/core/services/pagination/index.d.ts} +1 -1
- package/lib/core/services/pagination/monkeyecx-pagination.service.d.ts +9 -0
- package/{src/lib/core/services/request-download/index.ts → lib/core/services/request-download/index.d.ts} +2 -2
- package/lib/core/services/request-download/monkeyecx-request-download-handling.service.d.ts +18 -0
- package/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.d.ts +16 -0
- package/{src/lib/core/services/request-paged/index.ts → lib/core/services/request-paged/index.d.ts} +1 -1
- package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +11 -0
- package/{src/lib/core/services/request-queue/index.ts → lib/core/services/request-queue/index.d.ts} +2 -2
- package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +21 -0
- package/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.d.ts +23 -0
- package/{src/lib/core/services/routes/index.ts → lib/core/services/routes/index.d.ts} +1 -1
- package/lib/core/services/routes/monkeyecx-dicovery-params.service.d.ts +13 -0
- package/{src/lib/core/services/schedules/index.ts → lib/core/services/schedules/index.d.ts} +1 -1
- package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +47 -0
- package/{src/lib/core/services/storage/index.ts → lib/core/services/storage/index.d.ts} +2 -2
- package/lib/core/services/storage/monkeyecx-cookie-storage.service.d.ts +11 -0
- package/lib/core/services/storage/monkeyecx-token-storage.service.d.ts +29 -0
- package/{src/lib/core/specification-search/index.ts → lib/core/specification-search/index.d.ts} +1 -1
- package/lib/core/specification-search/monkeyecx-specification-search.d.ts +20 -0
- package/lib/core/utils/decorators-utils.d.ts +5 -0
- package/{src/lib/core/utils/index.ts → lib/core/utils/index.d.ts} +6 -8
- package/lib/core/utils/statics.d.ts +28 -0
- package/lib/core/utils/utils.d.ts +22 -0
- package/lib/core/utils/validate-utils.d.ts +66 -0
- package/lib/core/utils/validators.d.ts +29 -0
- package/lib/monkey-front-core.module.d.ts +17 -0
- package/monkey-front-core-0.0.239.tgz +0 -0
- package/monkey-front-core.d.ts +5 -0
- package/package.json +24 -4
- package/{src/public-api.ts → public-api.d.ts} +3 -6
- package/karma.conf.js +0 -44
- package/monkey-front-core-0.0.238.tgz +0 -0
- package/ng-package.json +0 -8
- package/src/lib/components/alerts/alerts.component.html +0 -18
- package/src/lib/components/alerts/alerts.component.scss +0 -71
- package/src/lib/components/alerts/alerts.component.ts +0 -36
- package/src/lib/components/alerts/alerts.module.ts +0 -12
- package/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.html +0 -25
- package/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.scss +0 -51
- package/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.ts +0 -25
- package/src/lib/components/closed-to-maintenance/closed-to-maintenance.module.ts +0 -26
- package/src/lib/components/progress-bar/progress-bar.component.html +0 -3
- package/src/lib/components/progress-bar/progress-bar.component.scss +0 -6
- package/src/lib/components/progress-bar/progress-bar.component.ts +0 -22
- package/src/lib/components/progress-bar/progress-bar.module.ts +0 -10
- package/src/lib/components/progress-bar/progress-bar.service.ts +0 -61
- package/src/lib/components/version-changed/version-changed.component.html +0 -18
- package/src/lib/components/version-changed/version-changed.component.scss +0 -52
- package/src/lib/components/version-changed/version-changed.component.ts +0 -18
- package/src/lib/components/version-changed/version-changed.module.ts +0 -24
- package/src/lib/core/decorators/monkeyecx-charts-decorators.ts +0 -46
- package/src/lib/core/decorators/monkeyecx-decorators.ts +0 -159
- package/src/lib/core/decorators/monkeyecx-download-decorators.ts +0 -39
- package/src/lib/core/decorators/monkeyecx-upload-decorators.ts +0 -39
- package/src/lib/core/directives/monkeyecx-directives-module.ts +0 -45
- package/src/lib/core/directives/monkeyecx-drag-drop.ts +0 -40
- package/src/lib/core/directives/monkeyecx-feature-by-program-directive.ts +0 -53
- package/src/lib/core/directives/monkeyecx-feature-directive.ts +0 -72
- package/src/lib/core/directives/monkeyecx-format-currency.ts +0 -44
- package/src/lib/core/directives/monkeyecx-format-upper.ts +0 -54
- package/src/lib/core/directives/monkeyecx-only-alpha-numeric-directive.ts +0 -21
- package/src/lib/core/directives/monkeyecx-only-number-directive.ts +0 -21
- package/src/lib/core/directives/monkeyecx-popover-options.directive.ts +0 -52
- package/src/lib/core/directives/monkeyecx-popover.directive.ts +0 -235
- package/src/lib/core/directives/monkeyecx-security-directive.ts +0 -68
- package/src/lib/core/directives/monkeyecx-tooltip-directive.ts +0 -131
- package/src/lib/core/interceptors/monkeyecx-http-config-error.interceptor.ts +0 -58
- package/src/lib/core/interceptors/monkeyecx-http-config-header.interceptor.ts +0 -78
- package/src/lib/core/interceptors/monkeyecx-http-config-interceptor.module.ts +0 -40
- package/src/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.ts +0 -47
- package/src/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.ts +0 -44
- package/src/lib/core/interfaces/monkeyecx-auth-credentials.ts +0 -16
- package/src/lib/core/interfaces/monkeyecx-company.ts +0 -10
- package/src/lib/core/interfaces/monkeyecx-config-boostrap.ts +0 -14
- package/src/lib/core/interfaces/monkeyecx-config.ts +0 -139
- package/src/lib/core/interfaces/monkeyecx-country-security.ts +0 -4
- package/src/lib/core/interfaces/monkeyecx-error-response.ts +0 -5
- package/src/lib/core/interfaces/monkeyecx-filter.ts +0 -26
- package/src/lib/core/interfaces/monkeyecx-handled-error-response.ts +0 -11
- package/src/lib/core/interfaces/monkeyecx-header-credentials.ts +0 -4
- package/src/lib/core/interfaces/monkeyecx-me-credentials.ts +0 -23
- package/src/lib/core/interfaces/monkeyecx-navigation.ts +0 -28
- package/src/lib/core/interfaces/monkeyecx-program.ts +0 -10
- package/src/lib/core/interfaces/monkeyecx-releases.ts +0 -9
- package/src/lib/core/interfaces/monkeyecx-request-paged.ts +0 -27
- package/src/lib/core/interfaces/monkeyecx-response-links.ts +0 -11
- package/src/lib/core/interfaces/monkeyecx-response-paged.ts +0 -6
- package/src/lib/core/interfaces/monkeyecx-saved-state.ts +0 -5
- package/src/lib/core/interfaces/monkeyecx-token-credentials.ts +0 -20
- package/src/lib/core/interfaces/monkeyecx-translate-options.ts +0 -4
- package/src/lib/core/interfaces/request-download/monkeyecx-request-download.ts +0 -11
- package/src/lib/core/interfaces/request-download/monkeyecx-request-downloaded.ts +0 -8
- package/src/lib/core/interfaces/request-download/monkeyecx-request-item-download.ts +0 -7
- package/src/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.ts +0 -7
- package/src/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.ts +0 -6
- package/src/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.ts +0 -5
- package/src/lib/core/interfaces/request-upload/monkeyecx-request-upload.ts +0 -11
- package/src/lib/core/interfaces/schedules/monkeyecx-request-schedule.ts +0 -14
- package/src/lib/core/model/monkeyecx-model.ts +0 -38
- package/src/lib/core/pipes/monkeyecx-display-first-name.ts +0 -12
- package/src/lib/core/pipes/monkeyecx-display-initials.ts +0 -14
- package/src/lib/core/pipes/monkeyecx-display-support-phone.ts +0 -31
- package/src/lib/core/pipes/monkeyecx-format-address.ts +0 -27
- package/src/lib/core/pipes/monkeyecx-format-beautify-json.ts +0 -35
- package/src/lib/core/pipes/monkeyecx-format-currency.ts +0 -20
- package/src/lib/core/pipes/monkeyecx-format-date-group.ts +0 -40
- package/src/lib/core/pipes/monkeyecx-format-date-timelapse.ts +0 -25
- package/src/lib/core/pipes/monkeyecx-format-date-unix-timelapse.ts +0 -31
- package/src/lib/core/pipes/monkeyecx-format-document.ts +0 -12
- package/src/lib/core/pipes/monkeyecx-format-number.ts +0 -14
- package/src/lib/core/pipes/monkeyecx-format-phone.ts +0 -32
- package/src/lib/core/pipes/monkeyecx-format-size.ts +0 -13
- package/src/lib/core/pipes/monkeyecx-format-tax.ts +0 -16
- package/src/lib/core/pipes/monkeyecx-format-type-document.ts +0 -12
- package/src/lib/core/pipes/monkeyecx-format-value.ts +0 -12
- package/src/lib/core/pipes/monkeyecx-format-zipcode.ts +0 -12
- package/src/lib/core/pipes/monkeyecx-pipes.module.ts +0 -65
- package/src/lib/core/pipes/monkeyecx-text-truncate.ts +0 -17
- package/src/lib/core/pipes/monkeyecx-truncate-qtd.ts +0 -10
- package/src/lib/core/services/auth/monkeyecx-auth-guard-company.service.ts +0 -27
- package/src/lib/core/services/auth/monkeyecx-auth-guard-login.service.ts +0 -23
- package/src/lib/core/services/auth/monkeyecx-auth-guard.service.ts +0 -25
- package/src/lib/core/services/auth/monkeyecx-authentication.service.ts +0 -87
- package/src/lib/core/services/commons/monkeyecx-commons.service.ts +0 -557
- package/src/lib/core/services/config/index.ts +0 -9
- package/src/lib/core/services/config/monkeyecx-alerts-config.service.ts +0 -37
- package/src/lib/core/services/config/monkeyecx-config.module.ts +0 -23
- package/src/lib/core/services/config/monkeyecx-config.service.ts +0 -151
- package/src/lib/core/services/config/monkeyecx-error-config.service.ts +0 -92
- package/src/lib/core/services/config/monkeyecx-feature-toggle.service.ts +0 -71
- package/src/lib/core/services/config/monkeyecx-ga-config.service.ts +0 -56
- package/src/lib/core/services/config/monkeyecx-i18n-config.service.ts +0 -95
- package/src/lib/core/services/config/monkeyecx-logs-config.service.ts +0 -34
- package/src/lib/core/services/config/monkeyecx-maintenance-config.service.ts +0 -33
- package/src/lib/core/services/config/monkeyecx-security-console-config.service.ts +0 -40
- package/src/lib/core/services/config/monkeyecx-service-worker-config.service.ts +0 -50
- package/src/lib/core/services/error/monkeyecx-error-handling.module.ts +0 -20
- package/src/lib/core/services/error/monkeyecx-error-handling.service.ts +0 -33
- package/src/lib/core/services/error/monkeyecx-http-error-handling.service.ts +0 -160
- package/src/lib/core/services/error/monkeyecx-others-errors-handling.service.ts +0 -24
- package/src/lib/core/services/logged/monkeyecx-logged-handling.service.ts +0 -42
- package/src/lib/core/services/monkeyecx-handling.service.ts +0 -58
- package/src/lib/core/services/monkeyecx-service.service.ts +0 -116
- package/src/lib/core/services/pagination/monkeyecx-pagination.service.ts +0 -27
- package/src/lib/core/services/request-download/monkeyecx-request-download-handling.service.ts +0 -100
- package/src/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.ts +0 -65
- package/src/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.ts +0 -58
- package/src/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.ts +0 -125
- package/src/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.ts +0 -136
- package/src/lib/core/services/routes/monkeyecx-dicovery-params.service.ts +0 -54
- package/src/lib/core/services/schedules/monkeyecx-request-schedule.service.ts +0 -224
- package/src/lib/core/services/storage/monkeyecx-cookie-storage.service.ts +0 -28
- package/src/lib/core/services/storage/monkeyecx-token-storage.service.ts +0 -151
- package/src/lib/core/specification-search/monkeyecx-specification-search.ts +0 -111
- package/src/lib/core/utils/decorators-utils.ts +0 -56
- package/src/lib/core/utils/statics.ts +0 -36
- package/src/lib/core/utils/utils.ts +0 -237
- package/src/lib/core/utils/validate-utils.ts +0 -221
- package/src/lib/core/utils/validators.ts +0 -251
- package/src/lib/monkey-front-core.module.ts +0 -37
- package/src/test.ts +0 -26
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
|
@@ -0,0 +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
|
+
}
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNwZWNpZmljYXRpb24tc2VhcmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NwZWNpZmljYXRpb24tc2VhcmNoL21vbmtleWVjeC1zcGVjaWZpY2F0aW9uLXNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE1BQU0sQ0FBTixJQUFZLFFBVVg7QUFWRCxXQUFZLFFBQVE7SUFDbEIsOEJBQWtCLENBQUE7SUFDbEIsd0NBQTRCLENBQUE7SUFDNUIscUJBQVMsQ0FBQTtJQUNULHVCQUFXLENBQUE7SUFDWCwwQkFBYyxDQUFBO0lBQ2QsMEJBQWMsQ0FBQTtJQUNkLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDRCQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFWVyxRQUFRLEtBQVIsUUFBUSxRQVVuQjtBQUVELE1BQU0sT0FBTyw0QkFBNEI7SUFDdkM7UUFDRSxZQUFZO0lBQ2QsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFVO1FBQzVCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksR0FBRyxLQUFLLFFBQVEsQ0FBQyxPQUFPLEVBQUU7b0JBQzVCLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FB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QUFJLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1lBRTVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUU7Z0JBQzlELElBQUksQ0FBQyxNQUFNO29CQUFFLE9BQU8sSUFBSSxDQUFDO2dCQUN6QixPQUFPO29CQUNMLENBQUMsS0FBSyxDQUFDLEVBQUU7d0JBQ1AsQ0FBQyxFQUFFLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFO3FCQUNwRDtpQkFDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sT0FBTyxJQUFJLEVBQUUsQ0FBQztTQUN0QjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxLQUFhLEVBQUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUs7UUFDNUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNDLE9BQU87Z0JBQ0wsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDUCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7aUJBQ1I7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5cbmV4cG9ydCBlbnVtIE9wU2VhcmNoIHtcbiAgTElLRSA9ICc6Kjp2YWx1ZSonLFxuICBCRVRXRUVOID0gJzpmaXJzdCBBTkQgOmxhc3QnLFxuICBPUiA9ICdPUicsXG4gIEFORCA9ICdBTkQnLFxuICBHVCA9ICc+OnZhbHVlJyxcbiAgTFQgPSAnPDp2YWx1ZScsXG4gIEVRVUFMID0gJzo6dmFsdWUnLFxuICBJTiA9ICcgSU4gOnZhbHVlJyxcbiAgTk9UID0gJyAhOnZhbHVlJ1xufVxuXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4U3BlY2lmaWNhdGlvblNlYXJjaCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHZhbHVlKS5tYXAoKFtrZXksIHZhbHVlMV0pID0+IHtcbiAgICAgIGlmICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZTEpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUxKSkge1xuICAgICAgICBpZiAoa2V5ID09PSBPcFNlYXJjaC5CRVRXRUVOKSB7XG4gICAgICAgICAgcmV0dXJuIGAke2tleX1gLnJlcGxhY2UoJzpmaXJzdCcsIHZhbHVlMVswXSkucmVwbGFjZSgnOmxhc3QnLCB2YWx1ZTFbMV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYCR7a2V5fWAucmVwbGFjZSgnOnZhbHVlJywgYCR7dmFsdWUxfWApO1xuICAgIH0pWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBxdWVyeVZpc2l0b3IodmFsdWU6IGFueSk6IGFueSB7XG4gICAgY29uc3Qgb2theSA9IE9iamVjdC5lbnRyaWVzKHZhbHVlKS5tYXAoKFtrZXkxLCB2YWx1ZTFdKSA9PiB7XG4gICAgICBpZiAoa2V5MSA9PT0gT3BTZWFyY2guT1IgfHwga2V5MSA9PT0gT3BTZWFyY2guQU5EKSB7XG4gICAgICAgIGNvbnN0IGpvaW4gPSAodmFsdWUxIGFzIGFueVtdKVxuICAgICAgICAgIC5tYXAoKF86IGFueSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKF8pLm1hcCgoW2tleTIsIHZhbHVlMl0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKHZhbHVlMiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICAgICAgICAgIHZhbHVlMiA9IHRoaXMuaGFuZGxlVmFsdWUodmFsdWUyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcml0ZXJpYVBhcnNlcihrZXkyLCB2YWx1ZTIpO1xuICAgICAgICAgICAgfSlbMF07XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKChfOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBfO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmpvaW4oYCAke2tleTF9IGApO1xuICAgICAgICByZXR1cm4gYCR7am9pbiA/IGAoJHtqb2lufSlgIDogJyd9YDtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZTEgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgdmFsdWUxID0gdGhpcy5oYW5kbGVWYWx1ZSh2YWx1ZTEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY3JpdGVyaWFQYXJzZXIoa2V5MSwgdmFsdWUxKTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2theVxuICAgICAgLmZpbHRlcigoXzogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBfO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcgQU5EICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcml0ZXJpYVBhcnNlcihrZXk6IHN0cmluZywgdmFsdWU6IGFueSB8IGFueVtdKSB7XG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5VmlzaXRvcih2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBgJHtrZXl9JHt2YWx1ZX1gO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkKHNwZWM6IGFueSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5VmlzaXRvcihzcGVjKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vbmtleUVjeFNwZWNpZmljYXRpb25TZWFyY2ggRXJyb3IgJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBidWlsZE1vcmVUaGFuT25lKGZpZWxkOiBzdHJpbmcsIG9wID0gT3BTZWFyY2guRVFVQUwsIGFkZFNpbmdsZVF1b3RlcyA9IGZhbHNlKSB7XG4gICAgY29uc3Qgc2VsZjogYW55ID0gdGhpcztcbiAgICB0cnkge1xuICAgICAgaWYgKCFzZWxmW2ZpZWxkXSkgcmV0dXJuIFtdO1xuXG4gICAgICBjb25zdCBmaWx0ZXJzID0gc2VsZltmaWVsZF0/LnNwbGl0KCcsJyk/Lm1hcCgoZmlsdGVyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKCFmaWx0ZXIpIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFtmaWVsZF06IHtcbiAgICAgICAgICAgIFtvcF06IGFkZFNpbmdsZVF1b3RlcyA/IGAnJHtmaWx0ZXJ9J2AgOiBgJHtmaWx0ZXJ9YFxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH0pLmZpbHRlcigodmFsOiBhbnkpID0+IHsgcmV0dXJuIHZhbDsgfSk7XG4gICAgICByZXR1cm4gZmlsdGVycyB8fCBbXTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vbmtleUVjeFNwZWNpZmljYXRpb25TZWFyY2ggRXJyb3IgJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVGaWVsZFNlcGFyYXRlZEJ5KGZpZWxkOiBzdHJpbmcsIHNpZ25hbCA9ICcsJywgb3AgPSBPcFNlYXJjaC5FUVVBTCkge1xuICAgIHJldHVybiB0aGlzW2ZpZWxkXT8uc3BsaXQoc2lnbmFsKT8ubWFwKChfKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBbZmllbGRdOiB7XG4gICAgICAgICAgW29wXTogX1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as Statics from './statics';
|
|
2
|
+
import { MonkeyEcxUtils } from './utils';
|
|
3
|
+
export function buildQueuePropertys(queue) {
|
|
4
|
+
const params = {
|
|
5
|
+
item: {
|
|
6
|
+
...queue,
|
|
7
|
+
id: MonkeyEcxUtils.getRandomString(40)
|
|
8
|
+
},
|
|
9
|
+
status: Statics.MonkeyEcxQueueEvents.OnGoing
|
|
10
|
+
};
|
|
11
|
+
return params;
|
|
12
|
+
}
|
|
13
|
+
export function buildDownloadPropertys(name, description, size) {
|
|
14
|
+
const params = {
|
|
15
|
+
item: {
|
|
16
|
+
name,
|
|
17
|
+
description,
|
|
18
|
+
id: `${MonkeyEcxUtils.getRandomString(40)}`,
|
|
19
|
+
size,
|
|
20
|
+
createdAt: new Date()
|
|
21
|
+
},
|
|
22
|
+
status: Statics.MonkeyEcxQueueEvents.OnGoing
|
|
23
|
+
};
|
|
24
|
+
return params;
|
|
25
|
+
}
|
|
26
|
+
export function buildUploadPropertys(name, description) {
|
|
27
|
+
const params = {
|
|
28
|
+
item: {
|
|
29
|
+
name,
|
|
30
|
+
description,
|
|
31
|
+
id: `${MonkeyEcxUtils.getRandomString(40)}`
|
|
32
|
+
},
|
|
33
|
+
status: Statics.MonkeyEcxUploadEvents.OnGoing
|
|
34
|
+
};
|
|
35
|
+
return params;
|
|
36
|
+
}
|
|
37
|
+
export function hasMonkeyEcxServiceAndHandlingProperties(context) {
|
|
38
|
+
return Object.prototype.hasOwnProperty.call(context, 'monkeyecxService');
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS91dGlscy9kZWNvcmF0b3JzLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sS0FBSyxPQUFPLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEtBQWdDO0lBQ2xFLE1BQU0sTUFBTSxHQUEwQjtRQUNwQyxJQUFJLEVBQUU7WUFDSixHQUFHLEtBQUs7WUFDUixFQUFFLEVBQUUsY0FBYyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7U0FDdkM7UUFDRCxNQUFNLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixDQUFDLE9BQU87S0FDN0MsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLElBQVksRUFDWixXQUFvQixFQUNwQixJQUFhO0lBRWIsTUFBTSxNQUFNLEdBQTZCO1FBQ3ZDLElBQUksRUFBRTtZQUNKLElBQUk7WUFDSixXQUFXO1lBQ1gsRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMzQyxJQUFJO1lBQ0osU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFO1NBQ3RCO1FBQ0QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPO0tBQzdDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQVksRUFBRSxXQUFvQjtJQUNyRSxNQUFNLE1BQU0sR0FBMkI7UUFDckMsSUFBSSxFQUFFO1lBQ0osSUFBSTtZQUNKLFdBQVc7WUFDWCxFQUFFLEVBQUUsR0FBRyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1NBQzVDO1FBQ0QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPO0tBQzlDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLHdDQUF3QyxDQUFDLE9BQVk7SUFDbkUsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vbmtleUVjeFJlcXVlc3REb3dubG9hZCxcbiAgTW9ua2V5RWN4UmVxdWVzdEl0ZW1RdWV1ZSxcbiAgTW9ua2V5RWN4UmVxdWVzdFF1ZXVlLFxuICBNb25rZXlFY3hSZXF1ZXN0VXBsb2FkXG59IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgU3RhdGljcyBmcm9tICcuL3N0YXRpY3MnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUXVldWVQcm9wZXJ0eXMocXVldWU6IE1vbmtleUVjeFJlcXVlc3RJdGVtUXVldWUpOiBNb25rZXlFY3hSZXF1ZXN0UXVldWUge1xuICBjb25zdCBwYXJhbXM6IE1vbmtleUVjeFJlcXVlc3RRdWV1ZSA9IHtcbiAgICBpdGVtOiB7XG4gICAgICAuLi5xdWV1ZSxcbiAgICAgIGlkOiBNb25rZXlFY3hVdGlscy5nZXRSYW5kb21TdHJpbmcoNDApXG4gICAgfSxcbiAgICBzdGF0dXM6IFN0YXRpY3MuTW9ua2V5RWN4UXVldWVFdmVudHMuT25Hb2luZ1xuICB9O1xuXG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZERvd25sb2FkUHJvcGVydHlzKFxuICBuYW1lOiBzdHJpbmcsXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nLFxuICBzaXplPzogbnVtYmVyXG4pOiBNb25rZXlFY3hSZXF1ZXN0RG93bmxvYWQge1xuICBjb25zdCBwYXJhbXM6IE1vbmtleUVjeFJlcXVlc3REb3dubG9hZCA9IHtcbiAgICBpdGVtOiB7XG4gICAgICBuYW1lLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBpZDogYCR7TW9ua2V5RWN4VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDQwKX1gLFxuICAgICAgc2l6ZSxcbiAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKVxuICAgIH0sXG4gICAgc3RhdHVzOiBTdGF0aWNzLk1vbmtleUVjeFF1ZXVlRXZlbnRzLk9uR29pbmdcbiAgfTtcblxuICByZXR1cm4gcGFyYW1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRVcGxvYWRQcm9wZXJ0eXMobmFtZTogc3RyaW5nLCBkZXNjcmlwdGlvbj86IHN0cmluZyk6IE1vbmtleUVjeFJlcXVlc3RVcGxvYWQge1xuICBjb25zdCBwYXJhbXM6IE1vbmtleUVjeFJlcXVlc3RVcGxvYWQgPSB7XG4gICAgaXRlbToge1xuICAgICAgbmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgaWQ6IGAke01vbmtleUVjeFV0aWxzLmdldFJhbmRvbVN0cmluZyg0MCl9YFxuICAgIH0sXG4gICAgc3RhdHVzOiBTdGF0aWNzLk1vbmtleUVjeFVwbG9hZEV2ZW50cy5PbkdvaW5nXG4gIH07XG5cbiAgcmV0dXJuIHBhcmFtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc01vbmtleUVjeFNlcnZpY2VBbmRIYW5kbGluZ1Byb3BlcnRpZXMoY29udGV4dDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoY29udGV4dCwgJ21vbmtleWVjeFNlcnZpY2UnKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/* eslint-disable object-curly-newline */
|
|
2
|
+
import { MonkeyEcxUtils } from './utils';
|
|
3
|
+
import * as ValidateUtils from './validate-utils';
|
|
4
|
+
import * as DecoratorsUtils from './decorators-utils';
|
|
5
|
+
import * as Statics from './statics';
|
|
6
|
+
export { MonkeyEcxUtils, ValidateUtils, DecoratorsUtils, Statics };
|
|
7
|
+
export * from './validators';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssZUFBZSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxPQUFPLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUNuRSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG9iamVjdC1jdXJseS1uZXdsaW5lICovXG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgVmFsaWRhdGVVdGlscyBmcm9tICcuL3ZhbGlkYXRlLXV0aWxzJztcbmltcG9ydCAqIGFzIERlY29yYXRvcnNVdGlscyBmcm9tICcuL2RlY29yYXRvcnMtdXRpbHMnO1xuaW1wb3J0ICogYXMgU3RhdGljcyBmcm9tICcuL3N0YXRpY3MnO1xuXG5leHBvcnQgeyBNb25rZXlFY3hVdGlscywgVmFsaWRhdGVVdGlscywgRGVjb3JhdG9yc1V0aWxzLCBTdGF0aWNzIH07XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvcnMnO1xuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
/* eslint-disable no-shadow */
|
|
3
|
+
export var MonkeyEcxQueueEvents;
|
|
4
|
+
(function (MonkeyEcxQueueEvents) {
|
|
5
|
+
MonkeyEcxQueueEvents[MonkeyEcxQueueEvents["OnGoing"] = 0] = "OnGoing";
|
|
6
|
+
MonkeyEcxQueueEvents[MonkeyEcxQueueEvents["Finished"] = 1] = "Finished";
|
|
7
|
+
MonkeyEcxQueueEvents[MonkeyEcxQueueEvents["FinishedWithError"] = 2] = "FinishedWithError";
|
|
8
|
+
})(MonkeyEcxQueueEvents || (MonkeyEcxQueueEvents = {}));
|
|
9
|
+
export var MonkeyEcxDownloadEvents;
|
|
10
|
+
(function (MonkeyEcxDownloadEvents) {
|
|
11
|
+
MonkeyEcxDownloadEvents[MonkeyEcxDownloadEvents["OnGoing"] = 0] = "OnGoing";
|
|
12
|
+
MonkeyEcxDownloadEvents[MonkeyEcxDownloadEvents["Finished"] = 1] = "Finished";
|
|
13
|
+
MonkeyEcxDownloadEvents[MonkeyEcxDownloadEvents["FinishedWithError"] = 2] = "FinishedWithError";
|
|
14
|
+
})(MonkeyEcxDownloadEvents || (MonkeyEcxDownloadEvents = {}));
|
|
15
|
+
export var MonkeyEcxUploadEvents;
|
|
16
|
+
(function (MonkeyEcxUploadEvents) {
|
|
17
|
+
MonkeyEcxUploadEvents[MonkeyEcxUploadEvents["OnGoing"] = 0] = "OnGoing";
|
|
18
|
+
MonkeyEcxUploadEvents[MonkeyEcxUploadEvents["Finished"] = 1] = "Finished";
|
|
19
|
+
MonkeyEcxUploadEvents[MonkeyEcxUploadEvents["FinishedWithError"] = 2] = "FinishedWithError";
|
|
20
|
+
})(MonkeyEcxUploadEvents || (MonkeyEcxUploadEvents = {}));
|
|
21
|
+
// TODO pegar do json de config
|
|
22
|
+
export var ApiEndPointsTokenNotMandatory;
|
|
23
|
+
(function (ApiEndPointsTokenNotMandatory) {
|
|
24
|
+
ApiEndPointsTokenNotMandatory["Assets"] = "assets/";
|
|
25
|
+
ApiEndPointsTokenNotMandatory["MonkeyEcx"] = "/monkeyecx";
|
|
26
|
+
ApiEndPointsTokenNotMandatory["ViaCep"] = "viacep.com.br/";
|
|
27
|
+
})(ApiEndPointsTokenNotMandatory || (ApiEndPointsTokenNotMandatory = {}));
|
|
28
|
+
// TODO pegar do json de config
|
|
29
|
+
export var ApiEndPointsHeaderNotMandatory;
|
|
30
|
+
(function (ApiEndPointsHeaderNotMandatory) {
|
|
31
|
+
ApiEndPointsHeaderNotMandatory["Assets"] = "/assets";
|
|
32
|
+
ApiEndPointsHeaderNotMandatory["PayablesUpload"] = "payables-upload";
|
|
33
|
+
ApiEndPointsHeaderNotMandatory["PictureUser"] = "/user-pictures";
|
|
34
|
+
ApiEndPointsHeaderNotMandatory["Documents"] = "documents/";
|
|
35
|
+
ApiEndPointsHeaderNotMandatory["BuyerTaxFile"] = "/buyer-tax-file";
|
|
36
|
+
ApiEndPointsHeaderNotMandatory["ViaCep"] = "viacep.com.br/";
|
|
37
|
+
})(ApiEndPointsHeaderNotMandatory || (ApiEndPointsHeaderNotMandatory = {}));
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS91dGlscy9zdGF0aWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1DQUFtQztBQUNuQyw4QkFBOEI7QUFDOUIsTUFBTSxDQUFOLElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM5QixxRUFBTyxDQUFBO0lBQ1AsdUVBQVEsQ0FBQTtJQUNSLHlGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSS9CO0FBRUQsTUFBTSxDQUFOLElBQVksdUJBSVg7QUFKRCxXQUFZLHVCQUF1QjtJQUNqQywyRUFBTyxDQUFBO0lBQ1AsNkVBQVEsQ0FBQTtJQUNSLCtGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBSWxDO0FBRUQsTUFBTSxDQUFOLElBQVkscUJBSVg7QUFKRCxXQUFZLHFCQUFxQjtJQUMvQix1RUFBTyxDQUFBO0lBQ1AseUVBQVEsQ0FBQTtJQUNSLDJGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBSWhDO0FBRUQsK0JBQStCO0FBQy9CLE1BQU0sQ0FBTixJQUFZLDZCQUlYO0FBSkQsV0FBWSw2QkFBNkI7SUFDdkMsbURBQWtCLENBQUE7SUFDbEIseURBQXdCLENBQUE7SUFDeEIsMERBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLDZCQUE2QixLQUE3Qiw2QkFBNkIsUUFJeEM7QUFFRCwrQkFBK0I7QUFDL0IsTUFBTSxDQUFOLElBQVksOEJBT1g7QUFQRCxXQUFZLDhCQUE4QjtJQUN4QyxvREFBa0IsQ0FBQTtJQUNsQixvRUFBa0MsQ0FBQTtJQUNsQyxnRUFBOEIsQ0FBQTtJQUM5QiwwREFBd0IsQ0FBQTtJQUN4QixrRUFBZ0MsQ0FBQTtJQUNoQywyREFBeUIsQ0FBQTtBQUMzQixDQUFDLEVBUFcsOEJBQThCLEtBQTlCLDhCQUE4QixRQU96QyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1zaGFkb3cgKi9cbmV4cG9ydCBlbnVtIE1vbmtleUVjeFF1ZXVlRXZlbnRzIHtcbiAgT25Hb2luZyxcbiAgRmluaXNoZWQsXG4gIEZpbmlzaGVkV2l0aEVycm9yXG59XG5cbmV4cG9ydCBlbnVtIE1vbmtleUVjeERvd25sb2FkRXZlbnRzIHtcbiAgT25Hb2luZyxcbiAgRmluaXNoZWQsXG4gIEZpbmlzaGVkV2l0aEVycm9yXG59XG5cbmV4cG9ydCBlbnVtIE1vbmtleUVjeFVwbG9hZEV2ZW50cyB7XG4gIE9uR29pbmcsXG4gIEZpbmlzaGVkLFxuICBGaW5pc2hlZFdpdGhFcnJvclxufVxuXG4vLyBUT0RPIHBlZ2FyIGRvIGpzb24gZGUgY29uZmlnXG5leHBvcnQgZW51bSBBcGlFbmRQb2ludHNUb2tlbk5vdE1hbmRhdG9yeSB7XG4gIEFzc2V0cyA9ICdhc3NldHMvJyxcbiAgTW9ua2V5RWN4ID0gJy9tb25rZXllY3gnLFxuICBWaWFDZXAgPSAndmlhY2VwLmNvbS5ici8nXG59XG5cbi8vIFRPRE8gcGVnYXIgZG8ganNvbiBkZSBjb25maWdcbmV4cG9ydCBlbnVtIEFwaUVuZFBvaW50c0hlYWRlck5vdE1hbmRhdG9yeSB7XG4gIEFzc2V0cyA9ICcvYXNzZXRzJyxcbiAgUGF5YWJsZXNVcGxvYWQgPSAncGF5YWJsZXMtdXBsb2FkJyxcbiAgUGljdHVyZVVzZXIgPSAnL3VzZXItcGljdHVyZXMnLFxuICBEb2N1bWVudHMgPSAnZG9jdW1lbnRzLycsXG4gIEJ1eWVyVGF4RmlsZSA9ICcvYnV5ZXItdGF4LWZpbGUnLFxuICBWaWFDZXAgPSAndmlhY2VwLmNvbS5ici8nXG59XG4iXX0=
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/* eslint-disable comma-dangle */
|
|
2
|
+
/* eslint-disable max-len */
|
|
3
|
+
/* eslint-disable no-useless-escape */
|
|
4
|
+
/* eslint-disable no-plusplus */
|
|
5
|
+
/* eslint-disable no-cond-assign */
|
|
6
|
+
/* eslint-disable eqeqeq */
|
|
7
|
+
/* eslint-disable no-redeclare */
|
|
8
|
+
/* eslint-disable vars-on-top */
|
|
9
|
+
/* eslint-disable no-var */
|
|
10
|
+
/* eslint-disable block-scoped-var */
|
|
11
|
+
export class MonkeyEcxUtils {
|
|
12
|
+
static persistNullEmptyUndefined(tp) {
|
|
13
|
+
return tp !== null && tp !== undefined && tp !== '';
|
|
14
|
+
}
|
|
15
|
+
static getDocumentType(doc, country) {
|
|
16
|
+
if (!doc)
|
|
17
|
+
return '';
|
|
18
|
+
if (country === 'cl')
|
|
19
|
+
return 'RUT';
|
|
20
|
+
return doc.length <= 11 ? 'CPF' : 'CNPJ';
|
|
21
|
+
}
|
|
22
|
+
static getDocumentMask(type) {
|
|
23
|
+
if (type === 'CPF')
|
|
24
|
+
return '000.000.000-00';
|
|
25
|
+
return '00.000.000/0000-00';
|
|
26
|
+
}
|
|
27
|
+
static formatDocumentWithMask(doc, withType, country) {
|
|
28
|
+
if (!doc)
|
|
29
|
+
return doc;
|
|
30
|
+
let formated = '';
|
|
31
|
+
if (country === 'cl') {
|
|
32
|
+
formated = doc.replace(/^(\d{1,2})(\d{3})(\d{3})(\w{1})$/, '$1.$2.$3-$4');
|
|
33
|
+
return `${formated}`;
|
|
34
|
+
}
|
|
35
|
+
if (doc.length === 14) {
|
|
36
|
+
formated = doc
|
|
37
|
+
.replace(/^(\d{2})(\d)/, '$1.$2')
|
|
38
|
+
.replace(/^(\d{2})\.(\d{3})(\d)/, '$1.$2.$3')
|
|
39
|
+
.replace(/\.(\d{3})(\d)/, '.$1/$2')
|
|
40
|
+
.replace(/(\d{4})(\d)/, '$1-$2');
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
formated = doc
|
|
44
|
+
.replace(/^(\d{3})(\d)/, '$1.$2')
|
|
45
|
+
.replace(/^(\d{3})\.(\d{3})(\d)/, '$1.$2.$3')
|
|
46
|
+
.replace(/\.(\d{3})(\d)/, '.$1-$2');
|
|
47
|
+
}
|
|
48
|
+
return `${withType ? `${this.getDocumentType(doc)}:` : ''} ${formated}`;
|
|
49
|
+
}
|
|
50
|
+
static cutFirstLastName(value, tp = 'first') {
|
|
51
|
+
const split = value?.trim()?.split(' ');
|
|
52
|
+
if (tp === 'first')
|
|
53
|
+
return split[0];
|
|
54
|
+
return split?.splice(1, split.length)?.join(' ');
|
|
55
|
+
}
|
|
56
|
+
static isCPFCNPJValid(document) {
|
|
57
|
+
document = document.replace(/[^\d]/g, '');
|
|
58
|
+
const handled = document.replace(new RegExp(document.charAt(0), 'g'), '');
|
|
59
|
+
if (!handled)
|
|
60
|
+
return false;
|
|
61
|
+
if (document.length === 11) {
|
|
62
|
+
let base = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];
|
|
63
|
+
for (var i = 0, n = 0; i < 9; n += document[i] * base[i++])
|
|
64
|
+
;
|
|
65
|
+
if (document[9] != ((n %= 11) <= 1 ? 0 : 11 - n)) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
base = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];
|
|
69
|
+
for (var i = 0, n = 0; i <= 9; n += document[i] * base[i++])
|
|
70
|
+
;
|
|
71
|
+
if (document[10] != ((n %= 11) <= 1 ? 0 : 11 - n)) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
if (document.length === 14 || /0{14}/.test(document)) {
|
|
77
|
+
const base = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
|
|
78
|
+
for (var i = 0, n = 0; i < 12; n += document[i] * base[++i])
|
|
79
|
+
;
|
|
80
|
+
if (document[12] != ((n %= 11) < 2 ? 0 : 11 - n)) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
for (var i = 0, n = 0; i <= 12; n += document[i] * base[i++])
|
|
84
|
+
;
|
|
85
|
+
if (document[13] != ((n %= 11) < 2 ? 0 : 11 - n)) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
static isValidRUT(document) {
|
|
93
|
+
if (!document || document.trim().length < 3)
|
|
94
|
+
return false;
|
|
95
|
+
const documentHandled = document.replace(/[^0-9kK]/g, '');
|
|
96
|
+
if (documentHandled.length < 3)
|
|
97
|
+
return false;
|
|
98
|
+
const calcDv = (rut) => {
|
|
99
|
+
const value = `${rut}`;
|
|
100
|
+
let sum = 0;
|
|
101
|
+
let mult = 2;
|
|
102
|
+
for (let i = 1; i <= value.length; i++) {
|
|
103
|
+
const index = mult * Number(value.charAt(value.length - i));
|
|
104
|
+
sum += index;
|
|
105
|
+
if (mult < 7) {
|
|
106
|
+
mult += 1;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
mult = 2;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const dvEsperado = 11 - (sum % 11);
|
|
113
|
+
if (dvEsperado === 10)
|
|
114
|
+
return 'K';
|
|
115
|
+
if (dvEsperado === 11)
|
|
116
|
+
return '0';
|
|
117
|
+
return `${dvEsperado}`;
|
|
118
|
+
};
|
|
119
|
+
const num = documentHandled.slice(0, -1);
|
|
120
|
+
const dgv = documentHandled.slice(-1).toUpperCase();
|
|
121
|
+
const dvCalc = calcDv(num);
|
|
122
|
+
return dvCalc === dgv;
|
|
123
|
+
}
|
|
124
|
+
static isValidUrl(txt) {
|
|
125
|
+
const regex = new RegExp(/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)+[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,10}(:[0-9]{1,5})?(\/.*)?$/gm);
|
|
126
|
+
return regex.test(txt);
|
|
127
|
+
}
|
|
128
|
+
static isValidZipCode(zipCode) {
|
|
129
|
+
return `${this.handleOnlyNumbers(zipCode)}`.length === 8;
|
|
130
|
+
}
|
|
131
|
+
static getRandomString(len, charSet) {
|
|
132
|
+
charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
133
|
+
const randomString = new Array(len)
|
|
134
|
+
.fill('1')
|
|
135
|
+
.map(() => {
|
|
136
|
+
return charSet?.charAt(Math.floor(Math.random() * charSet?.length));
|
|
137
|
+
})
|
|
138
|
+
.join('');
|
|
139
|
+
return randomString;
|
|
140
|
+
}
|
|
141
|
+
static handleOnlyNumbers(value) {
|
|
142
|
+
if (!value)
|
|
143
|
+
return null;
|
|
144
|
+
return value.replace(new RegExp(/[^0-9]/g), '');
|
|
145
|
+
}
|
|
146
|
+
static handleOnlyAlphaNumeric(value) {
|
|
147
|
+
if (!value)
|
|
148
|
+
return '';
|
|
149
|
+
return value.replace(new RegExp(/[^0-9A-Za-z]/, 'g'), '');
|
|
150
|
+
}
|
|
151
|
+
static capitalize(value) {
|
|
152
|
+
return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;
|
|
153
|
+
}
|
|
154
|
+
static formatZipCode(zipCode) {
|
|
155
|
+
if (!zipCode)
|
|
156
|
+
return zipCode;
|
|
157
|
+
const formated = zipCode
|
|
158
|
+
.replace(/^(\d{5})(\d)/, '$1-$2')
|
|
159
|
+
.replace(/\.(\d{3})(\d)/, '.$1-$2');
|
|
160
|
+
return `${formated}`;
|
|
161
|
+
}
|
|
162
|
+
static formatFileSize(size) {
|
|
163
|
+
const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
164
|
+
let l = 0;
|
|
165
|
+
while (size >= 1024 && ++l) {
|
|
166
|
+
size /= 1024;
|
|
167
|
+
}
|
|
168
|
+
return `${size.toFixed(size < 10 && l > 0 ? 1 : 0)} ${units[l]}`;
|
|
169
|
+
}
|
|
170
|
+
static sufflue(data) {
|
|
171
|
+
for (let i = data.length - 1; i > 0; i--) {
|
|
172
|
+
const j = Math.floor(Math.random() * i);
|
|
173
|
+
const temp = data[i];
|
|
174
|
+
data[i] = data[j];
|
|
175
|
+
data[j] = temp;
|
|
176
|
+
}
|
|
177
|
+
return data;
|
|
178
|
+
}
|
|
179
|
+
static handleBlobFile(theBlob, fileName, fileType) {
|
|
180
|
+
function blobToFile(theBlob, fileName) {
|
|
181
|
+
const b = theBlob;
|
|
182
|
+
b.lastModifiedDate = new Date();
|
|
183
|
+
b.name = fileName;
|
|
184
|
+
return b;
|
|
185
|
+
}
|
|
186
|
+
let file;
|
|
187
|
+
if (!navigator.msSaveBlob) {
|
|
188
|
+
file = new File([theBlob], fileName, {
|
|
189
|
+
type: fileType,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
file = new Blob([theBlob], {
|
|
194
|
+
type: fileType,
|
|
195
|
+
});
|
|
196
|
+
file = blobToFile(file, fileName);
|
|
197
|
+
}
|
|
198
|
+
return file;
|
|
199
|
+
}
|
|
200
|
+
static truncate(text, maxLength = 25) {
|
|
201
|
+
const midChar = '...';
|
|
202
|
+
if (!text)
|
|
203
|
+
return midChar;
|
|
204
|
+
if (text && text.length <= maxLength)
|
|
205
|
+
return text;
|
|
206
|
+
const left = Math.ceil(maxLength / 2);
|
|
207
|
+
const right = text.length - left + 1;
|
|
208
|
+
return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;
|
|
209
|
+
}
|
|
210
|
+
static isLocalhost() {
|
|
211
|
+
const { href } = window?.location;
|
|
212
|
+
if (!href)
|
|
213
|
+
return false;
|
|
214
|
+
return href?.search('localhost') >= 0;
|
|
215
|
+
}
|
|
216
|
+
static isSameOrigin(frontend) {
|
|
217
|
+
const initialPath = window.location.origin;
|
|
218
|
+
return (initialPath || '') === frontend;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLDRCQUE0QjtBQUM1QixzQ0FBc0M7QUFDdEMsZ0NBQWdDO0FBQ2hDLG1DQUFtQztBQUNuQywyQkFBMkI7QUFDM0IsaUNBQWlDO0FBQ2pDLGdDQUFnQztBQUNoQywyQkFBMkI7QUFDM0IscUNBQXFDO0FBQ3JDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxFQUFPO1FBQ3RDLE9BQU8sRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssU0FBUyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBVyxFQUFFLE9BQWdCO1FBQ2xELElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLEtBQUssSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ25DLE9BQU8sR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVk7UUFDakMsSUFBSSxJQUFJLEtBQUssS0FBSztZQUFFLE9BQU8sZ0JBQWdCLENBQUM7UUFDNUMsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQVcsRUFBRSxRQUFrQixFQUFFLE9BQWdCO1FBQzdFLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDckIsSUFBSSxRQUFRLEdBQVcsRUFBRSxDQUFDO1FBQzFCLElBQUksT0FBTyxLQUFL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QUFDLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVc7UUFDaEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sRUFBRSxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN4QixPQUFPLElBQUksRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWdCO1FBQ2xDLE1BQU0sV0FBVyxHQUFXLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ25ELE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEtBQUssUUFBUSxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNvbW1hLWRhbmdsZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdXNlbGVzcy1lc2NhcGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXBsdXNwbHVzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jb25kLWFzc2lnbiAqL1xuLyogZXNsaW50LWRpc2FibGUgZXFlcWVxICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZWRlY2xhcmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIHZhcnMtb24tdG9wICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby12YXIgKi9cbi8qIGVzbGludC1kaXNhYmxlIGJsb2NrLXNjb3BlZC12YXIgKi9cbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hVdGlscyB7XG4gIHN0YXRpYyBwZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHRwOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHAgIT09IG51bGwgJiYgdHAgIT09IHVuZGVmaW5lZCAmJiB0cCAhPT0gJyc7XG4gIH1cblxuICBzdGF0aWMgZ2V0RG9jdW1lbnRUeXBlKGRvYzogc3RyaW5nLCBjb3VudHJ5Pzogc3RyaW5nKSB7XG4gICAgaWYgKCFkb2MpIHJldHVybiAnJztcbiAgICBpZiAoY291bnRyeSA9PT0gJ2NsJykgcmV0dXJuICdSVVQnO1xuICAgIHJldHVybiBkb2MubGVuZ3RoIDw9IDExID8gJ0NQRicgOiAnQ05QSic7XG4gIH1cblxuICBzdGF0aWMgZ2V0RG9jdW1lbnRNYXNrKHR5cGU6IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAnQ1BGJykgcmV0dXJuICcwMDAuMDAwLjAwMC0wMCc7XG4gICAgcmV0dXJuICcwMC4wMDAuMDAwLzAwMDAtMDAnO1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdERvY3VtZW50V2l0aE1hc2soZG9jOiBzdHJpbmcsIHdpdGhUeXBlPzogYm9vbGVhbiwgY291bnRyeT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFkb2MpIHJldHVybiBkb2M7XG4gICAgbGV0IGZvcm1hdGVkOiBzdHJpbmcgPSAnJztcbiAgICBpZiAoY291bnRyeSA9PT0gJ2NsJykge1xuICAgICAgZm9ybWF0ZWQgPSBkb2MucmVwbGFjZSgvXihcXGR7MSwyfSkoXFxkezN9KShcXGR7M30pKFxcd3sxfSkkLywgJyQxLiQyLiQzLSQ0Jyk7XG4gICAgICByZXR1cm4gYCR7Zm9ybWF0ZWR9YDtcbiAgICB9XG4gICAgaWYgKGRvYy5sZW5ndGggPT09IDE0KSB7XG4gICAgICBmb3JtYXRlZCA9IGRvY1xuICAgICAgICAucmVwbGFjZSgvXihcXGR7Mn0pKFxcZCkvLCAnJDEuJDInKVxuICAgICAgICAucmVwbGFjZSgvXihcXGR7Mn0pXFwuKFxcZHszfSkoXFxkKS8sICckMS4kMi4kMycpXG4gICAgICAgIC5yZXBsYWNlKC9cXC4oXFxkezN9KShcXGQpLywgJy4kMS8kMicpXG4gICAgICAgIC5yZXBsYWNlKC8oXFxkezR9KShcXGQpLywgJyQxLSQyJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdGVkID0gZG9jXG4gICAgICAgIC5yZXBsYWNlKC9eKFxcZHszfSkoXFxkKS8sICckMS4kMicpXG4gICAgICAgIC5yZXBsYWNlKC9eKFxcZHszfSlcXC4oXFxkezN9KShcXGQpLywgJyQxLiQyLiQzJylcbiAgICAgICAgLnJlcGxhY2UoL1xcLihcXGR7M30pKFxcZCkvLCAnLiQxLSQyJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3dpdGhUeXBlID8gYCR7dGhpcy5nZXREb2N1bWVudFR5cGUoZG9jKX06YCA6ICcnfSAke2Zvcm1hdGVkfWA7XG4gIH1cblxuICBzdGF0aWMgY3V0Rmlyc3RMYXN0TmFtZSh2YWx1ZTogc3RyaW5nLCB0cDogc3RyaW5nID0gJ2ZpcnN0Jykge1xuICAgIGNvbnN0IHNwbGl0ID0gdmFsdWU/LnRyaW0oKT8uc3BsaXQoJyAnKTtcblxuICAgIGlmICh0cCA9PT0gJ2ZpcnN0JykgcmV0dXJuIHNwbGl0WzBdO1xuICAgIHJldHVybiBzcGxpdD8uc3BsaWNlKDEsIHNwbGl0Lmxlbmd0aCk/LmpvaW4oJyAnKTtcbiAgfVxuXG4gIHN0YXRpYyBpc0NQRkNOUEpWYWxpZChkb2N1bWVudDogYW55KTogYm9vbGVhbiB7XG4gICAgZG9jdW1lbnQgPSBkb2N1bWVudC5yZXBsYWNlKC9bXlxcZF0vZywgJycpO1xuXG4gICAgY29uc3QgaGFuZGxlZCA9IGRvY3VtZW50LnJlcGxhY2UobmV3IFJlZ0V4cChkb2N1bWVudC5jaGFyQXQoMCksICdnJyksICcnKTtcbiAgICBpZiAoIWhhbmRsZWQpIHJldHVybiBmYWxzZTtcblxuICAgIGlmIChkb2N1bWVudC5sZW5ndGggPT09IDExKSB7XG4gICAgICBsZXQgYmFzZSA9IFsxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMiwgMSwgMF07XG4gICAgICBmb3IgKHZhciBpID0gMCwgbiA9IDA7IGkgPCA5OyBuICs9IGRvY3VtZW50W2ldICogYmFzZVtpKytdKTtcbiAgICAgIGlmIChkb2N1bWVudFs5XSAhPSAoKG4gJT0gMTEpIDw9IDEgPyAwIDogMTEgLSBuKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBiYXNlID0gWzExLCAxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMiwgMSwgMF07XG4gICAgICBmb3IgKHZhciBpID0gMCwgbiA9IDA7IGkgPD0gOTsgbiArPSBkb2N1bWVudFtpXSAqIGJhc2VbaSsrXSk7XG4gICAgICBpZiAoZG9jdW1lbnRbMTBdICE9ICgobiAlPSAxMSkgPD0gMSA/IDAgOiAxMSAtIG4pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoZG9jdW1lbnQubGVuZ3RoID09PSAxNCB8fCAvMHsxNH0vLnRlc3QoZG9jdW1lbnQpKSB7XG4gICAgICBjb25zdCBiYXNlID0gWzYsIDUsIDQsIDMsIDIsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDJdO1xuICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSAwOyBpIDwgMTI7IG4gKz0gZG9jdW1lbnRbaV0gKiBiYXNlWysraV0pO1xuICAgICAgaWYgKGRvY3VtZW50WzEyXSAhPSAoKG4gJT0gMTEpIDwgMiA/IDAgOiAxMSAtIG4pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSAwOyBpIDw9IDEyOyBuICs9IGRvY3VtZW50W2ldICogYmFzZVtpKytdKTtcbiAgICAgIGlmIChkb2N1bWVudFsxM10gIT0gKChuICU9IDExKSA8IDIgPyAwIDogMTEgLSBuKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVmFsaWRSVVQoZG9jdW1lbnQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghZG9jdW1lbnQgfHwgZG9jdW1lbnQudHJpbSgpLmxlbmd0aCA8IDMpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBkb2N1bWVudEhhbmRsZWQgPSBkb2N1bWVudC5yZXBsYWNlKC9bXjAtOWtLXS9nLCAnJyk7XG5cbiAgICBpZiAoZG9jdW1lbnRIYW5kbGVkLmxlbmd0aCA8IDMpIHJldHVybiBmYWxzZTtcblxuICAgIGNvbnN0IGNhbGNEdiA9IChydXQ6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IGAke3J1dH1gO1xuICAgICAgbGV0IHN1bSA9IDA7XG4gICAgICBsZXQgbXVsdCA9IDI7XG5cbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gbXVsdCAqIE51bWJlcih2YWx1ZS5jaGFyQXQodmFsdWUubGVuZ3RoIC0gaSkpO1xuXG4gICAgICAgIHN1bSArPSBpbmRleDtcblxuICAgICAgICBpZiAobXVsdCA8IDcpIHtcbiAgICAgICAgICBtdWx0ICs9IDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbXVsdCA9IDI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgZHZFc3BlcmFkbyA9IDExIC0gKHN1bSAlIDExKTtcbiAgICAgIGlmIChkdkVzcGVyYWRvID09PSAxMCkgcmV0dXJuICdLJztcbiAgICAgIGlmIChkdkVzcGVyYWRvID09PSAxMSkgcmV0dXJuICcwJztcbiAgICAgIHJldHVybiBgJHtkdkVzcGVyYWRvfWA7XG4gICAgfTtcblxuICAgIGNvbnN0IG51bSA9IGRvY3VtZW50SGFuZGxlZC5zbGljZSgwLCAtMSk7XG4gICAgY29uc3QgZGd2ID0gZG9jdW1lbnRIYW5kbGVkLnNsaWNlKC0xKS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgY29uc3QgZHZDYWxjID0gY2FsY0R2KG51bSk7XG4gICAgcmV0dXJuIGR2Q2FsYyA9PT0gZGd2O1xuICB9XG5cbiAgc3RhdGljIGlzVmFsaWRVcmwodHh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoXG4gICAgICAvXihodHRwOlxcL1xcL3d3d1xcLnxodHRwczpcXC9cXC93d3dcXC58aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvKStbYS16MC05XSsoW1xcLVxcLl17MX1bYS16MC05XSspKlxcLlthLXpdezIsMTB9KDpbMC05XXsxLDV9KT8oXFwvLiopPyQvZ21cbiAgICApO1xuICAgIHJldHVybiByZWdleC50ZXN0KHR4dCk7XG4gIH1cblxuICBzdGF0aWMgaXNWYWxpZFppcENvZGUoemlwQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGAke3RoaXMuaGFuZGxlT25seU51bWJlcnMoemlwQ29kZSl9YC5sZW5ndGggPT09IDg7XG4gIH1cblxuICBzdGF0aWMgZ2V0UmFuZG9tU3RyaW5nKGxlbjogbnVtYmVyLCBjaGFyU2V0Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjaGFyU2V0ID0gY2hhclNldCB8fCAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuXG4gICAgY29uc3QgcmFuZG9tU3RyaW5nOiBzdHJpbmcgPSBuZXcgQXJyYXkobGVuKVxuICAgICAgLmZpbGwoJzEnKVxuICAgICAgLm1hcCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBjaGFyU2V0Py5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhclNldD8ubGVuZ3RoKSk7XG4gICAgICB9KVxuICAgICAgLmpvaW4oJycpO1xuICAgIHJldHVybiByYW5kb21TdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgaGFuZGxlT25seU51bWJlcnModmFsdWU6IGFueSkge1xuICAgIGlmICghdmFsdWUpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoL1teMC05XS9nKSwgJycpO1xuICB9XG5cbiAgc3RhdGljIGhhbmRsZU9ubHlBbHBoYU51bWVyaWModmFsdWU6IGFueSkge1xuICAgIGlmICghdmFsdWUpIHJldHVybiAnJztcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKC9bXjAtOUEtWmEtel0vLCAnZycpLCAnJyk7XG4gIH1cblxuICBzdGF0aWMgY2FwaXRhbGl6ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3ZhbHVlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7dmFsdWUuc2xpY2UoMSl9YDtcbiAgfVxuXG4gIHN0YXRpYyBmb3JtYXRaaXBDb2RlKHppcENvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF6aXBDb2RlKSByZXR1cm4gemlwQ29kZTtcbiAgICBjb25zdCBmb3JtYXRlZDogc3RyaW5nID0gemlwQ29kZVxuICAgICAgLnJlcGxhY2UoL14oXFxkezV9KShcXGQpLywgJyQxLSQyJylcbiAgICAgIC5yZXBsYWNlKC9cXC4oXFxkezN9KShcXGQpLywgJy4kMS0kMicpO1xuXG4gICAgcmV0dXJuIGAke2Zvcm1hdGVkfWA7XG4gIH1cblxuICBzdGF0aWMgZm9ybWF0RmlsZVNpemUoc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCB1bml0cyA9IFsnQicsICdLQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddO1xuICAgIGxldCBsID0gMDtcbiAgICB3aGlsZSAoc2l6ZSA+PSAxMDI0ICYmICsrbCkge1xuICAgICAgc2l6ZSAvPSAxMDI0O1xuICAgIH1cbiAgICByZXR1cm4gYCR7c2l6ZS50b0ZpeGVkKHNpemUgPCAxMCAmJiBsID4gMCA/IDEgOiAwKX0gJHt1bml0c1tsXX1gO1xuICB9XG5cbiAgc3RhdGljIHN1ZmZsdWUoZGF0YTogYW55W10pOiBhbnlbXSB7XG4gICAgZm9yIChsZXQgaSA9IGRhdGEubGVuZ3RoIC0gMTsgaSA+IDA7IGktLSkge1xuICAgICAgY29uc3QgaiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGkpO1xuICAgICAgY29uc3QgdGVtcCA9IGRhdGFbaV07XG4gICAgICBkYXRhW2ldID0gZGF0YVtqXTtcbiAgICAgIGRhdGFbal0gPSB0ZW1wO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHN0YXRpYyBoYW5kbGVCbG9iRmlsZSh0aGVCbG9iOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcsIGZpbGVUeXBlOiBzdHJpbmcpIHtcbiAgICBmdW5jdGlvbiBibG9iVG9GaWxlKHRoZUJsb2I6IGFueSwgZmlsZU5hbWU6IHN0cmluZykge1xuICAgICAgY29uc3QgYiA9IHRoZUJsb2I7XG4gICAgICBiLmxhc3RNb2RpZmllZERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgYi5uYW1lID0gZmlsZU5hbWU7XG4gICAgICByZXR1cm4gYjtcbiAgICB9XG5cbiAgICBsZXQgZmlsZTogYW55O1xuICAgIGlmICghKG5hdmlnYXRvciBhcyBhbnkpLm1zU2F2ZUJsb2IpIHtcbiAgICAgIGZpbGUgPSBuZXcgRmlsZShbdGhlQmxvYl0sIGZpbGVOYW1lLCB7XG4gICAgICAgIHR5cGU6IGZpbGVUeXBlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbGUgPSBuZXcgQmxvYihbdGhlQmxvYl0sIHtcbiAgICAgICAgdHlwZTogZmlsZVR5cGUsXG4gICAgICB9KTtcbiAgICAgIGZpbGUgPSBibG9iVG9GaWxlKGZpbGUsIGZpbGVOYW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cblxuICBzdGF0aWMgdHJ1bmNhdGUodGV4dDogc3RyaW5nLCBtYXhMZW5ndGg6IG51bWJlciA9IDI1KTogc3RyaW5nIHtcbiAgICBjb25zdCBtaWRDaGFyID0gJy4uLic7XG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gbWlkQ2hhcjtcbiAgICBpZiAodGV4dCAmJiB0ZXh0Lmxlbmd0aCA8PSBtYXhMZW5ndGgpIHJldHVybiB0ZXh0O1xuXG4gICAgY29uc3QgbGVmdCA9IE1hdGguY2VpbChtYXhMZW5ndGggLyAyKTtcbiAgICBjb25zdCByaWdodCA9IHRleHQubGVuZ3RoIC0gbGVmdCArIDE7XG5cbiAgICByZXR1cm4gYCR7dGV4dC5zdWJzdHIoMCwgbGVmdCl9ICR7bWlkQ2hhcn0gJHt0ZXh0LnN1YnN0cmluZyhyaWdodCl9YDtcbiAgfVxuXG4gIHN0YXRpYyBpc0xvY2FsaG9zdCgpIHtcbiAgICBjb25zdCB7IGhyZWYgfSA9IHdpbmRvdz8ubG9jYXRpb247XG4gICAgaWYgKCFocmVmKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIGhyZWY/LnNlYXJjaCgnbG9jYWxob3N0JykgPj0gMDtcbiAgfVxuXG4gIHN0YXRpYyBpc1NhbWVPcmlnaW4oZnJvbnRlbmQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGluaXRpYWxQYXRoOiBzdHJpbmcgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luO1xuICAgIHJldHVybiAoaW5pdGlhbFBhdGggfHwgJycpID09PSBmcm9udGVuZDtcbiAgfVxufVxuIl19
|