@alauda-fe/common 1.0.0-next.0
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/a-chart/a-chart.module.d.ts +16 -0
- package/a-chart/base-chart.d.ts +23 -0
- package/a-chart/chart-status.component.d.ts +15 -0
- package/a-chart/chart.component.d.ts +55 -0
- package/a-chart/components/base-component.d.ts +12 -0
- package/a-chart/components/index.d.ts +3 -0
- package/a-chart/components/legend/base-legend.component.d.ts +32 -0
- package/a-chart/components/legend/dropdown-legend.d.ts +17 -0
- package/a-chart/components/legend/index.d.ts +3 -0
- package/a-chart/components/legend/legend.component.d.ts +17 -0
- package/a-chart/components/title.component.d.ts +17 -0
- package/a-chart/constant.d.ts +3 -0
- package/a-chart/public-api.d.ts +12 -0
- package/a-chart/types.d.ts +28 -0
- package/a-chart/utils.d.ts +13 -0
- package/a-metric-chart/a-metric-chart.component.d.ts +108 -0
- package/a-metric-chart/a-metric-chart.module.d.ts +16 -0
- package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +25 -0
- package/a-metric-chart/base-chart.component.d.ts +14 -0
- package/a-metric-chart/metric-chart-refresh.service.d.ts +8 -0
- package/a-metric-chart/public-api.d.ts +13 -0
- package/a-metric-chart/stat-chart/stat-chart.component.d.ts +7 -0
- package/a-metric-chart/table-chart/table-chart.component.d.ts +29 -0
- package/a-metric-chart/types.d.ts +113 -0
- package/a-metric-chart/utils/index.d.ts +3 -0
- package/a-metric-chart/utils/range.d.ts +1 -0
- package/a-metric-chart/utils/unit.d.ts +48 -0
- package/a-metric-chart/utils/util.d.ts +38 -0
- package/abnormal-page/abnormal-page.component.d.ts +19 -0
- package/abnormal-page/abnormal-page.module.d.ts +11 -0
- package/abnormal-page/public-api.d.ts +2 -0
- package/api/api-gateway.interceptor.d.ts +14 -0
- package/api/api-gateway.service.d.ts +23 -0
- package/api/cluster-version.service.d.ts +22 -0
- package/api/crypto.interceptor.d.ts +18 -0
- package/api/helpers.d.ts +31 -0
- package/api/k8s-api-resource.service.d.ts +29 -0
- package/api/k8s-api.service.d.ts +112 -0
- package/api/monitor-api.service.d.ts +103 -0
- package/api/page-visibility.service.d.ts +7 -0
- package/api/platform-ui.service.d.ts +45 -0
- package/api/product.service.d.ts +13 -0
- package/api/project-api.service.d.ts +16 -0
- package/api/public-api.d.ts +20 -0
- package/api/resource-update.service.d.ts +31 -0
- package/api/types.d.ts +119 -0
- package/array-form-table/base-string-map-form.component.d.ts +22 -0
- package/array-form-table/form/component.d.ts +91 -0
- package/array-form-table/form/module.d.ts +7 -0
- package/array-form-table/key-value-form/component.d.ts +37 -0
- package/array-form-table/key-value-table/component.d.ts +9 -0
- package/array-form-table/public-api.d.ts +10 -0
- package/assets/header/cluster-blue.svg +1 -0
- package/assets/header/cluster-white.svg +1 -0
- package/assets/header/namespace-blue.svg +1 -0
- package/assets/header/namespace-white.svg +1 -0
- package/assets/header/portrait.svg +1 -0
- package/assets/header/project-blue.svg +1 -0
- package/assets/header/project-white.svg +1 -0
- package/assets/header/servicemesh-blue.svg +1 -0
- package/assets/header/servicemesh-white.svg +1 -0
- package/assets/icons/ClickHouse.svg +1 -0
- package/assets/icons/Containerd.svg +1 -0
- package/assets/icons/Docker.svg +1 -0
- package/assets/icons/ETCD.svg +1 -0
- package/assets/icons/ElasticSearch.svg +1 -0
- package/assets/icons/Grafana.svg +1 -0
- package/assets/icons/Istio.svg +1 -0
- package/assets/icons/Jaeger.svg +1 -0
- package/assets/icons/Kafka.svg +1 -0
- package/assets/icons/Kibana.svg +1 -0
- package/assets/icons/KubeVela.svg +1 -0
- package/assets/icons/Kubernetes.svg +1 -0
- package/assets/icons/Prometheus.svg +1 -0
- package/assets/icons/VictoriaMetrics.svg +1 -0
- package/assets/icons/Zookeeper.svg +1 -0
- package/assets/icons/bicolor-icons.js +1 -0
- package/assets/icons/icon-card-blue.svg +1 -0
- package/assets/icons/icon-card.svg +1 -0
- package/assets/icons/icon-cluster-small-white.svg +1 -0
- package/assets/icons/icon-cluster-small.svg +1 -0
- package/assets/icons/icon-list-blue.svg +1 -0
- package/assets/icons/icon-list.svg +1 -0
- package/assets/icons/icon-namespace-small-white.svg +1 -0
- package/assets/icons/icon-namespace-small.svg +1 -0
- package/assets/icons/icon-project-small-white.svg +1 -0
- package/assets/icons/icon-project-small.svg +1 -0
- package/assets/icons/icon-servicemesh-small-white.svg +1 -0
- package/assets/icons/icon-servicemesh-small.svg +1 -0
- package/assets/icons/navigation-icons.js +1 -0
- package/assets/icons/os/centos.svg +1 -0
- package/assets/icons/os/debian.svg +1 -0
- package/assets/icons/os/linux.svg +1 -0
- package/assets/icons/os/other.svg +1 -0
- package/assets/icons/os/red-hat.svg +1 -0
- package/assets/icons/os/t-linux.svg +1 -0
- package/assets/icons/os/ubuntu.svg +1 -0
- package/assets/icons/os/windows.svg +1 -0
- package/assets/icons/prod-icons.js +1 -0
- package/assets/icons/time.svg +1 -0
- package/assets/images/abnormal.svg +1 -0
- package/assets/images/alarm_critical.png +0 -0
- package/assets/images/avatar.svg +1 -0
- package/assets/images/dark/disconnected.svg +1 -0
- package/assets/images/dark/feature-reach-bg.svg +1 -0
- package/assets/images/dark/license-abnormal.svg +1 -0
- package/assets/images/dark/network-abnormal.svg +1 -0
- package/assets/images/dark/no-data.svg +1 -0
- package/assets/images/dark/no-message.svg +1 -0
- package/assets/images/dark/no-permission.svg +1 -0
- package/assets/images/dark/no_realtime_alarm.svg +1 -0
- package/assets/images/dark/not-deployed.svg +1 -0
- package/assets/images/dark/not-found.svg +1 -0
- package/assets/images/dark/not-supported.svg +1 -0
- package/assets/images/dark/system-abnormal.svg +1 -0
- package/assets/images/light/disconnected.svg +1 -0
- package/assets/images/light/feature-reach-bg.svg +1 -0
- package/assets/images/light/license-abnormal.svg +1 -0
- package/assets/images/light/network-abnormal.svg +1 -0
- package/assets/images/light/no-data.svg +1 -0
- package/assets/images/light/no-message.svg +1 -0
- package/assets/images/light/no-permission.svg +1 -0
- package/assets/images/light/no_realtime_alarm.svg +1 -0
- package/assets/images/light/not-deployed.svg +1 -0
- package/assets/images/light/not-found.svg +1 -0
- package/assets/images/light/not-supported.svg +1 -0
- package/assets/images/light/system-abnormal.svg +1 -0
- package/assets/images/no-data.png +0 -0
- package/assets/images/overview-banner.svg +1 -0
- package/assets/images/platform_version_bg.svg +1 -0
- package/assets/images/product-default-logo.png +0 -0
- package/assets/logos/favicon.ico +0 -0
- package/assets/logos/logo.svg +1 -0
- package/assets/logos/tke_logo_white.svg +1 -0
- package/assets/themes/override-theme.js +11 -0
- package/assets/themes/refresh-favicon.js +6 -0
- package/async-data/async-data-loader.d.ts +31 -0
- package/async-data/async-data.module.d.ts +8 -0
- package/async-data/error-page/component.d.ts +30 -0
- package/async-data/page-state/component.d.ts +21 -0
- package/async-data/public-api.d.ts +11 -0
- package/async-data/types.d.ts +29 -0
- package/authorization/app-init-url.d.ts +6 -0
- package/authorization/guard.service.d.ts +22 -0
- package/authorization/interceptor.service.d.ts +34 -0
- package/authorization/public-api.d.ts +11 -0
- package/authorization/session-manage.service.d.ts +18 -0
- package/authorization/state.service.d.ts +52 -0
- package/business/module-info/api.service.d.ts +24 -0
- package/business/module-info/public-api.d.ts +1 -0
- package/business/public-api.d.ts +7 -0
- package/business/resource-select/base-list.d.ts +32 -0
- package/business/resource-select/context.service.d.ts +47 -0
- package/business/resource-select/exports/cluster-selector/component.d.ts +23 -0
- package/business/resource-select/exports/mesh-group-selector/component.d.ts +23 -0
- package/business/resource-select/exports/namespace-page/component.d.ts +25 -0
- package/business/resource-select/exports/namespace-selector/component.d.ts +33 -0
- package/business/resource-select/exports/project-page/component.d.ts +18 -0
- package/business/resource-select/exports/project-selector/component.d.ts +27 -0
- package/business/resource-select/helpers.directive.d.ts +5 -0
- package/business/resource-select/internals/cluster-list/component.d.ts +26 -0
- package/business/resource-select/internals/data-grid/component.d.ts +42 -0
- package/business/resource-select/internals/icon/component.d.ts +12 -0
- package/business/resource-select/internals/meshgroup-list/component.d.ts +22 -0
- package/business/resource-select/internals/namespace-list/component.d.ts +65 -0
- package/business/resource-select/internals/no-data/component.d.ts +11 -0
- package/business/resource-select/internals/project-list/component.d.ts +22 -0
- package/business/resource-select/internals/resource-dashboard/component.d.ts +14 -0
- package/business/resource-select/internals/selector-popup/component.d.ts +14 -0
- package/business/resource-select/internals/selector-popup/ref.d.ts +10 -0
- package/business/resource-select/internals/selector-popup/service.d.ts +21 -0
- package/business/resource-select/module.d.ts +31 -0
- package/business/resource-select/project.service.d.ts +16 -0
- package/business/resource-select/public-api.d.ts +16 -0
- package/business/resource-select/types.d.ts +77 -0
- package/business/resource-select/utils.d.ts +5 -0
- package/chart/chart.module.d.ts +29 -0
- package/chart/chart.service.d.ts +72 -0
- package/chart/common/axis/axis-label.component.d.ts +23 -0
- package/chart/common/axis/x-axis-ticks.component.d.ts +24 -0
- package/chart/common/axis/x-axis.component.d.ts +26 -0
- package/chart/common/axis/x-plot-lines.component.d.ts +23 -0
- package/chart/common/axis/y-axis-ticks.component.d.ts +33 -0
- package/chart/common/axis/y-axis.component.d.ts +28 -0
- package/chart/common/axis/y-plot-lines.component.d.ts +31 -0
- package/chart/common/chart/chart.component.d.ts +63 -0
- package/chart/common/index.d.ts +17 -0
- package/chart/common/legend/legend.component.d.ts +41 -0
- package/chart/common/range-area/range-area.component.d.ts +48 -0
- package/chart/common/reference-area/reference-area.component.d.ts +12 -0
- package/chart/common/series/area-series.component.d.ts +21 -0
- package/chart/common/series/bar-path.component.d.ts +47 -0
- package/chart/common/series/bar-series.component.d.ts +29 -0
- package/chart/common/series/line-series.component.d.ts +8 -0
- package/chart/common/series/series.component.d.ts +39 -0
- package/chart/common/tooltip/tooltip.component.d.ts +119 -0
- package/chart/constants.d.ts +10 -0
- package/chart/custom-template/dropdown-legend.d.ts +11 -0
- package/chart/public-api.d.ts +9 -0
- package/chart/types.d.ts +47 -0
- package/chart/utils.d.ts +36 -0
- package/code/code-display-dialog/component.d.ts +17 -0
- package/code/code-editor-configs.d.ts +18 -0
- package/code/code.module.d.ts +14 -0
- package/code/k8s-yaml-display-dialog/component.d.ts +16 -0
- package/code/public-api.d.ts +11 -0
- package/code/resource-yaml-display/component.d.ts +22 -0
- package/core/abstract/base-form-container.d.ts +41 -0
- package/core/abstract/base-nested-form-control.d.ts +58 -0
- package/core/abstract/index.d.ts +2 -0
- package/core/components/index.d.ts +1 -0
- package/core/components/tree/index.d.ts +1 -0
- package/core/components/tree/module.d.ts +12 -0
- package/core/components/tree/node/component.d.ts +12 -0
- package/core/components/tree/outlet.d.ts +10 -0
- package/core/components/tree/padding.d.ts +12 -0
- package/core/components/tree/public-api.d.ts +6 -0
- package/core/components/tree/toggle.d.ts +12 -0
- package/core/components/tree/tree/component.d.ts +8 -0
- package/core/constants/constants.d.ts +61 -0
- package/core/constants/index.d.ts +5 -0
- package/core/constants/patterns.d.ts +25 -0
- package/core/constants/status-icons.d.ts +28 -0
- package/core/constants/timezones.d.ts +6 -0
- package/core/constants/tokens.d.ts +44 -0
- package/core/directives/click-outside.directive.d.ts +12 -0
- package/core/directives/disabled.directive.d.ts +28 -0
- package/core/directives/feature-gate.directive.d.ts +30 -0
- package/core/directives/index.d.ts +10 -0
- package/core/directives/intercept-deactivate.directive.d.ts +18 -0
- package/core/directives/last-form-item.directive.d.ts +8 -0
- package/core/directives/page-header-content.directive.d.ts +25 -0
- package/core/directives/readonly-field.directive.d.ts +39 -0
- package/core/directives/resize.directive.d.ts +17 -0
- package/core/directives/scroll-border-observer.directive.d.ts +23 -0
- package/core/directives/scroll-to-first-invalid.directive.d.ts +24 -0
- package/core/guards/feature.guard.d.ts +28 -0
- package/core/guards/index.d.ts +4 -0
- package/core/guards/intercept-deactivate.guard.d.ts +13 -0
- package/core/guards/leave-edit-page.guard.d.ts +13 -0
- package/core/guards/project-namespace.guard.d.ts +23 -0
- package/core/index.d.ts +1 -0
- package/core/module.d.ts +33 -0
- package/core/pipes/cron-human-readable.pipe.d.ts +14 -0
- package/core/pipes/crontab-next.pipe.d.ts +18 -0
- package/core/pipes/field-not-available.pipe.d.ts +13 -0
- package/core/pipes/img-header.pipe.d.ts +7 -0
- package/core/pipes/img-theme.pipe.d.ts +13 -0
- package/core/pipes/index.d.ts +17 -0
- package/core/pipes/k8s-util.pipe.d.ts +98 -0
- package/core/pipes/k8s-util.pipe.module.d.ts +7 -0
- package/core/pipes/keyvalue.pipe.d.ts +9 -0
- package/core/pipes/marked.pipe.d.ts +8 -0
- package/core/pipes/minimum-format.pipe.d.ts +10 -0
- package/core/pipes/page-env.pipe.d.ts +34 -0
- package/core/pipes/parse-json-translate.pipe.d.ts +9 -0
- package/core/pipes/parse-json.pipe.d.ts +7 -0
- package/core/pipes/safe.pipe.d.ts +10 -0
- package/core/pipes/time.pipe.d.ts +41 -0
- package/core/pipes/timezone-display.pipe.d.ts +10 -0
- package/core/pipes/trust-url.pipe.d.ts +19 -0
- package/core/public-api.d.ts +16 -0
- package/core/services/aui-paginator-intl.service.d.ts +13 -0
- package/core/services/aui-tooltip-copy-intl.service.d.ts +11 -0
- package/core/services/context.service.d.ts +33 -0
- package/core/services/custom-code-editor-intl.service.d.ts +33 -0
- package/core/services/feature-gate.service.d.ts +35 -0
- package/core/services/form-row-duplicate/form-row-duplicate.service.d.ts +45 -0
- package/core/services/index.d.ts +14 -0
- package/core/services/intercept-deactivate.service.d.ts +28 -0
- package/core/services/k8s-util.service.d.ts +78 -0
- package/core/services/on-resize.service.d.ts +20 -0
- package/core/services/silently-navigate.service.d.ts +11 -0
- package/core/services/time.service.d.ts +17 -0
- package/core/services/ui-state.service.d.ts +41 -0
- package/core/services/workspace-helper.service.d.ts +12 -0
- package/core/services/yaml-util.service.d.ts +20 -0
- package/core/types/commons.d.ts +40 -0
- package/core/types/helpers.d.ts +35 -0
- package/core/types/index.d.ts +10 -0
- package/core/types/k8s/core.d.ts +91 -0
- package/core/types/k8s/crd.d.ts +444 -0
- package/core/types/k8s/index.d.ts +3 -0
- package/core/types/k8s/raw.d.ts +978 -0
- package/core/types/resource-definitions.d.ts +734 -0
- package/core/types/schema.d.ts +14 -0
- package/core/utils/browser.d.ts +3 -0
- package/core/utils/cache-store.d.ts +33 -0
- package/core/utils/color-helpers.d.ts +4 -0
- package/core/utils/common.d.ts +54 -0
- package/core/utils/create-recursive-filter.d.ts +41 -0
- package/core/utils/cron-util.d.ts +8 -0
- package/core/utils/decorators.d.ts +12 -0
- package/core/utils/format-number.d.ts +11 -0
- package/core/utils/index.d.ts +22 -0
- package/core/utils/k8s-pattern.d.ts +12 -0
- package/core/utils/k8s-util.d.ts +28 -0
- package/core/utils/local-storage-constants.d.ts +1 -0
- package/core/utils/node.d.ts +8 -0
- package/core/utils/observable.d.ts +4 -0
- package/core/utils/operators.d.ts +19 -0
- package/core/utils/request-pool.d.ts +12 -0
- package/core/utils/resources.d.ts +19 -0
- package/core/utils/tree.d.ts +16 -0
- package/core/utils/unit.d.ts +23 -0
- package/core/utils/version.d.ts +39 -0
- package/core/utils/with-load-state.d.ts +11 -0
- package/core/utils/workspace.d.ts +28 -0
- package/core/utils/yaml.d.ts +10 -0
- package/custom-columns-setting/component.d.ts +16 -0
- package/custom-columns-setting/public-api.d.ts +1 -0
- package/disabled-container/disabled-container.component.d.ts +21 -0
- package/disabled-container/disabled-container.module.d.ts +10 -0
- package/disabled-container/public-api.d.ts +8 -0
- package/editable-text/component.d.ts +24 -0
- package/editable-text/index.d.ts +2 -0
- package/editable-text/module.d.ts +11 -0
- package/effect-directive/coerce-number.directive.d.ts +8 -0
- package/effect-directive/e2e-attribute-binding.directive.d.ts +10 -0
- package/effect-directive/event.directive.d.ts +11 -0
- package/effect-directive/min-max.directive.d.ts +30 -0
- package/effect-directive/module.d.ts +20 -0
- package/effect-directive/public-api.d.ts +7 -0
- package/effect-directive/trim.directive.d.ts +7 -0
- package/effect-directive/validators.directive.d.ts +12 -0
- package/errors-mapper/base-errors-mapper.d.ts +13 -0
- package/errors-mapper/default-errors-mapper.service.d.ts +10 -0
- package/errors-mapper/errors-mapper-component/component.d.ts +19 -0
- package/errors-mapper/errors-mapper.directive.d.ts +39 -0
- package/errors-mapper/errors-mapper.module.d.ts +8 -0
- package/errors-mapper/public-api.d.ts +4 -0
- package/errors-mapper/types.d.ts +16 -0
- package/esm2022/a-chart/a-chart.module.mjs +76 -0
- package/esm2022/a-chart/base-chart.mjs +84 -0
- package/esm2022/a-chart/chart-status.component.mjs +195 -0
- package/esm2022/a-chart/chart.component.mjs +283 -0
- package/esm2022/a-chart/components/base-component.mjs +23 -0
- package/esm2022/a-chart/components/index.mjs +4 -0
- package/esm2022/a-chart/components/legend/base-legend.component.mjs +110 -0
- package/esm2022/a-chart/components/legend/dropdown-legend.mjs +199 -0
- package/esm2022/a-chart/components/legend/index.mjs +4 -0
- package/esm2022/a-chart/components/legend/legend.component.mjs +102 -0
- package/esm2022/a-chart/components/title.component.mjs +99 -0
- package/esm2022/a-chart/constant.mjs +22 -0
- package/esm2022/a-chart/public-api.mjs +13 -0
- package/esm2022/a-chart/types.mjs +2 -0
- package/esm2022/a-chart/utils.mjs +37 -0
- package/esm2022/a-metric-chart/a-metric-chart.component.mjs +853 -0
- package/esm2022/a-metric-chart/a-metric-chart.module.mjs +76 -0
- package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +165 -0
- package/esm2022/a-metric-chart/base-chart.component.mjs +30 -0
- package/esm2022/a-metric-chart/metric-chart-refresh.service.mjs +18 -0
- package/esm2022/a-metric-chart/public-api.mjs +14 -0
- package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +70 -0
- package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +201 -0
- package/esm2022/a-metric-chart/types.mjs +17 -0
- package/esm2022/a-metric-chart/utils/index.mjs +4 -0
- package/esm2022/a-metric-chart/utils/range.mjs +35 -0
- package/esm2022/a-metric-chart/utils/unit.mjs +83 -0
- package/esm2022/a-metric-chart/utils/util.mjs +219 -0
- package/esm2022/abnormal-page/abnormal-page.component.mjs +66 -0
- package/esm2022/abnormal-page/abnormal-page.module.mjs +27 -0
- package/esm2022/abnormal-page/public-api.mjs +3 -0
- package/esm2022/alauda-fe-common.mjs +5 -0
- package/esm2022/api/api-gateway.interceptor.mjs +28 -0
- package/esm2022/api/api-gateway.service.mjs +38 -0
- package/esm2022/api/cluster-version.service.mjs +67 -0
- package/esm2022/api/crypto.interceptor.mjs +186 -0
- package/esm2022/api/helpers.mjs +101 -0
- package/esm2022/api/k8s-api-resource.service.mjs +73 -0
- package/esm2022/api/k8s-api.service.mjs +394 -0
- package/esm2022/api/monitor-api.service.mjs +158 -0
- package/esm2022/api/page-visibility.service.mjs +18 -0
- package/esm2022/api/platform-ui.service.mjs +95 -0
- package/esm2022/api/product.service.mjs +36 -0
- package/esm2022/api/project-api.service.mjs +32 -0
- package/esm2022/api/public-api.mjs +21 -0
- package/esm2022/api/resource-update.service.mjs +62 -0
- package/esm2022/api/types.mjs +30 -0
- package/esm2022/array-form-table/base-string-map-form.component.mjs +92 -0
- package/esm2022/array-form-table/form/component.mjs +466 -0
- package/esm2022/array-form-table/form/module.mjs +38 -0
- package/esm2022/array-form-table/key-value-form/component.mjs +280 -0
- package/esm2022/array-form-table/key-value-table/component.mjs +74 -0
- package/esm2022/array-form-table/public-api.mjs +11 -0
- package/esm2022/async-data/async-data-loader.mjs +63 -0
- package/esm2022/async-data/async-data.module.mjs +22 -0
- package/esm2022/async-data/error-page/component.mjs +152 -0
- package/esm2022/async-data/page-state/component.mjs +129 -0
- package/esm2022/async-data/public-api.mjs +12 -0
- package/esm2022/async-data/types.mjs +6 -0
- package/esm2022/authorization/app-init-url.mjs +33 -0
- package/esm2022/authorization/guard.service.mjs +42 -0
- package/esm2022/authorization/interceptor.service.mjs +149 -0
- package/esm2022/authorization/public-api.mjs +12 -0
- package/esm2022/authorization/session-manage.service.mjs +60 -0
- package/esm2022/authorization/state.service.mjs +254 -0
- package/esm2022/business/module-info/api.service.mjs +39 -0
- package/esm2022/business/module-info/public-api.mjs +2 -0
- package/esm2022/business/public-api.mjs +8 -0
- package/esm2022/business/resource-select/base-list.mjs +84 -0
- package/esm2022/business/resource-select/context.service.mjs +69 -0
- package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +98 -0
- package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +96 -0
- package/esm2022/business/resource-select/exports/namespace-page/component.mjs +78 -0
- package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +186 -0
- package/esm2022/business/resource-select/exports/project-page/component.mjs +53 -0
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +124 -0
- package/esm2022/business/resource-select/helpers.directive.mjs +13 -0
- package/esm2022/business/resource-select/internals/cluster-list/component.mjs +74 -0
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +584 -0
- package/esm2022/business/resource-select/internals/icon/component.mjs +56 -0
- package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +65 -0
- package/esm2022/business/resource-select/internals/namespace-list/component.mjs +432 -0
- package/esm2022/business/resource-select/internals/no-data/component.mjs +142 -0
- package/esm2022/business/resource-select/internals/project-list/component.mjs +75 -0
- package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +79 -0
- package/esm2022/business/resource-select/internals/selector-popup/component.mjs +45 -0
- package/esm2022/business/resource-select/internals/selector-popup/ref.mjs +20 -0
- package/esm2022/business/resource-select/internals/selector-popup/service.mjs +60 -0
- package/esm2022/business/resource-select/module.mjs +166 -0
- package/esm2022/business/resource-select/project.service.mjs +47 -0
- package/esm2022/business/resource-select/public-api.mjs +17 -0
- package/esm2022/business/resource-select/types.mjs +17 -0
- package/esm2022/business/resource-select/utils.mjs +25 -0
- package/esm2022/chart/chart.module.mjs +120 -0
- package/esm2022/chart/chart.service.mjs +237 -0
- package/esm2022/chart/common/axis/axis-label.component.mjs +106 -0
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +217 -0
- package/esm2022/chart/common/axis/x-axis.component.mjs +109 -0
- package/esm2022/chart/common/axis/x-plot-lines.component.mjs +101 -0
- package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +233 -0
- package/esm2022/chart/common/axis/y-axis.component.mjs +122 -0
- package/esm2022/chart/common/axis/y-plot-lines.component.mjs +126 -0
- package/esm2022/chart/common/chart/chart.component.mjs +269 -0
- package/esm2022/chart/common/index.mjs +18 -0
- package/esm2022/chart/common/legend/legend.component.mjs +269 -0
- package/esm2022/chart/common/range-area/range-area.component.mjs +144 -0
- package/esm2022/chart/common/reference-area/reference-area.component.mjs +46 -0
- package/esm2022/chart/common/series/area-series.component.mjs +89 -0
- package/esm2022/chart/common/series/bar-path.component.mjs +156 -0
- package/esm2022/chart/common/series/bar-series.component.mjs +88 -0
- package/esm2022/chart/common/series/line-series.component.mjs +59 -0
- package/esm2022/chart/common/series/series.component.mjs +166 -0
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +520 -0
- package/esm2022/chart/constants.mjs +22 -0
- package/esm2022/chart/custom-template/dropdown-legend.mjs +112 -0
- package/esm2022/chart/public-api.mjs +10 -0
- package/esm2022/chart/types.mjs +6 -0
- package/esm2022/chart/utils.mjs +117 -0
- package/esm2022/code/code-display-dialog/component.mjs +59 -0
- package/esm2022/code/code-editor-configs.mjs +62 -0
- package/esm2022/code/code.module.mjs +73 -0
- package/esm2022/code/k8s-yaml-display-dialog/component.mjs +53 -0
- package/esm2022/code/public-api.mjs +12 -0
- package/esm2022/code/resource-yaml-display/component.mjs +114 -0
- package/esm2022/core/abstract/base-form-container.mjs +131 -0
- package/esm2022/core/abstract/base-nested-form-control.mjs +195 -0
- package/esm2022/core/abstract/index.mjs +3 -0
- package/esm2022/core/components/index.mjs +2 -0
- package/esm2022/core/components/tree/index.mjs +2 -0
- package/esm2022/core/components/tree/module.mjs +41 -0
- package/esm2022/core/components/tree/node/component.mjs +47 -0
- package/esm2022/core/components/tree/outlet.mjs +34 -0
- package/esm2022/core/components/tree/padding.mjs +41 -0
- package/esm2022/core/components/tree/public-api.mjs +7 -0
- package/esm2022/core/components/tree/toggle.mjs +44 -0
- package/esm2022/core/components/tree/tree/component.mjs +27 -0
- package/esm2022/core/constants/constants.mjs +84 -0
- package/esm2022/core/constants/index.mjs +6 -0
- package/esm2022/core/constants/patterns.mjs +28 -0
- package/esm2022/core/constants/status-icons.mjs +31 -0
- package/esm2022/core/constants/timezones.mjs +234 -0
- package/esm2022/core/constants/tokens.mjs +129 -0
- package/esm2022/core/directives/click-outside.directive.mjs +51 -0
- package/esm2022/core/directives/disabled.directive.mjs +76 -0
- package/esm2022/core/directives/feature-gate.directive.mjs +87 -0
- package/esm2022/core/directives/index.mjs +11 -0
- package/esm2022/core/directives/intercept-deactivate.directive.mjs +52 -0
- package/esm2022/core/directives/last-form-item.directive.mjs +18 -0
- package/esm2022/core/directives/page-header-content.directive.mjs +41 -0
- package/esm2022/core/directives/readonly-field.directive.mjs +157 -0
- package/esm2022/core/directives/resize.directive.mjs +39 -0
- package/esm2022/core/directives/scroll-border-observer.directive.mjs +77 -0
- package/esm2022/core/directives/scroll-to-first-invalid.directive.mjs +130 -0
- package/esm2022/core/guards/feature.guard.mjs +60 -0
- package/esm2022/core/guards/index.mjs +5 -0
- package/esm2022/core/guards/intercept-deactivate.guard.mjs +40 -0
- package/esm2022/core/guards/leave-edit-page.guard.mjs +32 -0
- package/esm2022/core/guards/project-namespace.guard.mjs +70 -0
- package/esm2022/core/index.mjs +2 -0
- package/esm2022/core/module.mjs +145 -0
- package/esm2022/core/pipes/cron-human-readable.pipe.mjs +33 -0
- package/esm2022/core/pipes/crontab-next.pipe.mjs +62 -0
- package/esm2022/core/pipes/field-not-available.pipe.mjs +25 -0
- package/esm2022/core/pipes/img-header.pipe.mjs +18 -0
- package/esm2022/core/pipes/img-theme.pipe.mjs +37 -0
- package/esm2022/core/pipes/index.mjs +18 -0
- package/esm2022/core/pipes/k8s-util.pipe.mjs +196 -0
- package/esm2022/core/pipes/k8s-util.pipe.module.mjs +56 -0
- package/esm2022/core/pipes/keyvalue.pipe.mjs +20 -0
- package/esm2022/core/pipes/marked.pipe.mjs +17 -0
- package/esm2022/core/pipes/minimum-format.pipe.mjs +24 -0
- package/esm2022/core/pipes/page-env.pipe.mjs +66 -0
- package/esm2022/core/pipes/parse-json-translate.pipe.mjs +29 -0
- package/esm2022/core/pipes/parse-json.pipe.mjs +22 -0
- package/esm2022/core/pipes/safe.pipe.mjs +44 -0
- package/esm2022/core/pipes/time.pipe.mjs +115 -0
- package/esm2022/core/pipes/timezone-display.pipe.mjs +21 -0
- package/esm2022/core/pipes/trust-url.pipe.mjs +28 -0
- package/esm2022/core/public-api.mjs +17 -0
- package/esm2022/core/services/aui-paginator-intl.service.mjs +26 -0
- package/esm2022/core/services/aui-tooltip-copy-intl.service.mjs +24 -0
- package/esm2022/core/services/context.service.mjs +48 -0
- package/esm2022/core/services/custom-code-editor-intl.service.mjs +54 -0
- package/esm2022/core/services/feature-gate.service.mjs +73 -0
- package/esm2022/core/services/form-row-duplicate/form-row-duplicate.service.mjs +280 -0
- package/esm2022/core/services/index.mjs +15 -0
- package/esm2022/core/services/intercept-deactivate.service.mjs +78 -0
- package/esm2022/core/services/k8s-util.service.mjs +181 -0
- package/esm2022/core/services/on-resize.service.mjs +52 -0
- package/esm2022/core/services/silently-navigate.service.mjs +28 -0
- package/esm2022/core/services/time.service.mjs +46 -0
- package/esm2022/core/services/ui-state.service.mjs +68 -0
- package/esm2022/core/services/workspace-helper.service.mjs +21 -0
- package/esm2022/core/services/yaml-util.service.mjs +97 -0
- package/esm2022/core/types/commons.mjs +6 -0
- package/esm2022/core/types/helpers.mjs +12 -0
- package/esm2022/core/types/index.mjs +11 -0
- package/esm2022/core/types/k8s/core.mjs +2 -0
- package/esm2022/core/types/k8s/crd.mjs +26 -0
- package/esm2022/core/types/k8s/index.mjs +4 -0
- package/esm2022/core/types/k8s/raw.mjs +123 -0
- package/esm2022/core/types/resource-definitions.mjs +408 -0
- package/esm2022/core/types/schema.mjs +2 -0
- package/esm2022/core/utils/browser.mjs +15 -0
- package/esm2022/core/utils/cache-store.mjs +55 -0
- package/esm2022/core/utils/color-helpers.mjs +6 -0
- package/esm2022/core/utils/common.mjs +261 -0
- package/esm2022/core/utils/create-recursive-filter.mjs +57 -0
- package/esm2022/core/utils/cron-util.mjs +44 -0
- package/esm2022/core/utils/decorators.mjs +116 -0
- package/esm2022/core/utils/format-number.mjs +229 -0
- package/esm2022/core/utils/index.mjs +23 -0
- package/esm2022/core/utils/k8s-pattern.mjs +13 -0
- package/esm2022/core/utils/k8s-util.mjs +97 -0
- package/esm2022/core/utils/local-storage-constants.mjs +2 -0
- package/esm2022/core/utils/node.mjs +18 -0
- package/esm2022/core/utils/observable.mjs +23 -0
- package/esm2022/core/utils/operators.mjs +32 -0
- package/esm2022/core/utils/request-pool.mjs +37 -0
- package/esm2022/core/utils/resources.mjs +66 -0
- package/esm2022/core/utils/tree.mjs +79 -0
- package/esm2022/core/utils/unit.mjs +199 -0
- package/esm2022/core/utils/version.mjs +76 -0
- package/esm2022/core/utils/with-load-state.mjs +21 -0
- package/esm2022/core/utils/workspace.mjs +59 -0
- package/esm2022/core/utils/yaml.mjs +46 -0
- package/esm2022/custom-columns-setting/component.mjs +107 -0
- package/esm2022/custom-columns-setting/public-api.mjs +2 -0
- package/esm2022/disabled-container/disabled-container.component.mjs +88 -0
- package/esm2022/disabled-container/disabled-container.module.mjs +28 -0
- package/esm2022/disabled-container/public-api.mjs +9 -0
- package/esm2022/editable-text/component.mjs +96 -0
- package/esm2022/editable-text/index.mjs +3 -0
- package/esm2022/editable-text/module.mjs +44 -0
- package/esm2022/effect-directive/coerce-number.directive.mjs +57 -0
- package/esm2022/effect-directive/e2e-attribute-binding.directive.mjs +57 -0
- package/esm2022/effect-directive/event.directive.mjs +56 -0
- package/esm2022/effect-directive/min-max.directive.mjs +111 -0
- package/esm2022/effect-directive/module.mjs +46 -0
- package/esm2022/effect-directive/public-api.mjs +8 -0
- package/esm2022/effect-directive/trim.directive.mjs +43 -0
- package/esm2022/effect-directive/validators.directive.mjs +43 -0
- package/esm2022/errors-mapper/base-errors-mapper.mjs +42 -0
- package/esm2022/errors-mapper/default-errors-mapper.service.mjs +65 -0
- package/esm2022/errors-mapper/errors-mapper-component/component.mjs +71 -0
- package/esm2022/errors-mapper/errors-mapper.directive.mjs +115 -0
- package/esm2022/errors-mapper/errors-mapper.module.mjs +18 -0
- package/esm2022/errors-mapper/public-api.mjs +5 -0
- package/esm2022/errors-mapper/types.mjs +2 -0
- package/esm2022/exec/constants.mjs +64 -0
- package/esm2022/exec/index.mjs +8 -0
- package/esm2022/exec/module.mjs +82 -0
- package/esm2022/exec/placeholder/component.mjs +42 -0
- package/esm2022/exec/service.mjs +38 -0
- package/esm2022/exec/terminal/component.mjs +571 -0
- package/esm2022/exec/terminal-group/component.mjs +206 -0
- package/esm2022/exec/types.mjs +2 -0
- package/esm2022/feature-gate-forbidden/component/component.mjs +36 -0
- package/esm2022/feature-gate-forbidden/index.mjs +3 -0
- package/esm2022/feature-gate-forbidden/module.mjs +28 -0
- package/esm2022/form/index.mjs +5 -0
- package/esm2022/form/labels-editor/component.mjs +240 -0
- package/esm2022/form/taints-editor/component.mjs +210 -0
- package/esm2022/form/utils.mjs +61 -0
- package/esm2022/form/validators/async-function-validator.directive.mjs +48 -0
- package/esm2022/form/validators/dns1123-subdomain.mjs +42 -0
- package/esm2022/form/validators/function-validator.directive.mjs +48 -0
- package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +69 -0
- package/esm2022/form/validators/module.mjs +42 -0
- package/esm2022/form/validators/not-be-validator.directive.mjs +55 -0
- package/esm2022/form/validators/one-of-validator.directive.mjs +56 -0
- package/esm2022/form/validators/public-api.mjs +11 -0
- package/esm2022/form/validators/resource-limit.mjs +79 -0
- package/esm2022/form/validators/strong-password/index.mjs +4 -0
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +102 -0
- package/esm2022/form/validators/strong-password/strong-password-tooltip/index.mjs +2 -0
- package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +172 -0
- package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +42 -0
- package/esm2022/form/validators/utils.mjs +107 -0
- package/esm2022/graph-canvas/components/graph-actions.component.mjs +48 -0
- package/esm2022/graph-canvas/components/graph-canvas.component.mjs +354 -0
- package/esm2022/graph-canvas/components/graph-link.component.mjs +140 -0
- package/esm2022/graph-canvas/components/graph-links.component.mjs +19 -0
- package/esm2022/graph-canvas/components/graph-node.directive.mjs +30 -0
- package/esm2022/graph-canvas/graph-canvas.module.mjs +49 -0
- package/esm2022/graph-canvas/graph-store.service.mjs +45 -0
- package/esm2022/graph-canvas/public-api.mjs +8 -0
- package/esm2022/graph-canvas/types.mjs +2 -0
- package/esm2022/graph-canvas/utils.mjs +16 -0
- package/esm2022/grid-layout/components/grid/component.mjs +286 -0
- package/esm2022/grid-layout/components/grid-items/component.mjs +228 -0
- package/esm2022/grid-layout/constant.mjs +7 -0
- package/esm2022/grid-layout/directives/drag-handler.directive.mjs +29 -0
- package/esm2022/grid-layout/directives/placeholder.directive.mjs +36 -0
- package/esm2022/grid-layout/directives/remove-handler.directive.mjs +22 -0
- package/esm2022/grid-layout/directives/resize-handler.directive.mjs +29 -0
- package/esm2022/grid-layout/grid-layout.service.mjs +85 -0
- package/esm2022/grid-layout/grid-placeholder.service.mjs +45 -0
- package/esm2022/grid-layout/index.mjs +11 -0
- package/esm2022/grid-layout/module.mjs +38 -0
- package/esm2022/grid-layout/type.mjs +6 -0
- package/esm2022/grid-layout/utils/client-rect.utils.mjs +12 -0
- package/esm2022/grid-layout/utils/grid.utils.mjs +265 -0
- package/esm2022/grid-layout/utils/mouse.utils.mjs +50 -0
- package/esm2022/grid-layout/utils/operator.mjs +6 -0
- package/esm2022/grid-layout/utils/react-grid-layout.utils.mjs +471 -0
- package/esm2022/grid-layout/utils/scroll.utils.mjs +209 -0
- package/esm2022/help-document/component.mjs +103 -0
- package/esm2022/help-document/directive.mjs +128 -0
- package/esm2022/help-document/module.mjs +47 -0
- package/esm2022/help-document/public-api.mjs +10 -0
- package/esm2022/help-document/service.mjs +57 -0
- package/esm2022/iframe-config/config.service.mjs +49 -0
- package/esm2022/iframe-config/constants.mjs +8 -0
- package/esm2022/iframe-config/public-api.mjs +9 -0
- package/esm2022/k8s-resource-list/footer/component.mjs +331 -0
- package/esm2022/k8s-resource-list/k8s-resource-list.mjs +226 -0
- package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +43 -0
- package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +176 -0
- package/esm2022/k8s-resource-list/public-api.mjs +13 -0
- package/esm2022/k8s-resource-list/types.mjs +11 -0
- package/esm2022/k8s-resource-list/utils.mjs +81 -0
- package/esm2022/license/license-api.mjs +55 -0
- package/esm2022/license/license-error/component.mjs +113 -0
- package/esm2022/license/license-error/module.mjs +55 -0
- package/esm2022/license/license.guard.mjs +54 -0
- package/esm2022/license/license.service.mjs +53 -0
- package/esm2022/license/license.type.mjs +24 -0
- package/esm2022/license/public-api.mjs +12 -0
- package/esm2022/metric-chart/common-chart.service.mjs +77 -0
- package/esm2022/metric-chart/helpers.mjs +111 -0
- package/esm2022/metric-chart/metric-chart.component.mjs +344 -0
- package/esm2022/metric-chart/metric-chart.module.mjs +61 -0
- package/esm2022/metric-chart/metric-time-pick.mjs +114 -0
- package/esm2022/metric-chart/public-api.mjs +14 -0
- package/esm2022/metric-chart/range-util.mjs +35 -0
- package/esm2022/metric-chart/types.mjs +2 -0
- package/esm2022/metric-chart/utils.mjs +220 -0
- package/esm2022/multi-search/action-input/component.mjs +1055 -0
- package/esm2022/multi-search/form/component.mjs +379 -0
- package/esm2022/multi-search/index.mjs +5 -0
- package/esm2022/multi-search/multi-search-tags/component.mjs +129 -0
- package/esm2022/multi-search/types.mjs +2 -0
- package/esm2022/multi-search/utils.mjs +48 -0
- package/esm2022/mutable/element.mjs +23 -0
- package/esm2022/mutable/mosaic/mosaic.component.mjs +98 -0
- package/esm2022/mutable/mosaic/mosaic.directive.mjs +23 -0
- package/esm2022/mutable/mutable.directive.mjs +356 -0
- package/esm2022/mutable/mutable.module.mjs +41 -0
- package/esm2022/mutable/public-api.mjs +6 -0
- package/esm2022/mutable/util.mjs +16 -0
- package/esm2022/notification/errors-mapper.mjs +28 -0
- package/esm2022/notification/feedback-notification/component.mjs +95 -0
- package/esm2022/notification/helpers.mjs +4 -0
- package/esm2022/notification/notification-util.module.mjs +32 -0
- package/esm2022/notification/notification-util.service.mjs +156 -0
- package/esm2022/notification/public-api.mjs +13 -0
- package/esm2022/notification/resource-error.interceptor.mjs +60 -0
- package/esm2022/overview-banner/overview-banner.component.mjs +34 -0
- package/esm2022/overview-banner/overview-banner.module.mjs +20 -0
- package/esm2022/overview-banner/overview-banner.types.mjs +2 -0
- package/esm2022/overview-banner/public-api.mjs +4 -0
- package/esm2022/page-guard/component/component.mjs +295 -0
- package/esm2022/page-guard/component/helper-directives.mjs +51 -0
- package/esm2022/page-guard/component/page-guard.type.mjs +82 -0
- package/esm2022/page-guard/module.mjs +37 -0
- package/esm2022/page-guard/public-api.mjs +11 -0
- package/esm2022/page-scaffold/index.mjs +5 -0
- package/esm2022/page-scaffold/module.mjs +21 -0
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +26 -0
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +266 -0
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.service.mjs +27 -0
- package/esm2022/page-scaffold/navigation/breadcrumb/index.mjs +5 -0
- package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +44 -0
- package/esm2022/page-scaffold/navigation/index.mjs +7 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +113 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/alarm.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/app.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/application.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/artifactory.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/audit.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/auxiliary_function.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/backup.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/bar_chart.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/bill.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/catalog.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/certificate.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/ci.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/code.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/data_service.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/devops.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/devops_tools.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/events.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/file.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/gateway.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/gitops.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/inspection.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/internet.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/kafka.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/log.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/member.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/mongodb.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/monitor.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/mysql.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/namespace.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/notice.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/oam.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/operation_center.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/params_template.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/pipeline.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/platform_settings.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/postgresql.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/product.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/proj.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/rabbitmq.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/redis.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/resource_list.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/rocketmq.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/scrum.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/secrets.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/security.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/server.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/service_mesh.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/sitemap.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/sliders_up.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/storage.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/test_management.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/topology.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/user_role.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/view_jaeger.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/virtualization.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/index.mjs +3 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +91 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +17 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/replace-lottie-colors.mjs +70 -0
- package/esm2022/page-scaffold/navigation/module.mjs +18 -0
- package/esm2022/page-scaffold/navigation/nav-menu/index.mjs +4 -0
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +443 -0
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +83 -0
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +185 -0
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +63 -0
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +2 -0
- package/esm2022/page-scaffold/navigation/navconfig-loader/index.mjs +8 -0
- package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +175 -0
- package/esm2022/page-scaffold/navigation/utils.mjs +12 -0
- package/esm2022/page-scaffold/page/context.service.mjs +22 -0
- package/esm2022/page-scaffold/page/helper-directives.mjs +66 -0
- package/esm2022/page-scaffold/page/index.mjs +5 -0
- package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +146 -0
- package/esm2022/page-scaffold/page/notices/notice.component.mjs +129 -0
- package/esm2022/page-scaffold/page/page.component.mjs +140 -0
- package/esm2022/page-scaffold/page/page.module.mjs +67 -0
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +199 -0
- package/esm2022/page-scaffold/page-header/account-menu/module.mjs +43 -0
- package/esm2022/page-scaffold/page-header/account-menu/public-api.mjs +8 -0
- package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +75 -0
- package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +86 -0
- package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +271 -0
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +273 -0
- package/esm2022/page-scaffold/page-header/common-layout/product-select/service.mjs +19 -0
- package/esm2022/page-scaffold/page-header/common-layout/project-select/base-selection.mjs +122 -0
- package/esm2022/page-scaffold/page-header/common-layout/public-api.mjs +14 -0
- package/esm2022/page-scaffold/page-header/common-layout/store.service.mjs +58 -0
- package/esm2022/page-scaffold/page-header/common-layout/utils.mjs +7 -0
- package/esm2022/page-scaffold/page-header/component.mjs +104 -0
- package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +131 -0
- package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +136 -0
- package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +95 -0
- package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +71 -0
- package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +282 -0
- package/esm2022/page-scaffold/page-header/header-notify/public-api.mjs +10 -0
- package/esm2022/page-scaffold/page-header/header-notify/utils.mjs +44 -0
- package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +306 -0
- package/esm2022/page-scaffold/page-header/help-menu/module.mjs +65 -0
- package/esm2022/page-scaffold/page-header/help-menu/public-api.mjs +8 -0
- package/esm2022/page-scaffold/page-header/index.mjs +14 -0
- package/esm2022/page-scaffold/page-header/module.mjs +61 -0
- package/esm2022/permission/admin.guard.mjs +43 -0
- package/esm2022/permission/constants.mjs +2 -0
- package/esm2022/permission/helpers.mjs +43 -0
- package/esm2022/permission/k8s-permission.service.mjs +110 -0
- package/esm2022/permission/permission.guard.mjs +108 -0
- package/esm2022/permission/public-api.mjs +13 -0
- package/esm2022/permission/types.mjs +38 -0
- package/esm2022/pie-derivative-chart/donut-status/component.mjs +195 -0
- package/esm2022/pie-derivative-chart/indicator-color.directive.mjs +30 -0
- package/esm2022/pie-derivative-chart/numerical-limit.pipe.mjs +26 -0
- package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +67 -0
- package/esm2022/pie-derivative-chart/public-api.mjs +11 -0
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +244 -0
- package/esm2022/public-api.mjs +44 -0
- package/esm2022/scm/index.mjs +9 -0
- package/esm2022/scm/password-input/component.mjs +224 -0
- package/esm2022/scm/password-input/index.mjs +3 -0
- package/esm2022/scm/password-input/module.mjs +64 -0
- package/esm2022/scm/pure-pipe/calc.pipe.mjs +20 -0
- package/esm2022/scm/pure-pipe/index.mjs +4 -0
- package/esm2022/scm/pure-pipe/module.mjs +19 -0
- package/esm2022/scm/pure-pipe/pure.pipe.mjs +26 -0
- package/esm2022/scm/resource-multi-select/component.mjs +214 -0
- package/esm2022/scm/resource-multi-select/util.mjs +24 -0
- package/esm2022/scm/search-panel/component.mjs +86 -0
- package/esm2022/scm/search-panel/helper.directive.mjs +14 -0
- package/esm2022/scm/search-panel/search-item/component.mjs +28 -0
- package/esm2022/scm/text-ellipsis/component.mjs +55 -0
- package/esm2022/searchable-selector/component.mjs +275 -0
- package/esm2022/searchable-selector/module.mjs +63 -0
- package/esm2022/searchable-selector/public-api.mjs +3 -0
- package/esm2022/skeleton/item/component.mjs +44 -0
- package/esm2022/skeleton/module.mjs +26 -0
- package/esm2022/skeleton/nav-skeleton/component.mjs +35 -0
- package/esm2022/skeleton/public-api.mjs +4 -0
- package/esm2022/table/component.mjs +821 -0
- package/esm2022/table/constants.mjs +4 -0
- package/esm2022/table/helper.mjs +16 -0
- package/esm2022/table/helpers.directive.mjs +18 -0
- package/esm2022/table/module.mjs +82 -0
- package/esm2022/table/public-api.mjs +7 -0
- package/esm2022/table/types.mjs +2 -0
- package/esm2022/table/util.service.mjs +81 -0
- package/esm2022/translate/constants.mjs +13 -0
- package/esm2022/translate/en.json +533 -0
- package/esm2022/translate/helpers.mjs +22 -0
- package/esm2022/translate/pick-locale.pipe.mjs +34 -0
- package/esm2022/translate/public-api.mjs +16 -0
- package/esm2022/translate/tokens.mjs +13 -0
- package/esm2022/translate/translate.directive.mjs +164 -0
- package/esm2022/translate/translate.module.mjs +91 -0
- package/esm2022/translate/translate.pipe.mjs +72 -0
- package/esm2022/translate/translate.service.mjs +327 -0
- package/esm2022/translate/types.mjs +6 -0
- package/esm2022/translate/zh.json +533 -0
- package/esm2022/view-chart/custom-template/dropdown-legend.mjs +115 -0
- package/esm2022/view-chart/legend/legend.component.mjs +263 -0
- package/esm2022/view-chart/public-api.mjs +9 -0
- package/esm2022/view-chart/types.mjs +2 -0
- package/esm2022/view-chart/view-chart.component.mjs +845 -0
- package/esm2022/view-chart/view-chart.module.mjs +63 -0
- package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +115 -0
- package/esm2022/view-zchart/legend/legend.component.mjs +270 -0
- package/esm2022/view-zchart/public-api.mjs +8 -0
- package/esm2022/view-zchart/units.mjs +28 -0
- package/esm2022/view-zchart/view-zchart.component.mjs +999 -0
- package/esm2022/view-zchart/view-zchart.module.mjs +63 -0
- package/esm2022/widget/card-section/card-section.component.mjs +33 -0
- package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +342 -0
- package/esm2022/widget/confirm-delete/utils.mjs +8 -0
- package/esm2022/widget/current-time/component.mjs +42 -0
- package/esm2022/widget/date-range-picker/component.mjs +317 -0
- package/esm2022/widget/date-range-picker/public-api.mjs +4 -0
- package/esm2022/widget/date-range-picker/type.mjs +2 -0
- package/esm2022/widget/date-range-picker/util.mjs +57 -0
- package/esm2022/widget/field-set/column/component.mjs +34 -0
- package/esm2022/widget/field-set/group/component.mjs +22 -0
- package/esm2022/widget/field-set/item/component.mjs +60 -0
- package/esm2022/widget/foldable-block/component.mjs +109 -0
- package/esm2022/widget/foldable-item-in-table/component.mjs +126 -0
- package/esm2022/widget/loading-mask/loading-mask.component.mjs +75 -0
- package/esm2022/widget/public-api.mjs +20 -0
- package/esm2022/widget/relative-time/component.mjs +60 -0
- package/esm2022/widget/select-prefix-label/directive.mjs +89 -0
- package/esm2022/widget/tags-label/component.mjs +374 -0
- package/esm2022/widget/terminating-tag/component.mjs +27 -0
- package/esm2022/widget/text-tooltip/directive.mjs +73 -0
- package/esm2022/widget/text-with-url/component.mjs +76 -0
- package/esm2022/widget/widget.module.mjs +140 -0
- package/esm2022/widget/zero-state/zero-state.component.mjs +96 -0
- package/esm2022/window-channel/base-window-channel.mjs +38 -0
- package/esm2022/window-channel/directives/host-link.directive.mjs +43 -0
- package/esm2022/window-channel/host-window-channel.service.mjs +83 -0
- package/esm2022/window-channel/index.mjs +5 -0
- package/esm2022/window-channel/plugin-window-channel.service.mjs +38 -0
- package/esm2022/window-channel/utils.mjs +12 -0
- package/esm2022/xterm/public-api.mjs +4 -0
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +284 -0
- package/esm2022/xterm/xterm-terminal/xterm-terminal.directive.mjs +25 -0
- package/esm2022/xterm/xterm.component.mjs +128 -0
- package/exec/constants.d.ts +13 -0
- package/exec/index.d.ts +7 -0
- package/exec/module.d.ts +17 -0
- package/exec/placeholder/component.d.ts +20 -0
- package/exec/service.d.ts +12 -0
- package/exec/terminal/component.d.ts +95 -0
- package/exec/terminal-group/component.d.ts +41 -0
- package/exec/types.d.ts +14 -0
- package/feature-gate-forbidden/component/component.d.ts +6 -0
- package/feature-gate-forbidden/index.d.ts +2 -0
- package/feature-gate-forbidden/module.d.ts +11 -0
- package/form/index.d.ts +4 -0
- package/form/labels-editor/component.d.ts +31 -0
- package/form/taints-editor/component.d.ts +22 -0
- package/form/utils.d.ts +40 -0
- package/form/validators/async-function-validator.directive.d.ts +11 -0
- package/form/validators/dns1123-subdomain.d.ts +28 -0
- package/form/validators/function-validator.directive.d.ts +11 -0
- package/form/validators/maxlength-minlength-validator.directive.d.ts +20 -0
- package/form/validators/module.d.ts +13 -0
- package/form/validators/not-be-validator.directive.d.ts +12 -0
- package/form/validators/one-of-validator.directive.d.ts +12 -0
- package/form/validators/public-api.d.ts +10 -0
- package/form/validators/resource-limit.d.ts +16 -0
- package/form/validators/strong-password/index.d.ts +3 -0
- package/form/validators/strong-password/strong-password-tooltip/component.d.ts +6 -0
- package/form/validators/strong-password/strong-password-tooltip/index.d.ts +1 -0
- package/form/validators/strong-password/strong-password-validator.directive.d.ts +34 -0
- package/form/validators/strong-password/strong-password-validator.module.d.ts +12 -0
- package/form/validators/utils.d.ts +57 -0
- package/graph-canvas/components/graph-actions.component.d.ts +8 -0
- package/graph-canvas/components/graph-canvas.component.d.ts +47 -0
- package/graph-canvas/components/graph-link.component.d.ts +26 -0
- package/graph-canvas/components/graph-links.component.d.ts +5 -0
- package/graph-canvas/components/graph-node.directive.d.ts +15 -0
- package/graph-canvas/graph-canvas.module.d.ts +14 -0
- package/graph-canvas/graph-store.service.d.ts +19 -0
- package/graph-canvas/public-api.d.ts +7 -0
- package/graph-canvas/types.d.ts +30 -0
- package/graph-canvas/utils.d.ts +2 -0
- package/grid-layout/components/grid/component.d.ts +53 -0
- package/grid-layout/components/grid-items/component.d.ts +56 -0
- package/grid-layout/constant.d.ts +3 -0
- package/grid-layout/directives/drag-handler.directive.d.ts +11 -0
- package/grid-layout/directives/placeholder.directive.d.ts +12 -0
- package/grid-layout/directives/remove-handler.directive.d.ts +9 -0
- package/grid-layout/directives/resize-handler.directive.d.ts +11 -0
- package/grid-layout/grid-layout.service.d.ts +49 -0
- package/grid-layout/grid-placeholder.service.d.ts +17 -0
- package/grid-layout/index.d.ts +10 -0
- package/grid-layout/module.d.ts +14 -0
- package/grid-layout/type.d.ts +65 -0
- package/grid-layout/utils/client-rect.utils.d.ts +2 -0
- package/grid-layout/utils/grid.utils.d.ts +30 -0
- package/grid-layout/utils/mouse.utils.d.ts +24 -0
- package/grid-layout/utils/operator.d.ts +3 -0
- package/grid-layout/utils/react-grid-layout.utils.d.ts +171 -0
- package/grid-layout/utils/scroll.utils.d.ts +28 -0
- package/help-document/component.d.ts +30 -0
- package/help-document/directive.d.ts +38 -0
- package/help-document/module.d.ts +13 -0
- package/help-document/public-api.d.ts +9 -0
- package/help-document/service.d.ts +30 -0
- package/iframe-config/config.service.d.ts +20 -0
- package/iframe-config/constants.d.ts +7 -0
- package/iframe-config/public-api.d.ts +8 -0
- package/index.d.ts +5 -0
- package/k8s-resource-list/footer/component.d.ts +37 -0
- package/k8s-resource-list/k8s-resource-list.d.ts +42 -0
- package/k8s-resource-list/k8s-resource-list.module.d.ts +10 -0
- package/k8s-resource-list/k8s-resource-paged-list.d.ts +61 -0
- package/k8s-resource-list/public-api.d.ts +12 -0
- package/k8s-resource-list/types.d.ts +70 -0
- package/k8s-resource-list/utils.d.ts +19 -0
- package/license/license-api.d.ts +19 -0
- package/license/license-error/component.d.ts +33 -0
- package/license/license-error/module.d.ts +13 -0
- package/license/license.guard.d.ts +23 -0
- package/license/license.service.d.ts +21 -0
- package/license/license.type.d.ts +19 -0
- package/license/public-api.d.ts +11 -0
- package/metric-chart/common-chart.service.d.ts +30 -0
- package/metric-chart/helpers.d.ts +54 -0
- package/metric-chart/metric-chart.component.d.ts +115 -0
- package/metric-chart/metric-chart.module.d.ts +14 -0
- package/metric-chart/metric-time-pick.d.ts +12 -0
- package/metric-chart/public-api.d.ts +13 -0
- package/metric-chart/range-util.d.ts +1 -0
- package/metric-chart/types.d.ts +69 -0
- package/metric-chart/utils.d.ts +86 -0
- package/multi-search/action-input/component.d.ts +119 -0
- package/multi-search/form/component.d.ts +63 -0
- package/multi-search/index.d.ts +4 -0
- package/multi-search/multi-search-tags/component.d.ts +26 -0
- package/multi-search/types.d.ts +32 -0
- package/multi-search/utils.d.ts +24 -0
- package/mutable/element.d.ts +10 -0
- package/mutable/mosaic/mosaic.component.d.ts +32 -0
- package/mutable/mosaic/mosaic.directive.d.ts +9 -0
- package/mutable/mutable.directive.d.ts +83 -0
- package/mutable/mutable.module.d.ts +10 -0
- package/mutable/public-api.d.ts +5 -0
- package/mutable/util.d.ts +18 -0
- package/notification/errors-mapper.d.ts +7 -0
- package/notification/feedback-notification/component.d.ts +17 -0
- package/notification/helpers.d.ts +2 -0
- package/notification/notification-util.module.d.ts +10 -0
- package/notification/notification-util.service.d.ts +39 -0
- package/notification/public-api.d.ts +12 -0
- package/notification/resource-error.interceptor.d.ts +21 -0
- package/overview-banner/overview-banner.component.d.ts +7 -0
- package/overview-banner/overview-banner.module.d.ts +9 -0
- package/overview-banner/overview-banner.types.d.ts +5 -0
- package/overview-banner/public-api.d.ts +3 -0
- package/package.json +65 -0
- package/page-guard/component/component.d.ts +40 -0
- package/page-guard/component/helper-directives.d.ts +17 -0
- package/page-guard/component/page-guard.type.d.ts +86 -0
- package/page-guard/module.d.ts +8 -0
- package/page-guard/public-api.d.ts +10 -0
- package/page-scaffold/index.d.ts +4 -0
- package/page-scaffold/module.d.ts +10 -0
- package/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.d.ts +12 -0
- package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +40 -0
- package/page-scaffold/navigation/breadcrumb/breadcrumb.service.d.ts +13 -0
- package/page-scaffold/navigation/breadcrumb/index.d.ts +4 -0
- package/page-scaffold/navigation/breadcrumb/module.d.ts +13 -0
- package/page-scaffold/navigation/index.d.ts +6 -0
- package/page-scaffold/navigation/lottie-icons/animation-data.d.ts +2 -0
- package/page-scaffold/navigation/lottie-icons/index.d.ts +2 -0
- package/page-scaffold/navigation/lottie-icons/lottie-icon.directive.d.ts +24 -0
- package/page-scaffold/navigation/lottie-icons/module.d.ts +7 -0
- package/page-scaffold/navigation/lottie-icons/replace-lottie-colors.d.ts +1 -0
- package/page-scaffold/navigation/module.d.ts +7 -0
- package/page-scaffold/navigation/nav-menu/index.d.ts +3 -0
- package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts +52 -0
- package/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.d.ts +10 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.component.d.ts +47 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.module.d.ts +16 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +21 -0
- package/page-scaffold/navigation/navconfig-loader/index.d.ts +7 -0
- package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts +61 -0
- package/page-scaffold/navigation/utils.d.ts +11 -0
- package/page-scaffold/page/context.service.d.ts +9 -0
- package/page-scaffold/page/helper-directives.d.ts +30 -0
- package/page-scaffold/page/index.d.ts +4 -0
- package/page-scaffold/page/notices/maintenance.component.d.ts +26 -0
- package/page-scaffold/page/notices/notice.component.d.ts +22 -0
- package/page-scaffold/page/page.component.d.ts +23 -0
- package/page-scaffold/page/page.module.d.ts +14 -0
- package/page-scaffold/page-header/account-menu/component/component.d.ts +38 -0
- package/page-scaffold/page-header/account-menu/module.d.ts +10 -0
- package/page-scaffold/page-header/account-menu/public-api.d.ts +7 -0
- package/page-scaffold/page-header/common-layout/common-layout.module.d.ts +16 -0
- package/page-scaffold/page-header/common-layout/context.service.d.ts +51 -0
- package/page-scaffold/page-header/common-layout/namespace-select/component.d.ts +49 -0
- package/page-scaffold/page-header/common-layout/product-select/component.d.ts +37 -0
- package/page-scaffold/page-header/common-layout/product-select/service.d.ts +9 -0
- package/page-scaffold/page-header/common-layout/project-select/base-selection.d.ts +24 -0
- package/page-scaffold/page-header/common-layout/public-api.d.ts +13 -0
- package/page-scaffold/page-header/common-layout/store.service.d.ts +31 -0
- package/page-scaffold/page-header/common-layout/utils.d.ts +2 -0
- package/page-scaffold/page-header/component.d.ts +21 -0
- package/page-scaffold/page-header/enterprise-support-status/component.d.ts +24 -0
- package/page-scaffold/page-header/header-notify/component/header-notify.component.d.ts +27 -0
- package/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.d.ts +19 -0
- package/page-scaffold/page-header/header-notify/header-notify.module.d.ts +14 -0
- package/page-scaffold/page-header/header-notify/notify.service.d.ts +60 -0
- package/page-scaffold/page-header/header-notify/public-api.d.ts +9 -0
- package/page-scaffold/page-header/header-notify/utils.d.ts +35 -0
- package/page-scaffold/page-header/help-menu/component/component.d.ts +45 -0
- package/page-scaffold/page-header/help-menu/module.d.ts +13 -0
- package/page-scaffold/page-header/help-menu/public-api.d.ts +7 -0
- package/page-scaffold/page-header/index.d.ts +13 -0
- package/page-scaffold/page-header/module.d.ts +15 -0
- package/permission/admin.guard.d.ts +14 -0
- package/permission/constants.d.ts +1 -0
- package/permission/helpers.d.ts +11 -0
- package/permission/k8s-permission.service.d.ts +80 -0
- package/permission/permission.guard.d.ts +22 -0
- package/permission/public-api.d.ts +12 -0
- package/permission/types.d.ts +74 -0
- package/pie-derivative-chart/donut-status/component.d.ts +79 -0
- package/pie-derivative-chart/indicator-color.directive.d.ts +10 -0
- package/pie-derivative-chart/numerical-limit.pipe.d.ts +7 -0
- package/pie-derivative-chart/pie-derivative-chart.module.d.ts +15 -0
- package/pie-derivative-chart/public-api.d.ts +10 -0
- package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +55 -0
- package/public-api.d.ts +43 -0
- package/scm/index.d.ts +8 -0
- package/scm/password-input/component.d.ts +35 -0
- package/scm/password-input/index.d.ts +2 -0
- package/scm/password-input/module.d.ts +14 -0
- package/scm/pure-pipe/calc.pipe.d.ts +11 -0
- package/scm/pure-pipe/index.d.ts +3 -0
- package/scm/pure-pipe/module.d.ts +8 -0
- package/scm/pure-pipe/pure.pipe.d.ts +17 -0
- package/scm/resource-multi-select/component.d.ts +40 -0
- package/scm/resource-multi-select/util.d.ts +10 -0
- package/scm/search-panel/component.d.ts +16 -0
- package/scm/search-panel/helper.directive.d.ts +5 -0
- package/scm/search-panel/search-item/component.d.ts +7 -0
- package/scm/text-ellipsis/component.d.ts +9 -0
- package/searchable-selector/component.d.ts +54 -0
- package/searchable-selector/module.d.ts +12 -0
- package/searchable-selector/public-api.d.ts +2 -0
- package/skeleton/item/component.d.ts +12 -0
- package/skeleton/module.d.ts +10 -0
- package/skeleton/nav-skeleton/component.d.ts +6 -0
- package/skeleton/public-api.d.ts +3 -0
- package/styles/global.scss +890 -0
- package/styles/markdown-body.scss +105 -0
- package/styles/mixins.scss +640 -0
- package/styles/reset-browser.scss +88 -0
- package/styles/tailwind-preset.scss +1 -0
- package/styles/var.scss +29 -0
- package/table/component.d.ts +84 -0
- package/table/constants.d.ts +3 -0
- package/table/helper.d.ts +2 -0
- package/table/helpers.directive.d.ts +21 -0
- package/table/module.d.ts +19 -0
- package/table/public-api.d.ts +6 -0
- package/table/types.d.ts +69 -0
- package/table/util.service.d.ts +13 -0
- package/translate/constants.d.ts +13 -0
- package/translate/helpers.d.ts +14 -0
- package/translate/pick-locale.pipe.d.ts +12 -0
- package/translate/public-api.d.ts +15 -0
- package/translate/tokens.d.ts +12 -0
- package/translate/translate.directive.d.ts +52 -0
- package/translate/translate.module.d.ts +1084 -0
- package/translate/translate.pipe.d.ts +25 -0
- package/translate/translate.service.d.ts +68 -0
- package/translate/types.d.ts +20 -0
- package/view-chart/custom-template/dropdown-legend.d.ts +11 -0
- package/view-chart/legend/legend.component.d.ts +36 -0
- package/view-chart/public-api.d.ts +8 -0
- package/view-chart/types.d.ts +37 -0
- package/view-chart/view-chart.component.d.ts +187 -0
- package/view-chart/view-chart.module.d.ts +15 -0
- package/view-zchart/custom-template/dropdown-legend.d.ts +11 -0
- package/view-zchart/legend/legend.component.d.ts +42 -0
- package/view-zchart/public-api.d.ts +7 -0
- package/view-zchart/units.d.ts +2 -0
- package/view-zchart/view-zchart.component.d.ts +209 -0
- package/view-zchart/view-zchart.module.d.ts +15 -0
- package/widget/card-section/card-section.component.d.ts +7 -0
- package/widget/confirm-delete/confirm-delete.component.d.ts +57 -0
- package/widget/confirm-delete/utils.d.ts +25 -0
- package/widget/current-time/component.d.ts +14 -0
- package/widget/date-range-picker/component.d.ts +54 -0
- package/widget/date-range-picker/public-api.d.ts +3 -0
- package/widget/date-range-picker/type.d.ts +36 -0
- package/widget/date-range-picker/util.d.ts +11 -0
- package/widget/field-set/column/component.d.ts +10 -0
- package/widget/field-set/group/component.d.ts +6 -0
- package/widget/field-set/item/component.d.ts +13 -0
- package/widget/foldable-block/component.d.ts +17 -0
- package/widget/foldable-item-in-table/component.d.ts +22 -0
- package/widget/loading-mask/loading-mask.component.d.ts +13 -0
- package/widget/public-api.d.ts +19 -0
- package/widget/relative-time/component.d.ts +15 -0
- package/widget/select-prefix-label/directive.d.ts +17 -0
- package/widget/tags-label/component.d.ts +51 -0
- package/widget/terminating-tag/component.d.ts +7 -0
- package/widget/text-tooltip/directive.d.ts +21 -0
- package/widget/text-with-url/component.d.ts +12 -0
- package/widget/widget.module.d.ts +26 -0
- package/widget/zero-state/zero-state.component.d.ts +13 -0
- package/window-channel/base-window-channel.d.ts +9 -0
- package/window-channel/directives/host-link.directive.d.ts +11 -0
- package/window-channel/host-window-channel.service.d.ts +15 -0
- package/window-channel/index.d.ts +4 -0
- package/window-channel/plugin-window-channel.service.d.ts +10 -0
- package/window-channel/utils.d.ts +37 -0
- package/xterm/public-api.d.ts +3 -0
- package/xterm/xterm-terminal/xterm-terminal.component.d.ts +31 -0
- package/xterm/xterm-terminal/xterm-terminal.directive.d.ts +9 -0
- package/xterm/xterm.component.d.ts +28 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
const MAX_DIGITS = 22;
|
|
2
|
+
const DECIMAL_SEP = '.';
|
|
3
|
+
const ZERO_CHAR = '0';
|
|
4
|
+
const SymbolInfinity = '∞';
|
|
5
|
+
const SymbolDecimal = '.';
|
|
6
|
+
const SymbolGroup = '';
|
|
7
|
+
const SymbolExponential = 'E';
|
|
8
|
+
const SymbolNumberPattern = {
|
|
9
|
+
gSize: 3,
|
|
10
|
+
lgSize: 3,
|
|
11
|
+
maxFrac: 3,
|
|
12
|
+
minFrac: 0,
|
|
13
|
+
minInt: 1,
|
|
14
|
+
negPre: '-',
|
|
15
|
+
negSuf: '',
|
|
16
|
+
posPre: '',
|
|
17
|
+
posSuf: '',
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Transforms a number to a locale string based on a style and a format
|
|
21
|
+
*/
|
|
22
|
+
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
23
|
+
function formatNumberToLocaleString(value, pattern, digitsInfo) {
|
|
24
|
+
let formattedText = '';
|
|
25
|
+
let isZero = false;
|
|
26
|
+
if (isFinite(value)) {
|
|
27
|
+
const parsedNumber = parseNumber(value);
|
|
28
|
+
const minInt = digitsInfo[0] || 0;
|
|
29
|
+
const minFraction = digitsInfo[1] || 0;
|
|
30
|
+
const maxFraction = digitsInfo[2] || 0;
|
|
31
|
+
roundNumber(parsedNumber, minFraction, maxFraction);
|
|
32
|
+
let digits = parsedNumber.digits;
|
|
33
|
+
let integerLen = parsedNumber.integerLen;
|
|
34
|
+
const exponent = parsedNumber.exponent;
|
|
35
|
+
let decimals = [];
|
|
36
|
+
isZero = digits.every(d => !d);
|
|
37
|
+
// pad zeros for small numbers
|
|
38
|
+
for (; integerLen < minInt; integerLen++) {
|
|
39
|
+
digits.unshift(0);
|
|
40
|
+
}
|
|
41
|
+
// pad zeros for small numbers
|
|
42
|
+
for (; integerLen < 0; integerLen++) {
|
|
43
|
+
digits.unshift(0);
|
|
44
|
+
}
|
|
45
|
+
// extract decimals digits
|
|
46
|
+
if (integerLen > 0) {
|
|
47
|
+
decimals = digits.splice(integerLen, digits.length);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
decimals = digits;
|
|
51
|
+
digits = [0];
|
|
52
|
+
}
|
|
53
|
+
// format the integer digits with grouping separators
|
|
54
|
+
const groups = [];
|
|
55
|
+
if (digits.length >= pattern.lgSize) {
|
|
56
|
+
groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));
|
|
57
|
+
}
|
|
58
|
+
while (digits.length > pattern.gSize) {
|
|
59
|
+
groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));
|
|
60
|
+
}
|
|
61
|
+
if (digits.length > 0) {
|
|
62
|
+
groups.unshift(digits.join(''));
|
|
63
|
+
}
|
|
64
|
+
formattedText = groups.join(SymbolGroup);
|
|
65
|
+
// append the decimal digits
|
|
66
|
+
if (decimals.length > 0) {
|
|
67
|
+
formattedText += SymbolDecimal + decimals.join('');
|
|
68
|
+
}
|
|
69
|
+
if (exponent) {
|
|
70
|
+
formattedText += SymbolExponential + '+' + exponent;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
formattedText = SymbolInfinity;
|
|
75
|
+
}
|
|
76
|
+
formattedText =
|
|
77
|
+
value < 0 && !isZero
|
|
78
|
+
? pattern.negPre + formattedText + pattern.negSuf
|
|
79
|
+
: pattern.posPre + formattedText + pattern.posSuf;
|
|
80
|
+
return formattedText;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @ngModule CommonModule
|
|
84
|
+
*
|
|
85
|
+
* Formats a number as text. Group sizing and separator and other locale-specific
|
|
86
|
+
* configurations are based on the locale.
|
|
87
|
+
*
|
|
88
|
+
* Where:
|
|
89
|
+
* - `value` is a number.
|
|
90
|
+
* - `digitInfo` See {@link DecimalPipe} for more details.
|
|
91
|
+
*/
|
|
92
|
+
export function formatNumber(value, digitsInfo) {
|
|
93
|
+
return formatNumberToLocaleString(value, SymbolNumberPattern, digitsInfo);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Parses a number.
|
|
97
|
+
* Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/
|
|
98
|
+
*/
|
|
99
|
+
function parseNumber(num) {
|
|
100
|
+
let numStr = Math.abs(num) + '';
|
|
101
|
+
let exponent = 0;
|
|
102
|
+
let digits;
|
|
103
|
+
let integerLen;
|
|
104
|
+
let i;
|
|
105
|
+
let j;
|
|
106
|
+
let zeros;
|
|
107
|
+
// Decimal point?
|
|
108
|
+
if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {
|
|
109
|
+
numStr = numStr.replace(DECIMAL_SEP, '');
|
|
110
|
+
}
|
|
111
|
+
// Exponential form?
|
|
112
|
+
if ((i = numStr.search(/e/i)) > 0) {
|
|
113
|
+
// Work out the exponent.
|
|
114
|
+
if (integerLen < 0) {
|
|
115
|
+
integerLen = i;
|
|
116
|
+
}
|
|
117
|
+
integerLen += +numStr.slice(i + 1);
|
|
118
|
+
numStr = numStr.slice(0, Math.max(0, i));
|
|
119
|
+
}
|
|
120
|
+
else if (integerLen < 0) {
|
|
121
|
+
// There was no decimal point or exponent so it is an integer.
|
|
122
|
+
integerLen = numStr.length;
|
|
123
|
+
}
|
|
124
|
+
// Count the number of leading zeros.
|
|
125
|
+
for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) {
|
|
126
|
+
/* empty */
|
|
127
|
+
}
|
|
128
|
+
if (i === (zeros = numStr.length)) {
|
|
129
|
+
// The digits are all zero.
|
|
130
|
+
digits = [0];
|
|
131
|
+
integerLen = 1;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
// Count the number of trailing zeros
|
|
135
|
+
zeros--;
|
|
136
|
+
while (numStr.charAt(zeros) === ZERO_CHAR) {
|
|
137
|
+
zeros--;
|
|
138
|
+
}
|
|
139
|
+
// Trailing zeros are insignificant so ignore them
|
|
140
|
+
integerLen -= i;
|
|
141
|
+
digits = [];
|
|
142
|
+
// Convert string to array of digits without leading/trailing zeros.
|
|
143
|
+
for (j = 0; i <= zeros; i++, j++) {
|
|
144
|
+
digits[j] = Number(numStr.charAt(i));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// If the number overflows the maximum allowed digits then use an exponent.
|
|
148
|
+
if (integerLen > MAX_DIGITS) {
|
|
149
|
+
digits = digits.splice(0, MAX_DIGITS - 1);
|
|
150
|
+
exponent = integerLen - 1;
|
|
151
|
+
integerLen = 1;
|
|
152
|
+
}
|
|
153
|
+
return { digits, exponent, integerLen };
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Round the parsed number to the specified number of decimal places
|
|
157
|
+
* This function changes the parsedNumber in-place
|
|
158
|
+
*/
|
|
159
|
+
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
160
|
+
function roundNumber(parsedNumber, minFrac, maxFrac) {
|
|
161
|
+
if (minFrac > maxFrac) {
|
|
162
|
+
throw new Error(`The minimum number of digits after fraction (${minFrac}) is higher than the maximum (${maxFrac}).`);
|
|
163
|
+
}
|
|
164
|
+
const digits = parsedNumber.digits;
|
|
165
|
+
let fractionLen = digits.length - parsedNumber.integerLen;
|
|
166
|
+
const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);
|
|
167
|
+
// The index of the digit to where rounding is to occur
|
|
168
|
+
let roundAt = fractionSize + parsedNumber.integerLen;
|
|
169
|
+
const digit = digits[roundAt];
|
|
170
|
+
if (roundAt > 0) {
|
|
171
|
+
// Drop fractional digits beyond `roundAt`
|
|
172
|
+
digits.splice(Math.max(parsedNumber.integerLen, roundAt));
|
|
173
|
+
// Set non-fractional digits beyond `roundAt` to 0
|
|
174
|
+
for (let j = roundAt; j < digits.length; j++) {
|
|
175
|
+
digits[j] = 0;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
// We rounded to zero so reset the parsedNumber
|
|
180
|
+
fractionLen = Math.max(0, fractionLen);
|
|
181
|
+
parsedNumber.integerLen = 1;
|
|
182
|
+
digits.length = Math.max(1, (roundAt = fractionSize + 1));
|
|
183
|
+
digits[0] = 0;
|
|
184
|
+
for (let i = 1; i < roundAt; i++) {
|
|
185
|
+
digits[i] = 0;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
if (digit >= 5) {
|
|
189
|
+
if (roundAt - 1 < 0) {
|
|
190
|
+
for (let k = 0; k > roundAt; k--) {
|
|
191
|
+
digits.unshift(0);
|
|
192
|
+
parsedNumber.integerLen++;
|
|
193
|
+
}
|
|
194
|
+
digits.unshift(1);
|
|
195
|
+
parsedNumber.integerLen++;
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
digits[roundAt - 1]++;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
// Pad out with zeros to get the required fraction length
|
|
202
|
+
for (; fractionLen < Math.max(0, fractionSize); fractionLen++) {
|
|
203
|
+
digits.push(0);
|
|
204
|
+
}
|
|
205
|
+
let dropTrailingZeros = fractionSize !== 0;
|
|
206
|
+
// Minimal length = nb of decimals required + current nb of integers
|
|
207
|
+
// Any number besides that is optional and can be removed if it's a trailing 0
|
|
208
|
+
const minLen = minFrac + parsedNumber.integerLen;
|
|
209
|
+
// Do any carrying, e.g. a digit was rounded up to 10
|
|
210
|
+
const carry = digits.reduceRight((c, d, i, ds) => {
|
|
211
|
+
d = d + c;
|
|
212
|
+
ds[i] = d < 10 ? d : d - 10; // d % 10
|
|
213
|
+
if (dropTrailingZeros) {
|
|
214
|
+
// Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)
|
|
215
|
+
if (ds[i] === 0 && i >= minLen) {
|
|
216
|
+
ds.pop();
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
dropTrailingZeros = false;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return d >= 10 ? 1 : 0;
|
|
223
|
+
}, 0);
|
|
224
|
+
if (carry) {
|
|
225
|
+
digits.unshift(carry);
|
|
226
|
+
parsedNumber.integerLen++;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL2Zvcm1hdC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQztBQUN4QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDO0FBQzNCLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQztBQUMxQixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDdkIsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDOUIsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsRUFBRTtJQUNWLE1BQU0sRUFBRSxFQUFFO0lBQ1YsTUFBTSxFQUFFLEVBQUU7Q0FDWCxDQUFDO0FBRUY7O0dBRUc7QUFDSCx3REFBd0Q7QUFDeEQsU0FBUywwQkFBMEIsQ0FDakMsS0FBYSxFQUNiLE9BQTJCLEVBQzNCLFVBQXFCO0lBRXJCLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFbkIsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbkIsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FB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LEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUMvQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTO1FBQ3RDLElBQUksaUJBQWlCLEVBQUU7WUFDckIsOEVBQThFO1lBQzlFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxFQUFFO2dCQUM5QixFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDVjtpQkFBTTtnQkFDTCxpQkFBaUIsR0FBRyxLQUFLLENBQUM7YUFDM0I7U0FDRjtRQUNELE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ04sSUFBSSxLQUFLLEVBQUU7UUFDVCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztLQUMzQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBNQVhfRElHSVRTID0gMjI7XG5jb25zdCBERUNJTUFMX1NFUCA9ICcuJztcbmNvbnN0IFpFUk9fQ0hBUiA9ICcwJztcbmNvbnN0IFN5bWJvbEluZmluaXR5ID0gJ+KInic7XG5jb25zdCBTeW1ib2xEZWNpbWFsID0gJy4nO1xuY29uc3QgU3ltYm9sR3JvdXAgPSAnJztcbmNvbnN0IFN5bWJvbEV4cG9uZW50aWFsID0gJ0UnO1xuY29uc3QgU3ltYm9sTnVtYmVyUGF0dGVybiA9IHtcbiAgZ1NpemU6IDMsXG4gIGxnU2l6ZTogMyxcbiAgbWF4RnJhYzogMyxcbiAgbWluRnJhYzogMCxcbiAgbWluSW50OiAxLFxuICBuZWdQcmU6ICctJyxcbiAgbmVnU3VmOiAnJyxcbiAgcG9zUHJlOiAnJyxcbiAgcG9zU3VmOiAnJyxcbn07XG5cbi8qKlxuICogVHJhbnNmb3JtcyBhIG51bWJlciB0byBhIGxvY2FsZSBzdHJpbmcgYmFzZWQgb24gYSBzdHlsZSBhbmQgYSBmb3JtYXRcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbmZ1bmN0aW9uIGZvcm1hdE51bWJlclRvTG9jYWxlU3RyaW5nKFxuICB2YWx1ZTogbnVtYmVyLFxuICBwYXR0ZXJuOiBQYXJzZWROdW1iZXJGb3JtYXQsXG4gIGRpZ2l0c0luZm8/OiBudW1iZXJbXSxcbik6IHN0cmluZyB7XG4gIGxldCBmb3JtYXR0ZWRUZXh0ID0gJyc7XG4gIGxldCBpc1plcm8gPSBmYWxzZTtcblxuICBpZiAoaXNGaW5pdGUodmFsdWUpKSB7XG4gICAgY29uc3QgcGFyc2VkTnVtYmVyID0gcGFyc2VOdW1iZXIodmFsdWUpO1xuXG4gICAgY29uc3QgbWluSW50ID0gZGlnaXRzSW5mb1swXSB8fCAwO1xuICAgIGNvbnN0IG1pbkZyYWN0aW9uID0gZGlnaXRzSW5mb1sxXSB8fCAwO1xuICAgIGNvbnN0IG1heEZyYWN0aW9uID0gZGlnaXRzSW5mb1syXSB8fCAwO1xuXG4gICAgcm91bmROdW1iZXIocGFyc2VkTnVtYmVyLCBtaW5GcmFjdGlvbiwgbWF4RnJhY3Rpb24pO1xuXG4gICAgbGV0IGRpZ2l0cyA9IHBhcnNlZE51bWJlci5kaWdpdHM7XG4gICAgbGV0IGludGVnZXJMZW4gPSBwYXJzZWROdW1iZXIuaW50ZWdlckxlbjtcbiAgICBjb25zdCBleHBvbmVudCA9IHBhcnNlZE51bWJlci5leHBvbmVudDtcbiAgICBsZXQgZGVjaW1hbHMgPSBbXTtcbiAgICBpc1plcm8gPSBkaWdpdHMuZXZlcnkoZCA9PiAhZCk7XG5cbiAgICAvLyBwYWQgemVyb3MgZm9yIHNtYWxsIG51bWJlcnNcbiAgICBmb3IgKDsgaW50ZWdlckxlbiA8IG1pbkludDsgaW50ZWdlckxlbisrKSB7XG4gICAgICBkaWdpdHMudW5zaGlmdCgwKTtcbiAgICB9XG5cbiAgICAvLyBwYWQgemVyb3MgZm9yIHNtYWxsIG51bWJlcnNcbiAgICBmb3IgKDsgaW50ZWdlckxlbiA8IDA7IGludGVnZXJMZW4rKykge1xuICAgICAgZGlnaXRzLnVuc2hpZnQoMCk7XG4gICAgfVxuXG4gICAgLy8gZXh0cmFjdCBkZWNpbWFscyBkaWdpdHNcbiAgICBpZiAoaW50ZWdlckxlbiA+IDApIHtcbiAgICAgIGRlY2ltYWxzID0gZGlnaXRzLnNwbGljZShpbnRlZ2VyTGVuLCBkaWdpdHMubGVuZ3RoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVjaW1hbHMgPSBkaWdpdHM7XG4gICAgICBkaWdpdHMgPSBbMF07XG4gICAgfVxuXG4gICAgLy8gZm9ybWF0IHRoZSBpbnRlZ2VyIGRpZ2l0cyB3aXRoIGdyb3VwaW5nIHNlcGFyYXRvcnNcbiAgICBjb25zdCBncm91cHMgPSBbXTtcbiAgICBpZiAoZGlnaXRzLmxlbmd0aCA+PSBwYXR0ZXJuLmxnU2l6ZSkge1xuICAgICAgZ3JvdXBzLnVuc2hpZnQoZGlnaXRzLnNwbGljZSgtcGF0dGVybi5sZ1NpemUsIGRpZ2l0cy5sZW5ndGgpLmpvaW4oJycpKTtcbiAgICB9XG5cbiAgICB3aGlsZSAoZGlnaXRzLmxlbmd0aCA+IHBhdHRlcm4uZ1NpemUpIHtcbiAgICAgIGdyb3Vwcy51bnNoaWZ0KGRpZ2l0cy5zcGxpY2UoLXBhdHRlcm4uZ1NpemUsIGRpZ2l0cy5sZW5ndGgpLmpvaW4oJycpKTtcbiAgICB9XG5cbiAgICBpZiAoZGlnaXRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGdyb3Vwcy51bnNoaWZ0KGRpZ2l0cy5qb2luKCcnKSk7XG4gICAgfVxuXG4gICAgZm9ybWF0dGVkVGV4dCA9IGdyb3Vwcy5qb2luKFN5bWJvbEdyb3VwKTtcblxuICAgIC8vIGFwcGVuZCB0aGUgZGVjaW1hbCBkaWdpdHNcbiAgICBpZiAoZGVjaW1hbHMubGVuZ3RoID4gMCkge1xuICAgICAgZm9ybWF0dGVkVGV4dCArPSBTeW1ib2xEZWNpbWFsICsgZGVjaW1hbHMuam9pbignJyk7XG4gICAgfVxuXG4gICAgaWYgKGV4cG9uZW50KSB7XG4gICAgICBmb3JtYXR0ZWRUZXh0ICs9IFN5bWJvbEV4cG9uZW50aWFsICsgJysnICsgZXhwb25lbnQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGZvcm1hdHRlZFRleHQgPSBTeW1ib2xJbmZpbml0eTtcbiAgfVxuXG4gIGZvcm1hdHRlZFRleHQgPVxuICAgIHZhbHVlIDwgMCAmJiAhaXNaZXJvXG4gICAgICA/IHBhdHRlcm4ubmVnUHJlICsgZm9ybWF0dGVkVGV4dCArIHBhdHRlcm4ubmVnU3VmXG4gICAgICA6IHBhdHRlcm4ucG9zUHJlICsgZm9ybWF0dGVkVGV4dCArIHBhdHRlcm4ucG9zU3VmO1xuXG4gIHJldHVybiBmb3JtYXR0ZWRUZXh0O1xufVxuXG4vKipcbiAqIEBuZ01vZHVsZSBDb21tb25Nb2R1bGVcbiAqXG4gKiBGb3JtYXRzIGEgbnVtYmVyIGFzIHRleHQuIEdyb3VwIHNpemluZyBhbmQgc2VwYXJhdG9yIGFuZCBvdGhlciBsb2NhbGUtc3BlY2lmaWNcbiAqIGNvbmZpZ3VyYXRpb25zIGFyZSBiYXNlZCBvbiB0aGUgbG9jYWxlLlxuICpcbiAqIFdoZXJlOlxuICogLSBgdmFsdWVgIGlzIGEgbnVtYmVyLlxuICogLSBgZGlnaXRJbmZvYCBTZWUge0BsaW5rIERlY2ltYWxQaXBlfSBmb3IgbW9yZSBkZXRhaWxzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIsIGRpZ2l0c0luZm8/OiBudW1iZXJbXSk6IHN0cmluZyB7XG4gIHJldHVybiBmb3JtYXROdW1iZXJUb0xvY2FsZVN0cmluZyh2YWx1ZSwgU3ltYm9sTnVtYmVyUGF0dGVybiwgZGlnaXRzSW5mbyk7XG59XG5cbmludGVyZmFjZSBQYXJzZWROdW1iZXJGb3JtYXQge1xuICBtaW5JbnQ6IG51bWJlcjtcbiAgLy8gdGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0cyByZXF1aXJlZCBpbiB0aGUgZnJhY3Rpb24gcGFydCBvZiB0aGUgbnVtYmVyXG4gIG1pbkZyYWM6IG51bWJlcjtcbiAgLy8gdGhlIG1heGltdW0gbnVtYmVyIG9mIGRpZ2l0cyByZXF1aXJlZCBpbiB0aGUgZnJhY3Rpb24gcGFydCBvZiB0aGUgbnVtYmVyXG4gIG1heEZyYWM6IG51bWJlcjtcbiAgLy8gdGhlIHByZWZpeCBmb3IgYSBwb3NpdGl2ZSBudW1iZXJcbiAgcG9zUHJlOiBzdHJpbmc7XG4gIC8vIHRoZSBzdWZmaXggZm9yIGEgcG9zaXRpdmUgbnVtYmVyXG4gIHBvc1N1Zjogc3RyaW5nO1xuICAvLyB0aGUgcHJlZml4IGZvciBhIG5lZ2F0aXZlIG51bWJlciAoZS5nLiBgLWAgb3IgYChgKSlcbiAgbmVnUHJlOiBzdHJpbmc7XG4gIC8vIHRoZSBzdWZmaXggZm9yIGEgbmVnYXRpdmUgbnVtYmVyIChlLmcuIGApYClcbiAgbmVnU3VmOiBzdHJpbmc7XG4gIC8vIG51bWJlciBvZiBkaWdpdHMgaW4gZWFjaCBncm91cCBvZiBzZXBhcmF0ZWQgZGlnaXRzXG4gIGdTaXplOiBudW1iZXI7XG4gIC8vIG51bWJlciBvZiBkaWdpdHMgaW4gdGhlIGxhc3QgZ3JvdXAgb2YgZGlnaXRzIGJlZm9yZSB0aGUgZGVjaW1hbCBzZXBhcmF0b3JcbiAgbGdTaXplOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBQYXJzZWROdW1iZXIge1xuICAvLyBhbiBhcnJheSBvZiBkaWdpdHMgY29udGFpbmluZyBsZWFkaW5nIHplcm9zIGFzIG5lY2Vzc2FyeVxuICBkaWdpdHM6IG51bWJlcltdO1xuICAvLyB0aGUgZXhwb25lbnQgZm9yIG51bWJlcnMgdGhhdCB3b3VsZCBuZWVkIG1vcmUgdGhhbiBgTUFYX0RJR0lUU2AgZGlnaXRzIGluIGBkYFxuICBleHBvbmVudDogbnVtYmVyO1xuICAvLyB0aGUgbnVtYmVyIG9mIHRoZSBkaWdpdHMgaW4gYGRgIHRoYXQgYXJlIHRvIHRoZSBsZWZ0IG9mIHRoZSBkZWNpbWFsIHBvaW50XG4gIGludGVnZXJMZW46IG51bWJlcjtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBudW1iZXIuXG4gKiBTaWduaWZpY2FudCBiaXRzIG9mIHRoaXMgcGFyc2UgYWxnb3JpdGhtIGNhbWUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vTWlrZU1jbC9iaWcuanMvXG4gKi9cbmZ1bmN0aW9uIHBhcnNlTnVtYmVyKG51bTogbnVtYmVyKTogUGFyc2VkTnVtYmVyIHtcbiAgbGV0IG51bVN0ciA9IE1hdGguYWJzKG51bSkgKyAnJztcbiAgbGV0IGV4cG9uZW50ID0gMDtcbiAgbGV0IGRpZ2l0czogbnVtYmVyW107XG4gIGxldCBpbnRlZ2VyTGVuOiBudW1iZXI7XG4gIGxldCBpOiBudW1iZXI7XG4gIGxldCBqOiBudW1iZXI7XG4gIGxldCB6ZXJvczogbnVtYmVyO1xuXG4gIC8vIERlY2ltYWwgcG9pbnQ/XG4gIGlmICgoaW50ZWdlckxlbiA9IG51bVN0ci5pbmRleE9mKERFQ0lNQUxfU0VQKSkgPiAtMSkge1xuICAgIG51bVN0ciA9IG51bVN0ci5yZXBsYWNlKERFQ0lNQUxfU0VQLCAnJyk7XG4gIH1cblxuICAvLyBFeHBvbmVudGlhbCBmb3JtP1xuICBpZiAoKGkgPSBudW1TdHIuc2VhcmNoKC9lL2kpKSA+IDApIHtcbiAgICAvLyBXb3JrIG91dCB0aGUgZXhwb25lbnQuXG4gICAgaWYgKGludGVnZXJMZW4gPCAwKSB7XG4gICAgICBpbnRlZ2VyTGVuID0gaTtcbiAgICB9XG4gICAgaW50ZWdlckxlbiArPSArbnVtU3RyLnNsaWNlKGkgKyAxKTtcbiAgICBudW1TdHIgPSBudW1TdHIuc2xpY2UoMCwgTWF0aC5tYXgoMCwgaSkpO1xuICB9IGVsc2UgaWYgKGludGVnZXJMZW4gPCAwKSB7XG4gICAgLy8gVGhlcmUgd2FzIG5vIGRlY2ltYWwgcG9pbnQgb3IgZXhwb25lbnQgc28gaXQgaXMgYW4gaW50ZWdlci5cbiAgICBpbnRlZ2VyTGVuID0gbnVtU3RyLmxlbmd0aDtcbiAgfVxuXG4gIC8vIENvdW50IHRoZSBudW1iZXIgb2YgbGVhZGluZyB6ZXJvcy5cbiAgZm9yIChpID0gMDsgbnVtU3RyLmNoYXJBdChpKSA9PT0gWkVST19DSEFSOyBpKyspIHtcbiAgICAvKiBlbXB0eSAqL1xuICB9XG5cbiAgaWYgKGkgPT09ICh6ZXJvcyA9IG51bVN0ci5sZW5ndGgpKSB7XG4gICAgLy8gVGhlIGRpZ2l0cyBhcmUgYWxsIHplcm8uXG4gICAgZGlnaXRzID0gWzBdO1xuICAgIGludGVnZXJMZW4gPSAxO1xuICB9IGVsc2Uge1xuICAgIC8vIENvdW50IHRoZSBudW1iZXIgb2YgdHJhaWxpbmcgemVyb3NcbiAgICB6ZXJvcy0tO1xuICAgIHdoaWxlIChudW1TdHIuY2hhckF0KHplcm9zKSA9PT0gWkVST19DSEFSKSB7XG4gICAgICB6ZXJvcy0tO1xuICAgIH1cblxuICAgIC8vIFRyYWlsaW5nIHplcm9zIGFyZSBpbnNpZ25pZmljYW50IHNvIGlnbm9yZSB0aGVtXG4gICAgaW50ZWdlckxlbiAtPSBpO1xuICAgIGRpZ2l0cyA9IFtdO1xuICAgIC8vIENvbnZlcnQgc3RyaW5nIHRvIGFycmF5IG9mIGRpZ2l0cyB3aXRob3V0IGxlYWRpbmcvdHJhaWxpbmcgemVyb3MuXG4gICAgZm9yIChqID0gMDsgaSA8PSB6ZXJvczsgaSsrLCBqKyspIHtcbiAgICAgIGRpZ2l0c1tqXSA9IE51bWJlcihudW1TdHIuY2hhckF0KGkpKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUgbnVtYmVyIG92ZXJmbG93cyB0aGUgbWF4aW11bSBhbGxvd2VkIGRpZ2l0cyB0aGVuIHVzZSBhbiBleHBvbmVudC5cbiAgaWYgKGludGVnZXJMZW4gPiBNQVhfRElHSVRTKSB7XG4gICAgZGlnaXRzID0gZGlnaXRzLnNwbGljZSgwLCBNQVhfRElHSVRTIC0gMSk7XG4gICAgZXhwb25lbnQgPSBpbnRlZ2VyTGVuIC0gMTtcbiAgICBpbnRlZ2VyTGVuID0gMTtcbiAgfVxuXG4gIHJldHVybiB7IGRpZ2l0cywgZXhwb25lbnQsIGludGVnZXJMZW4gfTtcbn1cblxuLyoqXG4gKiBSb3VuZCB0aGUgcGFyc2VkIG51bWJlciB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlc1xuICogVGhpcyBmdW5jdGlvbiBjaGFuZ2VzIHRoZSBwYXJzZWROdW1iZXIgaW4tcGxhY2VcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbmZ1bmN0aW9uIHJvdW5kTnVtYmVyKFxuICBwYXJzZWROdW1iZXI6IFBhcnNlZE51bWJlcixcbiAgbWluRnJhYzogbnVtYmVyLFxuICBtYXhGcmFjOiBudW1iZXIsXG4pIHtcbiAgaWYgKG1pbkZyYWMgPiBtYXhGcmFjKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFRoZSBtaW5pbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgZnJhY3Rpb24gKCR7bWluRnJhY30pIGlzIGhpZ2hlciB0aGFuIHRoZSBtYXhpbXVtICgke21heEZyYWN9KS5gLFxuICAgICk7XG4gIH1cblxuICBjb25zdCBkaWdpdHMgPSBwYXJzZWROdW1iZXIuZGlnaXRzO1xuICBsZXQgZnJhY3Rpb25MZW4gPSBkaWdpdHMubGVuZ3RoIC0gcGFyc2VkTnVtYmVyLmludGVnZXJMZW47XG4gIGNvbnN0IGZyYWN0aW9uU2l6ZSA9IE1hdGgubWluKE1hdGgubWF4KG1pbkZyYWMsIGZyYWN0aW9uTGVuKSwgbWF4RnJhYyk7XG5cbiAgLy8gVGhlIGluZGV4IG9mIHRoZSBkaWdpdCB0byB3aGVyZSByb3VuZGluZyBpcyB0byBvY2N1clxuICBsZXQgcm91bmRBdCA9IGZyYWN0aW9uU2l6ZSArIHBhcnNlZE51bWJlci5pbnRlZ2VyTGVuO1xuICBjb25zdCBkaWdpdCA9IGRpZ2l0c1tyb3VuZEF0XTtcblxuICBpZiAocm91bmRBdCA+IDApIHtcbiAgICAvLyBEcm9wIGZyYWN0aW9uYWwgZGlnaXRzIGJleW9uZCBgcm91bmRBdGBcbiAgICBkaWdpdHMuc3BsaWNlKE1hdGgubWF4KHBhcnNlZE51bWJlci5pbnRlZ2VyTGVuLCByb3VuZEF0KSk7XG5cbiAgICAvLyBTZXQgbm9uLWZyYWN0aW9uYWwgZGlnaXRzIGJleW9uZCBgcm91bmRBdGAgdG8gMFxuICAgIGZvciAobGV0IGogPSByb3VuZEF0OyBqIDwgZGlnaXRzLmxlbmd0aDsgaisrKSB7XG4gICAgICBkaWdpdHNbal0gPSAwO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBXZSByb3VuZGVkIHRvIHplcm8gc28gcmVzZXQgdGhlIHBhcnNlZE51bWJlclxuICAgIGZyYWN0aW9uTGVuID0gTWF0aC5tYXgoMCwgZnJhY3Rpb25MZW4pO1xuICAgIHBhcnNlZE51bWJlci5pbnRlZ2VyTGVuID0gMTtcbiAgICBkaWdpdHMubGVuZ3RoID0gTWF0aC5tYXgoMSwgKHJvdW5kQXQgPSBmcmFjdGlvblNpemUgKyAxKSk7XG4gICAgZGlnaXRzWzBdID0gMDtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IHJvdW5kQXQ7IGkrKykge1xuICAgICAgZGlnaXRzW2ldID0gMDtcbiAgICB9XG4gIH1cblxuICBpZiAoZGlnaXQgPj0gNSkge1xuICAgIGlmIChyb3VuZEF0IC0gMSA8IDApIHtcbiAgICAgIGZvciAobGV0IGsgPSAwOyBrID4gcm91bmRBdDsgay0tKSB7XG4gICAgICAgIGRpZ2l0cy51bnNoaWZ0KDApO1xuICAgICAgICBwYXJzZWROdW1iZXIuaW50ZWdlckxlbisrO1xuICAgICAgfVxuICAgICAgZGlnaXRzLnVuc2hpZnQoMSk7XG4gICAgICBwYXJzZWROdW1iZXIuaW50ZWdlckxlbisrO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaWdpdHNbcm91bmRBdCAtIDFdKys7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFkIG91dCB3aXRoIHplcm9zIHRvIGdldCB0aGUgcmVxdWlyZWQgZnJhY3Rpb24gbGVuZ3RoXG4gIGZvciAoOyBmcmFjdGlvbkxlbiA8IE1hdGgubWF4KDAsIGZyYWN0aW9uU2l6ZSk7IGZyYWN0aW9uTGVuKyspIHtcbiAgICBkaWdpdHMucHVzaCgwKTtcbiAgfVxuXG4gIGxldCBkcm9wVHJhaWxpbmdaZXJvcyA9IGZyYWN0aW9uU2l6ZSAhPT0gMDtcbiAgLy8gTWluaW1hbCBsZW5ndGggPSBuYiBvZiBkZWNpbWFscyByZXF1aXJlZCArIGN1cnJlbnQgbmIgb2YgaW50ZWdlcnNcbiAgLy8gQW55IG51bWJlciBiZXNpZGVzIHRoYXQgaXMgb3B0aW9uYWwgYW5kIGNhbiBiZSByZW1vdmVkIGlmIGl0J3MgYSB0cmFpbGluZyAwXG4gIGNvbnN0IG1pbkxlbiA9IG1pbkZyYWMgKyBwYXJzZWROdW1iZXIuaW50ZWdlckxlbjtcbiAgLy8gRG8gYW55IGNhcnJ5aW5nLCBlLmcuIGEgZGlnaXQgd2FzIHJvdW5kZWQgdXAgdG8gMTBcbiAgY29uc3QgY2FycnkgPSBkaWdpdHMucmVkdWNlUmlnaHQoKGMsIGQsIGksIGRzKSA9PiB7XG4gICAgZCA9IGQgKyBjO1xuICAgIGRzW2ldID0gZCA8IDEwID8gZCA6IGQgLSAxMDsgLy8gZCAlIDEwXG4gICAgaWYgKGRyb3BUcmFpbGluZ1plcm9zKSB7XG4gICAgICAvLyBEbyBub3Qga2VlcCBtZWFuaW5nbGVzcyBmcmFjdGlvbmFsIHRyYWlsaW5nIHplcm9zIChlLmcuIDE1LjUyMDAwIC0tPiAxNS41MilcbiAgICAgIGlmIChkc1tpXSA9PT0gMCAmJiBpID49IG1pbkxlbikge1xuICAgICAgICBkcy5wb3AoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRyb3BUcmFpbGluZ1plcm9zID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkID49IDEwID8gMSA6IDA7XG4gIH0sIDApO1xuICBpZiAoY2FycnkpIHtcbiAgICBkaWdpdHMudW5zaGlmdChjYXJyeSk7XG4gICAgcGFyc2VkTnVtYmVyLmludGVnZXJMZW4rKztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export * from './browser';
|
|
2
|
+
export * from './cache-store';
|
|
3
|
+
export * from './color-helpers';
|
|
4
|
+
export * from './common';
|
|
5
|
+
export * from './create-recursive-filter';
|
|
6
|
+
export * from './cron-util';
|
|
7
|
+
export * from './decorators';
|
|
8
|
+
export * from './k8s-util';
|
|
9
|
+
export * from './observable';
|
|
10
|
+
export * from './operators';
|
|
11
|
+
export * from './request-pool';
|
|
12
|
+
export * from './tree';
|
|
13
|
+
export * from './with-load-state';
|
|
14
|
+
export * from './workspace';
|
|
15
|
+
export * from './unit';
|
|
16
|
+
export * from './yaml';
|
|
17
|
+
export * from './version';
|
|
18
|
+
export * from './resources';
|
|
19
|
+
export * from './local-storage-constants';
|
|
20
|
+
export * from './k8s-pattern';
|
|
21
|
+
export * from './format-number';
|
|
22
|
+
export * from './node';
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJvd3Nlcic7XG5leHBvcnQgKiBmcm9tICcuL2NhY2hlLXN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1yZWN1cnNpdmUtZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY3Jvbi11dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2s4cy11dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vb2JzZXJ2YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL29wZXJhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtcG9vbCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLWxvYWQtc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi93b3Jrc3BhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91bml0JztcbmV4cG9ydCAqIGZyb20gJy4veWFtbCc7XG5leHBvcnQgKiBmcm9tICcuL3ZlcnNpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNvdXJjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2NhbC1zdG9yYWdlLWNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2s4cy1wYXR0ZXJuJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LW51bWJlcic7XG5leHBvcnQgKiBmcm9tICcuL25vZGUnO1xuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const K8S_RESOURCE_LABEL_KEY_PREFIX_PATTERN = {
|
|
2
|
+
pattern: /^[\da-z]([\da-z-]*[\da-z])?(\.[\da-z]([\da-z-]*[\da-z])?)*$/,
|
|
3
|
+
tip: 'regexp_tip_resource_label_key_prefix',
|
|
4
|
+
};
|
|
5
|
+
export const K8S_RESOURCE_LABEL_KEY_NAME_PATTERN = {
|
|
6
|
+
pattern: /^(([\dA-Za-z][\w.-]*)?[\dA-Za-z])$/,
|
|
7
|
+
tip: 'k8s_resource_label_key_invalid',
|
|
8
|
+
};
|
|
9
|
+
export const K8S_RESOURCE_LABEL_VALUE_PATTERN = {
|
|
10
|
+
pattern: /^(([\dA-Za-z][\w.-]*)?[\dA-Za-z])?$/,
|
|
11
|
+
tip: 'k8s_resource_label_value_invalid',
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXBhdHRlcm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9rOHMtcGF0dGVybi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRztJQUNuRCxPQUFPLEVBQUUsNkRBQTZEO0lBQ3RFLEdBQUcsRUFBRSxzQ0FBc0M7Q0FDNUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHO0lBQ2pELE9BQU8sRUFBRSxvQ0FBb0M7SUFDN0MsR0FBRyxFQUFFLGdDQUFnQztDQUN0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUc7SUFDOUMsT0FBTyxFQUFFLHFDQUFxQztJQUM5QyxHQUFHLEVBQUUsa0NBQWtDO0NBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9QUkVGSVhfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogL15bXFxkYS16XShbXFxkYS16LV0qW1xcZGEtel0pPyhcXC5bXFxkYS16XShbXFxkYS16LV0qW1xcZGEtel0pPykqJC8sXG4gIHRpcDogJ3JlZ2V4cF90aXBfcmVzb3VyY2VfbGFiZWxfa2V5X3ByZWZpeCcsXG59O1xuXG5leHBvcnQgY29uc3QgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9OQU1FX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eKChbXFxkQS1aYS16XVtcXHcuLV0qKT9bXFxkQS1aYS16XSkkLyxcbiAgdGlwOiAnazhzX3Jlc291cmNlX2xhYmVsX2tleV9pbnZhbGlkJyxcbn07XG5cbmV4cG9ydCBjb25zdCBLOFNfUkVTT1VSQ0VfTEFCRUxfVkFMVUVfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogL14oKFtcXGRBLVphLXpdW1xcdy4tXSopP1tcXGRBLVphLXpdKT8kLyxcbiAgdGlwOiAnazhzX3Jlc291cmNlX2xhYmVsX3ZhbHVlX2ludmFsaWQnLFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { assocPath, curry, path } from 'ramda';
|
|
2
|
+
import { getGlobalEnvironments, GLOBAL_CLUSTER } from '../constants';
|
|
3
|
+
import { ANNOTATIONS, LABELS, METADATA } from '../services';
|
|
4
|
+
export const assemble = (subdomain, domain, type) => subdomain ? `${subdomain}.${domain}/${type}` : `${domain}/${type}`;
|
|
5
|
+
export const k8sSubGroup = curry((subdomain, type) => assemble(subdomain, 'kubernetes.io', type));
|
|
6
|
+
export const k8sGroup = k8sSubGroup('');
|
|
7
|
+
export const subdomainGroup = curry((subdomain, type) => assemble(subdomain, getGlobalEnvironments('LABEL_BASE_DOMAIN'), type));
|
|
8
|
+
export const domainGroup = subdomainGroup('');
|
|
9
|
+
export const getSubdomainLabel = curry((subdomain, type, resource) => path([METADATA, LABELS, subdomainGroup(subdomain, type)], resource));
|
|
10
|
+
export const getDomainLabel = curry((type, resource) => path([METADATA, LABELS, subdomainGroup('', type)], resource));
|
|
11
|
+
export const getSubdomainAnnotation = curry((subdomain, type, resource) => path([METADATA, ANNOTATIONS, subdomainGroup(subdomain, type)], resource));
|
|
12
|
+
export const getDomainAnnotation = curry((type, resource) => path([METADATA, ANNOTATIONS, subdomainGroup('', type)], resource));
|
|
13
|
+
const assignMetadata = (group) => (value) => (resource) => Object.entries(value).reduce((acc, [key, value]) => assocPath([METADATA, group, key], value, acc), resource);
|
|
14
|
+
export const assignLabels = (assignMetadata(LABELS));
|
|
15
|
+
export const assignAnnotations = (assignMetadata(ANNOTATIONS));
|
|
16
|
+
export function getGlobalNs() {
|
|
17
|
+
return getGlobalEnvironments('GLOBAL_NAMESPACE');
|
|
18
|
+
}
|
|
19
|
+
export function createOwnerReference(owner, { blockOwnerDeletion = true, controller = true, } = {}) {
|
|
20
|
+
return {
|
|
21
|
+
apiVersion: owner.apiVersion,
|
|
22
|
+
kind: owner.kind,
|
|
23
|
+
name: owner.metadata.name,
|
|
24
|
+
uid: owner.metadata.uid,
|
|
25
|
+
blockOwnerDeletion,
|
|
26
|
+
controller,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
// https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/
|
|
30
|
+
// https://en.wikipedia.org/wiki/Metric_prefix
|
|
31
|
+
// https://en.wikipedia.org/wiki/Binary_prefix
|
|
32
|
+
export const K8S_BINARY_UNITS = [
|
|
33
|
+
'Ki',
|
|
34
|
+
'Mi',
|
|
35
|
+
'Gi',
|
|
36
|
+
'Ti',
|
|
37
|
+
'Pi',
|
|
38
|
+
'Ei',
|
|
39
|
+
'Zi',
|
|
40
|
+
'Yi',
|
|
41
|
+
];
|
|
42
|
+
export const K8S_DECIMAL_UNITS = [
|
|
43
|
+
'm',
|
|
44
|
+
'',
|
|
45
|
+
'k',
|
|
46
|
+
'M',
|
|
47
|
+
'G',
|
|
48
|
+
'T',
|
|
49
|
+
'P',
|
|
50
|
+
'E',
|
|
51
|
+
'Z',
|
|
52
|
+
'Y',
|
|
53
|
+
];
|
|
54
|
+
export function parseQuantity(value) {
|
|
55
|
+
const reg = /^(\d+|\d+\.\d+)([A-Za-z]*)$/;
|
|
56
|
+
const res = reg.exec(value);
|
|
57
|
+
return {
|
|
58
|
+
value: res?.[1] === undefined ? undefined : parseFloat(res[1]),
|
|
59
|
+
unit: res?.[2],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export function convertQuantityUnit(targetUnit, source) {
|
|
63
|
+
const fn = (source) => {
|
|
64
|
+
if (source.value === undefined || source.unit === undefined) {
|
|
65
|
+
return source;
|
|
66
|
+
}
|
|
67
|
+
if (source.unit === targetUnit) {
|
|
68
|
+
return source;
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
value: Math.round(((source.value * unitCompensate(source.unit)) /
|
|
72
|
+
unitCompensate(targetUnit)) *
|
|
73
|
+
1000) / 1000,
|
|
74
|
+
unit: targetUnit,
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
return source ? fn(source) : fn;
|
|
78
|
+
}
|
|
79
|
+
// GLOBAL 集群的项目同名 NS 名称不会具有 INNER_PROJECT_NS_PREFIX 前缀
|
|
80
|
+
export function getProjectNs(project, cluster) {
|
|
81
|
+
return `${cluster === GLOBAL_CLUSTER
|
|
82
|
+
? ''
|
|
83
|
+
: getGlobalEnvironments('INNER_PROJECT_NS_PREFIX') || ''}${project}`;
|
|
84
|
+
}
|
|
85
|
+
function unitCompensate(unit) {
|
|
86
|
+
if (K8S_BINARY_UNITS.includes(unit)) {
|
|
87
|
+
return (1024 **
|
|
88
|
+
(K8S_BINARY_UNITS.indexOf(unit) + 1));
|
|
89
|
+
}
|
|
90
|
+
if (K8S_DECIMAL_UNITS.includes(unit)) {
|
|
91
|
+
return (1000 **
|
|
92
|
+
(K8S_DECIMAL_UNITS.indexOf(unit) -
|
|
93
|
+
1));
|
|
94
|
+
}
|
|
95
|
+
throw new Error(`Unknown unit ${unit}`);
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9rOHMtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHNUQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsU0FBaUIsRUFBRSxNQUFjLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FDMUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxTQUFpQixFQUFFLElBQVksRUFBVSxFQUFFLENBQzNFLFFBQVEsQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUMzQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsU0FBaUIsRUFBRSxJQUFZLEVBQVUsRUFBRSxDQUM5RSxRQUFRLENBQUMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQ3RFLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxN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QUFDLE9BQWUsRUFBRSxPQUFlO0lBQzNELE9BQU8sR0FDTCxPQUFPLEtBQUssY0FBYztRQUN4QixDQUFDLENBQUMsRUFBRTtRQUNKLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQzFELEdBQUcsT0FBTyxFQUFFLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsSUFBa0I7SUFDeEMsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBeUMsQ0FBQyxFQUFFO1FBQ3hFLE9BQU8sQ0FDTCxJQUFJO1lBQ0osQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBeUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUMxRSxDQUFDO0tBQ0g7SUFDRCxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUEwQyxDQUFDLEVBQUU7UUFDMUUsT0FBTyxDQUNMLElBQUk7WUFDSixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUEwQyxDQUFDO2dCQUNwRSxDQUFDLENBQUMsQ0FDTCxDQUFDO0tBQ0g7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NvY1BhdGgsIGN1cnJ5LCBwYXRoIH0gZnJvbSAncmFtZGEnO1xuXG5pbXBvcnQgeyBnZXRHbG9iYWxFbnZpcm9ubWVudHMsIEdMT0JBTF9DTFVTVEVSIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFOTk9UQVRJT05TLCBMQUJFTFMsIE1FVEFEQVRBIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgS3ViZXJuZXRlc1Jlc291cmNlLCBPd25lclJlZmVyZW5jZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGFzc2VtYmxlID0gKHN1YmRvbWFpbjogc3RyaW5nLCBkb21haW46IHN0cmluZywgdHlwZTogc3RyaW5nKSA9PlxuICBzdWJkb21haW4gPyBgJHtzdWJkb21haW59LiR7ZG9tYWlufS8ke3R5cGV9YCA6IGAke2RvbWFpbn0vJHt0eXBlfWA7XG5cbmV4cG9ydCBjb25zdCBrOHNTdWJHcm91cCA9IGN1cnJ5KChzdWJkb21haW46IHN0cmluZywgdHlwZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIGFzc2VtYmxlKHN1YmRvbWFpbiwgJ2t1YmVybmV0ZXMuaW8nLCB0eXBlKSxcbik7XG5cbmV4cG9ydCBjb25zdCBrOHNHcm91cCA9IGs4c1N1Ykdyb3VwKCcnKTtcblxuZXhwb3J0IGNvbnN0IHN1YmRvbWFpbkdyb3VwID0gY3VycnkoKHN1YmRvbWFpbjogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgYXNzZW1ibGUoc3ViZG9tYWluLCBnZXRHbG9iYWxFbnZpcm9ubWVudHMoJ0xBQkVMX0JBU0VfRE9NQUlOJyksIHR5cGUpLFxuKTtcblxuZXhwb3J0IGNvbnN0IGRvbWFpbkdyb3VwID0gc3ViZG9tYWluR3JvdXAoJycpO1xuXG5leHBvcnQgY29uc3QgZ2V0U3ViZG9tYWluTGFiZWwgPSBjdXJyeShcbiAgKHN1YmRvbWFpbjogc3RyaW5nLCB0eXBlOiBzdHJpbmcsIHJlc291cmNlOiBLdWJlcm5ldGVzUmVzb3VyY2UpOiBzdHJpbmcgPT5cbiAgICBwYXRoKFtNRVRBREFUQSwgTEFCRUxTLCBzdWJkb21haW5Hcm91cChzdWJkb21haW4sIHR5cGUpXSwgcmVzb3VyY2UpLFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldERvbWFpbkxhYmVsID0gY3VycnkoXG4gICh0eXBlOiBzdHJpbmcsIHJlc291cmNlOiBLdWJlcm5ldGVzUmVzb3VyY2UpOiBzdHJpbmcgPT5cbiAgICBwYXRoKFtNRVRBREFUQSwgTEFCRUxTLCBzdWJkb21haW5Hcm91cCgnJywgdHlwZSldLCByZXNvdXJjZSksXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0U3ViZG9tYWluQW5ub3RhdGlvbiA9IGN1cnJ5KFxuICAoc3ViZG9tYWluOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSk6IHN0cmluZyA9PlxuICAgIHBhdGgoW01FVEFEQVRBLCBBTk5PVEFUSU9OUywgc3ViZG9tYWluR3JvdXAoc3ViZG9tYWluLCB0eXBlKV0sIHJlc291cmNlKSxcbik7XG5cbmV4cG9ydCBjb25zdCBnZXREb21haW5Bbm5vdGF0aW9uID0gY3VycnkoXG4gICh0eXBlOiBzdHJpbmcsIHJlc291cmNlOiBLdWJlcm5ldGVzUmVzb3VyY2UpOiBzdHJpbmcgPT5cbiAgICBwYXRoKFtNRVRBREFUQSwgQU5OT1RBVElPTlMsIHN1YmRvbWFpbkdyb3VwKCcnLCB0eXBlKV0sIHJlc291cmNlKSxcbik7XG5cbmNvbnN0IGFzc2lnbk1ldGFkYXRhID1cbiAgKGdyb3VwOiBzdHJpbmcpID0+XG4gIDxWPih2YWx1ZTogUmVjb3JkPHN0cmluZywgVj4pID0+XG4gIDxSIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogUik6IFIgPT5cbiAgICBPYmplY3QuZW50cmllcyh2YWx1ZSkucmVkdWNlKFxuICAgICAgKGFjYywgW2tleSwgdmFsdWVdKSA9PiBhc3NvY1BhdGgoW01FVEFEQVRBLCBncm91cCwga2V5XSwgdmFsdWUsIGFjYyksXG4gICAgICByZXNvdXJjZSxcbiAgICApO1xuXG5leHBvcnQgY29uc3QgYXNzaWduTGFiZWxzID0gYXNzaWduTWV0YWRhdGEoTEFCRUxTKTxzdHJpbmc+O1xuXG5leHBvcnQgY29uc3QgYXNzaWduQW5ub3RhdGlvbnMgPSBhc3NpZ25NZXRhZGF0YShBTk5PVEFUSU9OUyk8c3RyaW5nPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbE5zKCkge1xuICByZXR1cm4gZ2V0R2xvYmFsRW52aXJvbm1lbnRzKCdHTE9CQUxfTkFNRVNQQUNFJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPd25lclJlZmVyZW5jZShcbiAgb3duZXI6IEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAge1xuICAgIGJsb2NrT3duZXJEZWxldGlvbiA9IHRydWUsXG4gICAgY29udHJvbGxlciA9IHRydWUsXG4gIH06IFBhcnRpYWw8e1xuICAgIGJsb2NrT3duZXJEZWxldGlvbjogYm9vbGVhbjtcbiAgICBjb250cm9sbGVyOiBib29sZWFuO1xuICB9PiA9IHt9LFxuKTogT3duZXJSZWZlcmVuY2Uge1xuICByZXR1cm4ge1xuICAgIGFwaVZlcnNpb246IG93bmVyLmFwaVZlcnNpb24sXG4gICAga2luZDogb3duZXIua2luZCxcbiAgICBuYW1lOiBvd25lci5tZXRhZGF0YS5uYW1lLFxuICAgIHVpZDogb3duZXIubWV0YWRhdGEudWlkLFxuICAgIGJsb2NrT3duZXJEZWxldGlvbixcbiAgICBjb250cm9sbGVyLFxuICB9O1xufVxuXG4vLyBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9yZWZlcmVuY2Uva3ViZXJuZXRlcy1hcGkvY29tbW9uLWRlZmluaXRpb25zL3F1YW50aXR5L1xuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTWV0cmljX3ByZWZpeFxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQmluYXJ5X3ByZWZpeFxuZXhwb3J0IGNvbnN0IEs4U19CSU5BUllfVU5JVFMgPSBbXG4gICdLaScsXG4gICdNaScsXG4gICdHaScsXG4gICdUaScsXG4gICdQaScsXG4gICdFaScsXG4gICdaaScsXG4gICdZaScsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgSzhTX0RFQ0lNQUxfVU5JVFMgPSBbXG4gICdtJyxcbiAgJycsXG4gICdrJyxcbiAgJ00nLFxuICAnRycsXG4gICdUJyxcbiAgJ1AnLFxuICAnRScsXG4gICdaJyxcbiAgJ1knLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUXVhbnRpdHkodmFsdWU6IHN0cmluZyk6IFF1YW50aXR5IHtcbiAgY29uc3QgcmVnID0gL14oXFxkK3xcXGQrXFwuXFxkKykoW0EtWmEtel0qKSQvO1xuICBjb25zdCByZXMgPSByZWcuZXhlYyh2YWx1ZSk7XG4gIHJldHVybiB7XG4gICAgdmFsdWU6IHJlcz8uWzFdID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBwYXJzZUZsb2F0KHJlc1sxXSksXG4gICAgdW5pdDogcmVzPy5bMl0gYXMgUXVhbnRpdHlVbml0LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFF1YW50aXR5VW5pdChcbiAgdGFyZ2V0VW5pdDogUXVhbnRpdHlVbml0LFxuKTogKHNvdXJjZTogUXVhbnRpdHkpID0+IFF1YW50aXR5O1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRRdWFudGl0eVVuaXQoXG4gIHRhcmdldFVuaXQ6IFF1YW50aXR5VW5pdCxcbiAgc291cmNlOiBRdWFudGl0eSxcbik6IFF1YW50aXR5O1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRRdWFudGl0eVVuaXQoXG4gIHRhcmdldFVuaXQ6IFF1YW50aXR5VW5pdCxcbiAgc291cmNlPzogUXVhbnRpdHksXG4pOiAoKHNvdXJjZTogUXVhbnRpdHkpID0+IFF1YW50aXR5KSB8IFF1YW50aXR5IHtcbiAgY29uc3QgZm4gPSAoc291cmNlOiBRdWFudGl0eSkgPT4ge1xuICAgIGlmIChzb3VyY2UudmFsdWUgPT09IHVuZGVmaW5lZCB8fCBzb3VyY2UudW5pdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gc291cmNlO1xuICAgIH1cblxuICAgIGlmIChzb3VyY2UudW5pdCA9PT0gdGFyZ2V0VW5pdCkge1xuICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6XG4gICAgICAgIE1hdGgucm91bmQoXG4gICAgICAgICAgKChzb3VyY2UudmFsdWUgKiB1bml0Q29tcGVuc2F0ZShzb3VyY2UudW5pdCkpIC9cbiAgICAgICAgICAgIHVuaXRDb21wZW5zYXRlKHRhcmdldFVuaXQpKSAqXG4gICAgICAgICAgICAxMDAwLFxuICAgICAgICApIC8gMTAwMCxcbiAgICAgIHVuaXQ6IHRhcmdldFVuaXQsXG4gICAgfTtcbiAgfTtcblxuICByZXR1cm4gc291cmNlID8gZm4oc291cmNlKSA6IGZuO1xufVxuXG4vLyBHTE9CQUwg6ZuG576k55qE6aG555uu5ZCM5ZCNIE5TIOWQjeensOS4jeS8muWFt+aciSBJTk5FUl9QUk9KRUNUX05TX1BSRUZJWCDliY3nvIBcbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9qZWN0TnMocHJvamVjdDogc3RyaW5nLCBjbHVzdGVyOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGAke1xuICAgIGNsdXN0ZXIgPT09IEdMT0JBTF9DTFVTVEVSXG4gICAgICA/ICcnXG4gICAgICA6IGdldEdsb2JhbEVudmlyb25tZW50cygnSU5ORVJfUFJPSkVDVF9OU19QUkVGSVgnKSB8fCAnJ1xuICB9JHtwcm9qZWN0fWA7XG59XG5cbmZ1bmN0aW9uIHVuaXRDb21wZW5zYXRlKHVuaXQ6IFF1YW50aXR5VW5pdCk6IG51bWJlciB7XG4gIGlmIChLOFNfQklOQVJZX1VOSVRTLmluY2x1ZGVzKHVuaXQgYXMgKHR5cGVvZiBLOFNfQklOQVJZX1VOSVRTKVtudW1iZXJdKSkge1xuICAgIHJldHVybiAoXG4gICAgICAxMDI0ICoqXG4gICAgICAoSzhTX0JJTkFSWV9VTklUUy5pbmRleE9mKHVuaXQgYXMgKHR5cGVvZiBLOFNfQklOQVJZX1VOSVRTKVtudW1iZXJdKSArIDEpXG4gICAgKTtcbiAgfVxuICBpZiAoSzhTX0RFQ0lNQUxfVU5JVFMuaW5jbHVkZXModW5pdCBhcyAodHlwZW9mIEs4U19ERUNJTUFMX1VOSVRTKVtudW1iZXJdKSkge1xuICAgIHJldHVybiAoXG4gICAgICAxMDAwICoqXG4gICAgICAoSzhTX0RFQ0lNQUxfVU5JVFMuaW5kZXhPZih1bml0IGFzICh0eXBlb2YgSzhTX0RFQ0lNQUxfVU5JVFMpW251bWJlcl0pIC1cbiAgICAgICAgMSlcbiAgICApO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB1bml0ICR7dW5pdH1gKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWFudGl0eSB7XG4gIHZhbHVlOiBudW1iZXI7XG4gIHVuaXQ6IFF1YW50aXR5VW5pdDtcbn1cblxuZXhwb3J0IHR5cGUgUXVhbnRpdHlVbml0ID1cbiAgfCAodHlwZW9mIEs4U19CSU5BUllfVU5JVFMpW251bWJlcl1cbiAgfCAodHlwZW9mIEs4U19ERUNJTUFMX1VOSVRTKVtudW1iZXJdO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const LOCAL_STORAGE_KEY_THEME_MODE = 'theme-mode';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS1jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9sb2NhbC1zdG9yYWdlLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTE9DQUxfU1RPUkFHRV9LRVlfVEhFTUVfTU9ERSA9ICd0aGVtZS1tb2RlJztcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IP_ADDRESS_PATTERN } from '../../core';
|
|
2
|
+
/**
|
|
3
|
+
* 从 underlord 节点 utils 中抽离出来,作为通用的内部IP、内部IPv6、hostname 获取方式
|
|
4
|
+
*/
|
|
5
|
+
export function getPrivateIPv4(node) {
|
|
6
|
+
return (node?.status?.addresses?.find(({ type, address }) => type === 'InternalIP' && IP_ADDRESS_PATTERN.pattern.test(address))?.address || node?.metadata?.labels?.['platform.tkestack.io/machine-ip']);
|
|
7
|
+
}
|
|
8
|
+
export function getPrivateIPv6(node) {
|
|
9
|
+
return node?.status?.addresses?.find(({ type, address }) => type === 'InternalIP' && !IP_ADDRESS_PATTERN.pattern.test(address))?.address;
|
|
10
|
+
}
|
|
11
|
+
export function getPrivateIP(node) {
|
|
12
|
+
return getPrivateIPv4(node) || getPrivateIPv6(node);
|
|
13
|
+
}
|
|
14
|
+
export function getHostname(node) {
|
|
15
|
+
return node?.status?.addresses?.find(addr => addr.type === 'Hostname')
|
|
16
|
+
.address;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFRLE1BQU0sWUFBWSxDQUFDO0FBRXREOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUFVO0lBQ3ZDLE9BQU8sQ0FDTCxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQzNCLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUNwQixJQUFJLEtBQUssWUFBWSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQ3BFLEVBQUUsT0FBTyxJQUFJLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsaUNBQWlDLENBQUMsQ0FDMUUsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLElBQVU7SUFDdkMsT0FBTyxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQ2xDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUNwQixJQUFJLEtBQUssWUFBWSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDckUsRUFBRSxPQUFPLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFVO0lBQ3JDLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFVO0lBQ3BDLE9BQU8sSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7U0FDbkUsT0FBTyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQX0FERFJFU1NfUEFUVEVSTiwgTm9kZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuXG4vKipcbiAqIOS7jiB1bmRlcmxvcmQg6IqC54K5IHV0aWxzIOS4reaKveemu+WHuuadpe+8jOS9nOS4uumAmueUqOeahOWGhemDqElQ44CB5YaF6YOoSVB2NuOAgWhvc3RuYW1lIOiOt+WPluaWueW8j1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJpdmF0ZUlQdjQobm9kZTogTm9kZSkge1xuICByZXR1cm4gKFxuICAgIG5vZGU/LnN0YXR1cz8uYWRkcmVzc2VzPy5maW5kKFxuICAgICAgKHsgdHlwZSwgYWRkcmVzcyB9KSA9PlxuICAgICAgICB0eXBlID09PSAnSW50ZXJuYWxJUCcgJiYgSVBfQUREUkVTU19QQVRURVJOLnBhdHRlcm4udGVzdChhZGRyZXNzKSxcbiAgICApPy5hZGRyZXNzIHx8IG5vZGU/Lm1ldGFkYXRhPy5sYWJlbHM/LlsncGxhdGZvcm0udGtlc3RhY2suaW8vbWFjaGluZS1pcCddXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcml2YXRlSVB2Nihub2RlOiBOb2RlKSB7XG4gIHJldHVybiBub2RlPy5zdGF0dXM/LmFkZHJlc3Nlcz8uZmluZChcbiAgICAoeyB0eXBlLCBhZGRyZXNzIH0pID0+XG4gICAgICB0eXBlID09PSAnSW50ZXJuYWxJUCcgJiYgIUlQX0FERFJFU1NfUEFUVEVSTi5wYXR0ZXJuLnRlc3QoYWRkcmVzcyksXG4gICk/LmFkZHJlc3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcml2YXRlSVAobm9kZTogTm9kZSkge1xuICByZXR1cm4gZ2V0UHJpdmF0ZUlQdjQobm9kZSkgfHwgZ2V0UHJpdmF0ZUlQdjYobm9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIb3N0bmFtZShub2RlOiBOb2RlKSB7XG4gIHJldHVybiBub2RlPy5zdGF0dXM/LmFkZHJlc3Nlcz8uZmluZChhZGRyID0+IGFkZHIudHlwZSA9PT0gJ0hvc3RuYW1lJylcbiAgICAuYWRkcmVzcztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DestroyRef, assertInInjectionContext, inject } from '@angular/core';
|
|
2
|
+
import { isNumber } from 'lodash-es';
|
|
3
|
+
import { EMPTY, Observable, Subject, of, catchError, delay, startWith, switchMap, tap, } from 'rxjs';
|
|
4
|
+
import { publishRef } from './operators';
|
|
5
|
+
export const createPollObservable = (fetch$, pollIn) => {
|
|
6
|
+
const INIT_VALUE = 'Initialize';
|
|
7
|
+
const subject = new Subject();
|
|
8
|
+
const createDelayObservable = () => (isNumber(pollIn) ? of(pollIn) : pollIn).pipe(switchMap(pi => (pi === 0 ? EMPTY : of(null).pipe(delay(pi)))));
|
|
9
|
+
return subject.pipe(startWith(INIT_VALUE), switchMap(value => value === INIT_VALUE ? of(null) : createDelayObservable()), switchMap(() => fetch$.pipe(catchError((_) => of(null)))), tap(() => {
|
|
10
|
+
subject.next();
|
|
11
|
+
}), publishRef());
|
|
12
|
+
};
|
|
13
|
+
// https://github.com/angular/angular/blob/6fefbe8fca6e96549416a27c14e02957da1291e7/packages/core/rxjs-interop/src/take_until_destroyed.ts#L23
|
|
14
|
+
export function onDestroy(destroyRef) {
|
|
15
|
+
if (!destroyRef) {
|
|
16
|
+
assertInInjectionContext(onDestroy);
|
|
17
|
+
destroyRef = inject(DestroyRef);
|
|
18
|
+
}
|
|
19
|
+
return new Observable(observer => {
|
|
20
|
+
return destroyRef.onDestroy(observer.next.bind(observer));
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL29ic2VydmFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEVBQ1AsRUFBRSxFQUNGLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLE1BQTJCLEVBQzNCLE1BQW1DLEVBQ2QsRUFBRTtJQUN2QixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7SUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVwQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsRUFBRSxDQUNqQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQzNDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDL0QsQ0FBQztJQUVKLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUNyQixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDaEIsS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUMxRCxFQUNELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsRSxHQUFHLENBQUMsR0FBRyxFQUFFO1FBQ1AsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxFQUNGLFVBQVUsRUFBRSxDQUNiLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRiw4SUFBOEk7QUFDOUksTUFBTSxVQUFVLFNBQVMsQ0FBQyxVQUF1QjtJQUMvQyxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2Ysd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUNqQztJQUVELE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDL0IsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIEVNUFRZLFxuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICBvZixcbiAgY2F0Y2hFcnJvcixcbiAgZGVsYXksXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwdWJsaXNoUmVmIH0gZnJvbSAnLi9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9sbE9ic2VydmFibGUgPSA8VFJlc3VsdD4oXG4gIGZldGNoJDogT2JzZXJ2YWJsZTxUUmVzdWx0PixcbiAgcG9sbEluOiBudW1iZXIgfCBPYnNlcnZhYmxlPG51bWJlcj4sXG4pOiBPYnNlcnZhYmxlPFRSZXN1bHQ+ID0+IHtcbiAgY29uc3QgSU5JVF9WQUxVRSA9ICdJbml0aWFsaXplJztcbiAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3QgY3JlYXRlRGVsYXlPYnNlcnZhYmxlID0gKCkgPT5cbiAgICAoaXNOdW1iZXIocG9sbEluKSA/IG9mKHBvbGxJbikgOiBwb2xsSW4pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAocGkgPT4gKHBpID09PSAwID8gRU1QVFkgOiBvZihudWxsKS5waXBlKGRlbGF5KHBpKSkpKSxcbiAgICApO1xuXG4gIHJldHVybiBzdWJqZWN0LnBpcGUoXG4gICAgc3RhcnRXaXRoKElOSVRfVkFMVUUpLFxuICAgIHN3aXRjaE1hcCh2YWx1ZSA9PlxuICAgICAgdmFsdWUgPT09IElOSVRfVkFMVUUgPyBvZihudWxsKSA6IGNyZWF0ZURlbGF5T2JzZXJ2YWJsZSgpLFxuICAgICksXG4gICAgc3dpdGNoTWFwKCgpID0+IGZldGNoJC5waXBlKGNhdGNoRXJyb3IoKF86IHVua25vd24pID0+IG9mKG51bGwpKSkpLFxuICAgIHRhcCgoKSA9PiB7XG4gICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICB9KSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG59O1xuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvNmZlZmJlOGZjYTZlOTY1NDk0MTZhMjdjMTRlMDI5NTdkYTEyOTFlNy9wYWNrYWdlcy9jb3JlL3J4anMtaW50ZXJvcC9zcmMvdGFrZV91bnRpbF9kZXN0cm95ZWQudHMjTDIzXG5leHBvcnQgZnVuY3Rpb24gb25EZXN0cm95KGRlc3Ryb3lSZWY/OiBEZXN0cm95UmVmKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gIGlmICghZGVzdHJveVJlZikge1xuICAgIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChvbkRlc3Ryb3kpO1xuICAgIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIH1cblxuICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgIHJldHVybiBkZXN0cm95UmVmLm9uRGVzdHJveShvYnNlcnZlci5uZXh0LmJpbmQob2JzZXJ2ZXIpKTtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module utils
|
|
4
|
+
*/
|
|
5
|
+
import { isDevMode } from '@angular/core';
|
|
6
|
+
import { EMPTY, Observable, ReplaySubject, catchError, filter, from, of, pipe, share, shareReplay, startWith, takeUntil, } from 'rxjs';
|
|
7
|
+
import { onDestroy } from './observable';
|
|
8
|
+
export const publishRef = (bufferSizeOrConfig = {}) => {
|
|
9
|
+
const { bufferSize = 1, windowTime, timestampProvider, connector = () => new ReplaySubject(bufferSize, windowTime, timestampProvider), resetOnError = false, resetOnComplete = false, resetOnRefCountZero = true, } = typeof bufferSizeOrConfig === 'number'
|
|
10
|
+
? {
|
|
11
|
+
bufferSize: bufferSizeOrConfig,
|
|
12
|
+
}
|
|
13
|
+
: bufferSizeOrConfig;
|
|
14
|
+
return share({
|
|
15
|
+
connector,
|
|
16
|
+
resetOnError,
|
|
17
|
+
resetOnComplete,
|
|
18
|
+
resetOnRefCountZero,
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
export const shareUntil = (destroy$, bufferSize = 1, windowTime, scheduler) => pipe(takeUntil(destroy$), shareReplay(bufferSize, windowTime, scheduler));
|
|
22
|
+
export const skipError = (mapped = EMPTY, debug = false) => catchError(err => {
|
|
23
|
+
if (isDevMode() && debug) {
|
|
24
|
+
console.error(err);
|
|
25
|
+
}
|
|
26
|
+
return mapped instanceof Observable ? mapped : of(mapped);
|
|
27
|
+
});
|
|
28
|
+
export const catchPromise = (promise, mapped) => from(promise).pipe(skipError(mapped));
|
|
29
|
+
const NULL = Symbol('null');
|
|
30
|
+
export const startWithCondition = (condition, value) => (source) => source.pipe(startWith(condition ? value : NULL), filter(value => value !== NULL));
|
|
31
|
+
export const shareUntilDestroyed = (destroyRef, bufferSize, windowTime, scheduler) => shareUntil(onDestroy(destroyRef), bufferSize, windowTime, scheduler);
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvb3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsYUFBYSxFQUdiLFVBQVUsRUFDVixNQUFNLEVBQ04sSUFBSSxFQUNKLEVBQUUsRUFDRixJQUFJLEVBQ0osS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVV6QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBSSxxQkFBMEMsRUFBRSxFQUFFLEVBQUU7SUFDNUUsTUFBTSxFQUNKLFVBQVUsR0FBRyxDQUFDLEVBQ2QsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixTQUFTLEdBQUcsR0FBRyxFQUFFLENBQ2YsSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxFQUM5RCxZQUFZLEdBQUcsS0FBSyxFQUNwQixlQUFlLEdBQUcsS0FBSyxFQUN2QixtQkFBbUIsR0FBRyxJQUFJLEdBQzNCLEdBQUcsT0FBTyxrQkFBa0IsS0FBSyxRQUFRO1FBQ3hDLENBQUMsQ0FBRTtZQUNDLFVBQVUsRUFBRSxrQkFBa0I7U0FDVTtRQUM1QyxDQUFDLENBQUMsa0JBQWtCLENBQUM7SUFDdkIsT0FBTyxLQUFLLENBQUk7UUFDZCxTQUFTO1FBQ1QsWUFBWTtRQUNaLGVBQWU7UUFDZixtQkFBbUI7S0FDcEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQ3hCLFFBQTZCLEVBQzdCLFVBQVUsR0FBRyxDQUFDLEVBQ2QsVUFBbUIsRUFDbkIsU0FBeUIsRUFDekIsRUFBRSxDQUNGLElBQUksQ0FBQyxTQUFTLENBQUksUUFBUSxDQUFDLEVBQUUsV0FBVyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FDdkIsU0FBNEIsS0FBSyxFQUNqQyxLQUFLLEdBQUcsS0FBSyxFQUNiLEVBQUUsQ0FDRixVQUFVLENBQW1CLEdBQUcsQ0FBQyxFQUFFO0lBQ2pDLElBQUksU0FBUyxFQUFFLElBQUksS0FBSyxFQUFFO1FBQ3hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDcEI7SUFDRCxPQUFPLE1BQU0sWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVELENBQUMsQ0FBQyxDQUFDO0FBRUwsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQzFCLE9BQW1CLEVBQ25CLE1BQTBCLEVBQzFCLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBRTNDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUU1QixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FDN0IsQ0FBSSxTQUFrQixFQUFFLEtBQVEsRUFBRSxFQUFFLENBQ3BDLENBQUMsTUFBcUIsRUFBRSxFQUFFLENBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQ1QsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDbkMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUNoQyxDQUFDO0FBRU4sTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsVUFBdUIsRUFDdkIsVUFBbUIsRUFDbkIsVUFBbUIsRUFDbkIsU0FBeUIsRUFDekIsRUFBRSxDQUFDLFVBQVUsQ0FBSSxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgRGVzdHJveVJlZiwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBFTVBUWSxcbiAgT2JzZXJ2YWJsZSxcbiAgUmVwbGF5U3ViamVjdCxcbiAgU2NoZWR1bGVyTGlrZSxcbiAgVGltZXN0YW1wUHJvdmlkZXIsXG4gIGNhdGNoRXJyb3IsXG4gIGZpbHRlcixcbiAgZnJvbSxcbiAgb2YsXG4gIHBpcGUsXG4gIHNoYXJlLFxuICBzaGFyZVJlcGxheSxcbiAgc3RhcnRXaXRoLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBvbkRlc3Ryb3kgfSBmcm9tICcuL29ic2VydmFibGUnO1xuXG5leHBvcnQgdHlwZSBQdWJsaXNoUmVmQ29uZmlnPFQ+ID1cbiAgfCBudW1iZXJcbiAgfCAoaW1wb3J0KCdyeGpzL2ludGVybmFsL29wZXJhdG9ycy9zaGFyZScpLlNoYXJlQ29uZmlnPFQ+ICYge1xuICAgICAgYnVmZmVyU2l6ZT86IG51bWJlcjtcbiAgICAgIHdpbmRvd1RpbWU/OiBudW1iZXI7XG4gICAgICB0aW1lc3RhbXBQcm92aWRlcj86IFRpbWVzdGFtcFByb3ZpZGVyO1xuICAgIH0pO1xuXG5leHBvcnQgY29uc3QgcHVibGlzaFJlZiA9IDxUPihidWZmZXJTaXplT3JDb25maWc6IFB1Ymxpc2hSZWZDb25maWc8VD4gPSB7fSkgPT4ge1xuICBjb25zdCB7XG4gICAgYnVmZmVyU2l6ZSA9IDEsXG4gICAgd2luZG93VGltZSxcbiAgICB0aW1lc3RhbXBQcm92aWRlcixcbiAgICBjb25uZWN0b3IgPSAoKSA9PlxuICAgICAgbmV3IFJlcGxheVN1YmplY3QoYnVmZmVyU2l6ZSwgd2luZG93VGltZSwgdGltZXN0YW1wUHJvdmlkZXIpLFxuICAgIHJlc2V0T25FcnJvciA9IGZhbHNlLFxuICAgIHJlc2V0T25Db21wbGV0ZSA9IGZhbHNlLFxuICAgIHJlc2V0T25SZWZDb3VudFplcm8gPSB0cnVlLFxuICB9ID0gdHlwZW9mIGJ1ZmZlclNpemVPckNvbmZpZyA9PT0gJ251bWJlcidcbiAgICA/ICh7XG4gICAgICAgIGJ1ZmZlclNpemU6IGJ1ZmZlclNpemVPckNvbmZpZyxcbiAgICAgIH0gYXMgRXhjbHVkZTxQdWJsaXNoUmVmQ29uZmlnPFQ+LCBudW1iZXI+KVxuICAgIDogYnVmZmVyU2l6ZU9yQ29uZmlnO1xuICByZXR1cm4gc2hhcmU8VD4oe1xuICAgIGNvbm5lY3RvcixcbiAgICByZXNldE9uRXJyb3IsXG4gICAgcmVzZXRPbkNvbXBsZXRlLFxuICAgIHJlc2V0T25SZWZDb3VudFplcm8sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHNoYXJlVW50aWwgPSA8VD4oXG4gIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICBidWZmZXJTaXplID0gMSxcbiAgd2luZG93VGltZT86IG51bWJlcixcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSxcbikgPT5cbiAgcGlwZSh0YWtlVW50aWw8VD4oZGVzdHJveSQpLCBzaGFyZVJlcGxheShidWZmZXJTaXplLCB3aW5kb3dUaW1lLCBzY2hlZHVsZXIpKTtcblxuZXhwb3J0IGNvbnN0IHNraXBFcnJvciA9IDxULCBSID0gbmV2ZXI+KFxuICBtYXBwZWQ6IFIgfCBPYnNlcnZhYmxlPFI+ID0gRU1QVFksXG4gIGRlYnVnID0gZmFsc2UsXG4pID0+XG4gIGNhdGNoRXJyb3I8VCwgT2JzZXJ2YWJsZTxSPj4oZXJyID0+IHtcbiAgICBpZiAoaXNEZXZNb2RlKCkgJiYgZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICB9XG4gICAgcmV0dXJuIG1hcHBlZCBpbnN0YW5jZW9mIE9ic2VydmFibGUgPyBtYXBwZWQgOiBvZihtYXBwZWQpO1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IGNhdGNoUHJvbWlzZSA9IDxULCBSID0gbmV2ZXI+KFxuICBwcm9taXNlOiBQcm9taXNlPFQ+LFxuICBtYXBwZWQ/OiBSIHwgT2JzZXJ2YWJsZTxSPixcbikgPT4gZnJvbShwcm9taXNlKS5waXBlKHNraXBFcnJvcihtYXBwZWQpKTtcblxuY29uc3QgTlVMTCA9IFN5bWJvbCgnbnVsbCcpO1xuXG5leHBvcnQgY29uc3Qgc3RhcnRXaXRoQ29uZGl0aW9uID1cbiAgPFQ+KGNvbmRpdGlvbjogYm9vbGVhbiwgdmFsdWU6IFQpID0+XG4gIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+XG4gICAgc291cmNlLnBpcGUoXG4gICAgICBzdGFydFdpdGgoY29uZGl0aW9uID8gdmFsdWUgOiBOVUxMKSxcbiAgICAgIGZpbHRlcih2YWx1ZSA9PiB2YWx1ZSAhPT0gTlVMTCksXG4gICAgKTtcblxuZXhwb3J0IGNvbnN0IHNoYXJlVW50aWxEZXN0cm95ZWQgPSA8VD4oXG4gIGRlc3Ryb3lSZWY/OiBEZXN0cm95UmVmLFxuICBidWZmZXJTaXplPzogbnVtYmVyLFxuICB3aW5kb3dUaW1lPzogbnVtYmVyLFxuICBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlLFxuKSA9PiBzaGFyZVVudGlsPFQ+KG9uRGVzdHJveShkZXN0cm95UmVmKSwgYnVmZmVyU2l6ZSwgd2luZG93VGltZSwgc2NoZWR1bGVyKTtcbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { finalize, Observable } from 'rxjs';
|
|
2
|
+
export class RequestPool {
|
|
3
|
+
constructor({ maxParallel = 3 }) {
|
|
4
|
+
this.runnerQueue = [];
|
|
5
|
+
this.runningCount = 0;
|
|
6
|
+
this.maxParallel = maxParallel;
|
|
7
|
+
}
|
|
8
|
+
queue(request) {
|
|
9
|
+
return new Observable(observer => {
|
|
10
|
+
let subscription;
|
|
11
|
+
const runner = () => {
|
|
12
|
+
subscription = request
|
|
13
|
+
.pipe(finalize(() => {
|
|
14
|
+
this.runningCount--;
|
|
15
|
+
this.flushQueue();
|
|
16
|
+
}))
|
|
17
|
+
.subscribe(observer);
|
|
18
|
+
};
|
|
19
|
+
this.runnerQueue.push(runner);
|
|
20
|
+
this.flushQueue();
|
|
21
|
+
return () => {
|
|
22
|
+
subscription?.unsubscribe();
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
flushQueue() {
|
|
27
|
+
if (this.runningCount < this.maxParallel && this.runnerQueue.length > 0) {
|
|
28
|
+
this.runningCount++;
|
|
29
|
+
const run = this.runnerQueue.shift();
|
|
30
|
+
run();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function maxParallelByHttpVersion(http_2 = 30, http_1 = 3) {
|
|
35
|
+
return location.protocol === 'https:' ? http_2 : http_1;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1wb29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvcmVxdWVzdC1wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUUxRCxNQUFNLE9BQU8sV0FBVztJQUt0QixZQUFZLEVBQUUsV0FBVyxHQUFHLENBQUMsRUFBMkI7UUFIdkMsZ0JBQVcsR0FBc0IsRUFBRSxDQUFDO1FBQzdDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBR3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLLENBQUksT0FBc0I7UUFDN0IsT0FBTyxJQUFJLFVBQVUsQ0FBSSxRQUFRLENBQUMsRUFBRTtZQUNsQyxJQUFJLFlBQTBCLENBQUM7WUFFL0IsTUFBTSxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNsQixZQUFZLEdBQUcsT0FBTztxQkFDbkIsSUFBSSxDQUNILFFBQVEsQ0FBQyxHQUFHLEVBQUU7b0JBQ1osSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyxDQUNIO3FCQUNBLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUM7WUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFFbEIsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQzlCLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JDLEdBQUcsRUFBRSxDQUFDO1NBQ1A7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxNQUFNLEdBQUcsQ0FBQztJQUM5RCxPQUFPLFFBQVEsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUMxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmluYWxpemUsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgUmVxdWVzdFBvb2wge1xuICBwcml2YXRlIHJlYWRvbmx5IG1heFBhcmFsbGVsOiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgcnVubmVyUXVldWU6IEFycmF5PCgpID0+IHZvaWQ+ID0gW107XG4gIHByaXZhdGUgcnVubmluZ0NvdW50ID0gMDtcblxuICBjb25zdHJ1Y3Rvcih7IG1heFBhcmFsbGVsID0gMyB9OiB7IG1heFBhcmFsbGVsOiBudW1iZXIgfSkge1xuICAgIHRoaXMubWF4UGFyYWxsZWwgPSBtYXhQYXJhbGxlbDtcbiAgfVxuXG4gIHF1ZXVlPFQ+KHJlcXVlc3Q6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8VD4ob2JzZXJ2ZXIgPT4ge1xuICAgICAgbGV0IHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgICBjb25zdCBydW5uZXIgPSAoKSA9PiB7XG4gICAgICAgIHN1YnNjcmlwdGlvbiA9IHJlcXVlc3RcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5ydW5uaW5nQ291bnQtLTtcbiAgICAgICAgICAgICAgdGhpcy5mbHVzaFF1ZXVlKCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZShvYnNlcnZlcik7XG4gICAgICB9O1xuXG4gICAgICB0aGlzLnJ1bm5lclF1ZXVlLnB1c2gocnVubmVyKTtcbiAgICAgIHRoaXMuZmx1c2hRdWV1ZSgpO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBzdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmbHVzaFF1ZXVlKCkge1xuICAgIGlmICh0aGlzLnJ1bm5pbmdDb3VudCA8IHRoaXMubWF4UGFyYWxsZWwgJiYgdGhpcy5ydW5uZXJRdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnJ1bm5pbmdDb3VudCsrO1xuICAgICAgY29uc3QgcnVuID0gdGhpcy5ydW5uZXJRdWV1ZS5zaGlmdCgpO1xuICAgICAgcnVuKCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXhQYXJhbGxlbEJ5SHR0cFZlcnNpb24oaHR0cF8yID0gMzAsIGh0dHBfMSA9IDMpIHtcbiAgcmV0dXJuIGxvY2F0aW9uLnByb3RvY29sID09PSAnaHR0cHM6JyA/IGh0dHBfMiA6IGh0dHBfMTtcbn1cbiJdfQ==
|