@ytsaurus/ui 1.13.0 → 1.14.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/build/cjs/shared/yt-types.d.ts +6 -0
- package/build/cjs/ui/common/yt-api-init.js +3 -1
- package/build/cjs/ui/common/yt-api-init.js.map +1 -1
- package/build/cjs/ui/constants/scheduling/index.d.ts +6 -7
- package/build/cjs/ui/constants/scheduling/index.js +7 -8
- package/build/cjs/ui/constants/scheduling/index.js.map +1 -1
- package/build/cjs/ui/pages/components/tabs/node/NodePage.js +1 -4
- package/build/cjs/ui/pages/components/tabs/node/NodePage.js.map +1 -1
- package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -16
- package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
- package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js +2 -5
- package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js.map +1 -1
- package/build/cjs/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js +1 -5
- package/build/cjs/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js.map +1 -1
- package/build/cjs/ui/pages/operations/selectors.d.ts +8 -7
- package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +32 -28
- package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +8 -7
- package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +8 -7
- package/build/cjs/ui/pages/scheduling/Alerts.js +1 -1
- package/build/cjs/ui/pages/scheduling/Alerts.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/Content.js +2 -2
- package/build/cjs/ui/pages/scheduling/Content/Content.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/{SchedulingOperationsUpdater.d.ts → SchedulingExpandedPoolsUpdater.d.ts} +2 -2
- package/build/cjs/ui/pages/scheduling/Content/{SchedulingOperationsUpdater.js → SchedulingExpandedPoolsUpdater.js} +7 -8
- package/build/cjs/ui/pages/scheduling/Content/SchedulingExpandedPoolsUpdater.js.map +1 -0
- package/build/cjs/ui/pages/scheduling/Content/SchedulingResources.js +4 -3
- package/build/cjs/ui/pages/scheduling/Content/SchedulingResources.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/controls/ShareUsageBar.js +1 -1
- package/build/cjs/ui/pages/scheduling/Content/controls/ShareUsageBar.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/tabs/Details/Details.js +13 -8
- package/build/cjs/ui/pages/scheduling/Content/tabs/Details/Details.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/tabs/Overview/Overview.d.ts +12 -10
- package/build/cjs/ui/pages/scheduling/Content/tabs/Overview/Overview.js +30 -21
- package/build/cjs/ui/pages/scheduling/Content/tabs/Overview/Overview.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js +2 -2
- package/build/cjs/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js +2 -2
- package/build/cjs/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.d.ts +0 -1
- package/build/cjs/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js +1 -3
- package/build/cjs/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.d.ts +24 -0
- package/build/cjs/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js +8 -19
- package/build/cjs/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Scheduling/Scheduling.js +29 -48
- package/build/cjs/ui/pages/scheduling/Scheduling/Scheduling.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js +8 -4
- package/build/cjs/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js.map +1 -1
- package/build/cjs/ui/rum/constants.d.ts +5 -1
- package/build/cjs/ui/rum/constants.js +5 -2
- package/build/cjs/ui/rum/constants.js.map +1 -1
- package/build/cjs/ui/rum/rum-counter.js +1 -1
- package/build/cjs/ui/rum/rum-counter.js.map +1 -1
- package/build/cjs/ui/rum/rum-wrap-api.d.ts +95 -53
- package/build/cjs/ui/rum/rum-wrap-api.js +59 -56
- package/build/cjs/ui/rum/rum-wrap-api.js.map +1 -1
- package/build/cjs/ui/store/actions/components/node/node.js +6 -29
- package/build/cjs/ui/store/actions/components/node/node.js.map +1 -1
- package/build/cjs/ui/store/actions/operations/detail.js +1 -1
- package/build/cjs/ui/store/actions/operations/detail.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js +3 -3
- package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.d.ts +15 -0
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +377 -0
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -0
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.d.ts +15 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js +226 -10
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling.d.ts +1 -32
- package/build/cjs/ui/store/actions/scheduling/scheduling.js +12 -250
- package/build/cjs/ui/store/actions/scheduling/scheduling.js.map +1 -1
- package/build/cjs/ui/store/actions/system/masters.d.ts +7 -5
- package/build/cjs/ui/store/actions/system/masters.js +305 -235
- package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
- package/build/cjs/ui/store/reducers/components/node/node.d.ts +0 -2
- package/build/cjs/ui/store/reducers/components/node/node.js +2 -5
- package/build/cjs/ui/store/reducers/components/node/node.js.map +1 -1
- package/build/cjs/ui/store/reducers/index.d.ts +9 -7
- package/build/cjs/ui/store/reducers/index.js +3 -4
- package/build/cjs/ui/store/reducers/index.js.map +1 -1
- package/build/cjs/ui/store/reducers/scheduling/expanded-pools.d.ts +28 -0
- package/build/cjs/ui/store/reducers/scheduling/{scheduling-operations.js → expanded-pools.js} +10 -8
- package/build/cjs/ui/store/reducers/scheduling/expanded-pools.js.map +1 -0
- package/build/cjs/ui/store/reducers/scheduling/index.d.ts +5 -93
- package/build/cjs/ui/store/reducers/scheduling/index.js +10 -136
- package/build/cjs/ui/store/reducers/scheduling/index.js.map +1 -1
- package/build/cjs/ui/store/reducers/scheduling/scheduling.d.ts +100 -0
- package/build/cjs/ui/store/reducers/scheduling/scheduling.js +139 -0
- package/build/cjs/ui/store/reducers/scheduling/scheduling.js.map +1 -0
- package/build/cjs/ui/store/reducers/scheduling/url-mapping.d.ts +13 -2
- package/build/cjs/ui/store/reducers/scheduling/url-mapping.js +31 -26
- package/build/cjs/ui/store/reducers/scheduling/url-mapping.js.map +1 -1
- package/build/cjs/ui/store/reducers/system/masters.d.ts +2 -2
- package/build/cjs/ui/store/reducers/system/masters.js.map +1 -1
- package/build/cjs/ui/store/selectors/accounts/account-usage.d.ts +64 -56
- package/build/cjs/ui/store/selectors/accounts/accounts-ts.d.ts +64 -56
- package/build/cjs/ui/store/selectors/chaos_cell_bundles/index.d.ts +88 -77
- package/build/cjs/ui/store/selectors/chyt/index.d.ts +56 -49
- package/build/cjs/ui/store/selectors/components/node/memory.d.ts +56 -49
- package/build/cjs/ui/store/selectors/components/node-maintenance-modal.d.ts +1712 -13
- package/build/cjs/ui/store/selectors/components/nodes/node-card.d.ts +8 -7
- package/build/cjs/ui/store/selectors/components/nodes/nodes/data.d.ts +16 -14
- package/build/cjs/ui/store/selectors/components/nodes/nodes/predicates.d.ts +48 -42
- package/build/cjs/ui/store/selectors/components/versions/versions_v2-ts.d.ts +859 -9
- package/build/cjs/ui/store/selectors/components/versions/versions_v2.d.ts +40 -35
- package/build/cjs/ui/store/selectors/global/index.d.ts +116 -102
- package/build/cjs/ui/store/selectors/global/index.js +2 -3
- package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
- package/build/cjs/ui/store/selectors/global/supported-features.d.ts +48 -42
- package/build/cjs/ui/store/selectors/modals/errors.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/content/document.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/content/replicated-table.d.ts +24 -21
- package/build/cjs/ui/store/selectors/navigation/content/table-mount-config.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/content/table-ts.d.ts +32 -28
- package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +56 -49
- package/build/cjs/ui/store/selectors/navigation/modals/attributes-editor.d.ts +24 -21
- package/build/cjs/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/navigation.d.ts +16 -14
- package/build/cjs/ui/store/selectors/navigation/tabs/access-log.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/tabs/annotation.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/tabs/consumer.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/tabs/locks.d.ts +16 -14
- package/build/cjs/ui/store/selectors/navigation/tabs/queue.d.ts +16 -14
- package/build/cjs/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +8 -7
- package/build/cjs/ui/store/selectors/operations/index.d.ts +96 -84
- package/build/cjs/ui/store/selectors/operations/jobs-monitor.d.ts +32 -28
- package/build/cjs/ui/store/selectors/operations/operation.d.ts +939 -79
- package/build/cjs/ui/store/selectors/operations/operation.js +2 -17
- package/build/cjs/ui/store/selectors/operations/operation.js.map +1 -1
- package/build/cjs/ui/store/selectors/operations/operations-list.d.ts +24 -21
- package/build/cjs/ui/store/selectors/operations/statistics-v2.d.ts +64 -56
- package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.d.ts +876 -0
- package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.js +75 -0
- package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.js.map +1 -0
- package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.d.ts +8 -7
- package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.js +3 -3
- package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.js.map +1 -1
- package/build/cjs/ui/store/selectors/scheduling/{scheduling-operations.d.ts → expanded-pools.d.ts} +14 -14
- package/build/cjs/ui/store/selectors/scheduling/expanded-pools.js +35 -0
- package/build/cjs/ui/store/selectors/scheduling/expanded-pools.js.map +1 -0
- package/build/cjs/ui/store/selectors/scheduling/index.d.ts +8 -7
- package/build/cjs/ui/store/selectors/scheduling/index.js +3 -3
- package/build/cjs/ui/store/selectors/scheduling/index.js.map +1 -1
- package/build/cjs/ui/store/selectors/scheduling/monitor.js +1 -1
- package/build/cjs/ui/store/selectors/scheduling/monitor.js.map +1 -1
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +2552 -3
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.js +10 -18
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
- package/build/cjs/ui/store/selectors/scheduling/scheduling-ts.d.ts +4291 -45
- package/build/cjs/ui/store/selectors/scheduling/scheduling.d.ts +13739 -149
- package/build/cjs/ui/store/selectors/scheduling/scheduling.js +35 -30
- package/build/cjs/ui/store/selectors/scheduling/scheduling.js.map +1 -1
- package/build/cjs/ui/store/selectors/system/masters.d.ts +1 -1
- package/build/cjs/ui/store/selectors/system/masters.js.map +1 -1
- package/build/cjs/ui/store/selectors/tablet_cell_bundles/index.d.ts +120 -105
- package/build/cjs/ui/store/selectors/thor/support.d.ts +4294 -86
- package/build/cjs/ui/store/selectors/thor/support.js +76 -138
- package/build/cjs/ui/store/selectors/thor/support.js.map +1 -1
- package/build/cjs/ui/store/selectors/thor/support.spec.js +163 -68
- package/build/cjs/ui/store/selectors/thor/support.spec.js.map +1 -1
- package/build/cjs/ui/store/window-store.js +2 -2
- package/build/cjs/ui/store/window-store.js.map +1 -1
- package/build/cjs/ui/utils/batch.d.ts +54 -0
- package/build/cjs/ui/utils/batch.js +27 -0
- package/build/cjs/ui/utils/batch.js.map +1 -0
- package/build/cjs/ui/utils/scheduling/pool-child.d.ts +1 -1
- package/build/cjs/ui/utils/scheduling/pool-child.js +20 -9
- package/build/cjs/ui/utils/scheduling/pool-child.js.map +1 -1
- package/build/cjs/ui/utils/scheduling/scheduling.d.ts +2 -6
- package/build/cjs/ui/utils/scheduling/scheduling.js +3 -3
- package/build/cjs/ui/utils/scheduling/scheduling.js.map +1 -1
- package/build/cjs/ui/utils/utils.d.ts +3 -2
- package/build/cjs/ui/utils/utils.js +17 -9
- package/build/cjs/ui/utils/utils.js.map +1 -1
- package/build/esm/shared/yt-types.d.ts +6 -0
- package/build/esm/ui/common/yt-api-init.js +4 -2
- package/build/esm/ui/common/yt-api-init.js.map +1 -1
- package/build/esm/ui/constants/scheduling/index.d.ts +6 -7
- package/build/esm/ui/constants/scheduling/index.js +6 -7
- package/build/esm/ui/constants/scheduling/index.js.map +1 -1
- package/build/esm/ui/pages/components/tabs/node/NodePage.js +1 -4
- package/build/esm/ui/pages/components/tabs/node/NodePage.js.map +1 -1
- package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -16
- package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
- package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js +3 -6
- package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js.map +1 -1
- package/build/esm/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js +1 -5
- package/build/esm/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js.map +1 -1
- package/build/esm/ui/pages/operations/selectors.d.ts +8 -7
- package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +32 -28
- package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +8 -7
- package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +8 -7
- package/build/esm/ui/pages/scheduling/Alerts.js +1 -1
- package/build/esm/ui/pages/scheduling/Alerts.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/Content.js +2 -2
- package/build/esm/ui/pages/scheduling/Content/Content.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/{SchedulingOperationsUpdater.d.ts → SchedulingExpandedPoolsUpdater.d.ts} +2 -2
- package/build/esm/ui/pages/scheduling/Content/SchedulingExpandedPoolsUpdater.js +15 -0
- package/build/esm/ui/pages/scheduling/Content/SchedulingExpandedPoolsUpdater.js.map +1 -0
- package/build/esm/ui/pages/scheduling/Content/SchedulingResources.js +4 -3
- package/build/esm/ui/pages/scheduling/Content/SchedulingResources.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/controls/ShareUsageBar.js +1 -1
- package/build/esm/ui/pages/scheduling/Content/controls/ShareUsageBar.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/Details/Details.js +14 -9
- package/build/esm/ui/pages/scheduling/Content/tabs/Details/Details.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/Overview/Overview.d.ts +12 -10
- package/build/esm/ui/pages/scheduling/Content/tabs/Overview/Overview.js +27 -18
- package/build/esm/ui/pages/scheduling/Content/tabs/Overview/Overview.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js.map +1 -1
- package/build/esm/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.d.ts +0 -1
- package/build/esm/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js +1 -3
- package/build/esm/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.d.ts +24 -0
- package/build/esm/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js +8 -19
- package/build/esm/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Scheduling/Scheduling.js +26 -45
- package/build/esm/ui/pages/scheduling/Scheduling/Scheduling.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js +6 -2
- package/build/esm/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js.map +1 -1
- package/build/esm/ui/rum/constants.d.ts +5 -1
- package/build/esm/ui/rum/constants.js +5 -2
- package/build/esm/ui/rum/constants.js.map +1 -1
- package/build/esm/ui/rum/rum-counter.js +1 -1
- package/build/esm/ui/rum/rum-counter.js.map +1 -1
- package/build/esm/ui/rum/rum-wrap-api.d.ts +95 -53
- package/build/esm/ui/rum/rum-wrap-api.js +58 -55
- package/build/esm/ui/rum/rum-wrap-api.js.map +1 -1
- package/build/esm/ui/store/actions/components/node/node.js +6 -28
- package/build/esm/ui/store/actions/components/node/node.js.map +1 -1
- package/build/esm/ui/store/actions/operations/detail.js +1 -1
- package/build/esm/ui/store/actions/operations/detail.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js +2 -2
- package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/expanded-pools.d.ts +15 -0
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js +363 -0
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -0
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.d.ts +15 -1
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js +221 -13
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling.d.ts +1 -32
- package/build/esm/ui/store/actions/scheduling/scheduling.js +16 -247
- package/build/esm/ui/store/actions/scheduling/scheduling.js.map +1 -1
- package/build/esm/ui/store/actions/system/masters.d.ts +7 -5
- package/build/esm/ui/store/actions/system/masters.js +303 -233
- package/build/esm/ui/store/actions/system/masters.js.map +1 -1
- package/build/esm/ui/store/reducers/components/node/node.d.ts +0 -2
- package/build/esm/ui/store/reducers/components/node/node.js +2 -5
- package/build/esm/ui/store/reducers/components/node/node.js.map +1 -1
- package/build/esm/ui/store/reducers/index.d.ts +9 -7
- package/build/esm/ui/store/reducers/index.js +3 -4
- package/build/esm/ui/store/reducers/index.js.map +1 -1
- package/build/esm/ui/store/reducers/scheduling/expanded-pools.d.ts +28 -0
- package/build/esm/ui/store/reducers/scheduling/{scheduling-operations.js → expanded-pools.js} +11 -9
- package/build/esm/ui/store/reducers/scheduling/expanded-pools.js.map +1 -0
- package/build/esm/ui/store/reducers/scheduling/index.d.ts +5 -93
- package/build/esm/ui/store/reducers/scheduling/index.js +9 -135
- package/build/esm/ui/store/reducers/scheduling/index.js.map +1 -1
- package/build/esm/ui/store/reducers/scheduling/scheduling.d.ts +100 -0
- package/build/esm/ui/store/reducers/scheduling/scheduling.js +132 -0
- package/build/esm/ui/store/reducers/scheduling/scheduling.js.map +1 -0
- package/build/esm/ui/store/reducers/scheduling/url-mapping.d.ts +13 -2
- package/build/esm/ui/store/reducers/scheduling/url-mapping.js +19 -14
- package/build/esm/ui/store/reducers/scheduling/url-mapping.js.map +1 -1
- package/build/esm/ui/store/reducers/system/masters.d.ts +2 -2
- package/build/esm/ui/store/reducers/system/masters.js.map +1 -1
- package/build/esm/ui/store/selectors/accounts/account-usage.d.ts +64 -56
- package/build/esm/ui/store/selectors/accounts/accounts-ts.d.ts +64 -56
- package/build/esm/ui/store/selectors/chaos_cell_bundles/index.d.ts +88 -77
- package/build/esm/ui/store/selectors/chyt/index.d.ts +56 -49
- package/build/esm/ui/store/selectors/components/node/memory.d.ts +56 -49
- package/build/esm/ui/store/selectors/components/node-maintenance-modal.d.ts +1712 -13
- package/build/esm/ui/store/selectors/components/nodes/node-card.d.ts +8 -7
- package/build/esm/ui/store/selectors/components/nodes/nodes/data.d.ts +16 -14
- package/build/esm/ui/store/selectors/components/nodes/nodes/predicates.d.ts +48 -42
- package/build/esm/ui/store/selectors/components/versions/versions_v2-ts.d.ts +859 -9
- package/build/esm/ui/store/selectors/components/versions/versions_v2.d.ts +40 -35
- package/build/esm/ui/store/selectors/global/index.d.ts +116 -102
- package/build/esm/ui/store/selectors/global/index.js +2 -3
- package/build/esm/ui/store/selectors/global/index.js.map +1 -1
- package/build/esm/ui/store/selectors/global/supported-features.d.ts +48 -42
- package/build/esm/ui/store/selectors/modals/errors.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/content/document.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/content/replicated-table.d.ts +24 -21
- package/build/esm/ui/store/selectors/navigation/content/table-mount-config.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/content/table-ts.d.ts +32 -28
- package/build/esm/ui/store/selectors/navigation/content/table.d.ts +56 -49
- package/build/esm/ui/store/selectors/navigation/modals/attributes-editor.d.ts +24 -21
- package/build/esm/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/navigation.d.ts +16 -14
- package/build/esm/ui/store/selectors/navigation/tabs/access-log.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/tabs/annotation.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/tabs/consumer.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/tabs/locks.d.ts +16 -14
- package/build/esm/ui/store/selectors/navigation/tabs/queue.d.ts +16 -14
- package/build/esm/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +8 -7
- package/build/esm/ui/store/selectors/operations/index.d.ts +96 -84
- package/build/esm/ui/store/selectors/operations/jobs-monitor.d.ts +32 -28
- package/build/esm/ui/store/selectors/operations/operation.d.ts +939 -79
- package/build/esm/ui/store/selectors/operations/operation.js +2 -17
- package/build/esm/ui/store/selectors/operations/operation.js.map +1 -1
- package/build/esm/ui/store/selectors/operations/operations-list.d.ts +24 -21
- package/build/esm/ui/store/selectors/operations/statistics-v2.d.ts +64 -56
- package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.d.ts +876 -0
- package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.js +68 -0
- package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.js.map +1 -0
- package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.d.ts +8 -7
- package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.js +3 -3
- package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.js.map +1 -1
- package/build/esm/ui/store/selectors/scheduling/{scheduling-operations.d.ts → expanded-pools.d.ts} +14 -14
- package/build/esm/ui/store/selectors/scheduling/{scheduling-operations.js → expanded-pools.js} +13 -10
- package/build/esm/ui/store/selectors/scheduling/expanded-pools.js.map +1 -0
- package/build/esm/ui/store/selectors/scheduling/index.d.ts +8 -7
- package/build/esm/ui/store/selectors/scheduling/index.js +3 -3
- package/build/esm/ui/store/selectors/scheduling/index.js.map +1 -1
- package/build/esm/ui/store/selectors/scheduling/monitor.js +1 -1
- package/build/esm/ui/store/selectors/scheduling/monitor.js.map +1 -1
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +2552 -3
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.js +11 -19
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
- package/build/esm/ui/store/selectors/scheduling/scheduling-ts.d.ts +4291 -45
- package/build/esm/ui/store/selectors/scheduling/scheduling.d.ts +13739 -149
- package/build/esm/ui/store/selectors/scheduling/scheduling.js +34 -29
- package/build/esm/ui/store/selectors/scheduling/scheduling.js.map +1 -1
- package/build/esm/ui/store/selectors/system/masters.d.ts +1 -1
- package/build/esm/ui/store/selectors/system/masters.js.map +1 -1
- package/build/esm/ui/store/selectors/tablet_cell_bundles/index.d.ts +120 -105
- package/build/esm/ui/store/selectors/thor/support.d.ts +4294 -86
- package/build/esm/ui/store/selectors/thor/support.js +73 -134
- package/build/esm/ui/store/selectors/thor/support.js.map +1 -1
- package/build/esm/ui/store/selectors/thor/support.spec.js +164 -69
- package/build/esm/ui/store/selectors/thor/support.spec.js.map +1 -1
- package/build/esm/ui/store/window-store.js +1 -1
- package/build/esm/ui/store/window-store.js.map +1 -1
- package/build/esm/ui/utils/batch.d.ts +54 -0
- package/build/esm/ui/utils/batch.js +19 -0
- package/build/esm/ui/utils/batch.js.map +1 -0
- package/build/esm/ui/utils/scheduling/pool-child.d.ts +1 -1
- package/build/esm/ui/utils/scheduling/pool-child.js +20 -9
- package/build/esm/ui/utils/scheduling/pool-child.js.map +1 -1
- package/build/esm/ui/utils/scheduling/scheduling.d.ts +2 -6
- package/build/esm/ui/utils/scheduling/scheduling.js +3 -3
- package/build/esm/ui/utils/scheduling/scheduling.js.map +1 -1
- package/build/esm/ui/utils/utils.d.ts +3 -2
- package/build/esm/ui/utils/utils.js +17 -9
- package/build/esm/ui/utils/utils.js.map +1 -1
- package/dist/public/build/assets-manifest.json +7 -7
- package/dist/public/build/js/main.64fccb27.js +3 -0
- package/dist/public/build/js/{main.9d592639.js.map → main.64fccb27.js.map} +1 -1
- package/dist/public/build/js/{runtime.9491563b.js → runtime.fd8cf219.js} +2 -2
- package/dist/public/build/js/{runtime.9491563b.js.map → runtime.fd8cf219.js.map} +1 -1
- package/dist/public/build/manifest.json +4 -4
- package/package.json +2 -2
- package/build/cjs/ui/pages/scheduling/Content/SchedulingOperationsUpdater.js.map +0 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling-operations.d.ts +0 -15
- package/build/cjs/ui/store/actions/scheduling/scheduling-operations.js +0 -280
- package/build/cjs/ui/store/actions/scheduling/scheduling-operations.js.map +0 -1
- package/build/cjs/ui/store/reducers/scheduling/scheduling-operations.d.ts +0 -19
- package/build/cjs/ui/store/reducers/scheduling/scheduling-operations.js.map +0 -1
- package/build/cjs/ui/store/selectors/scheduling/scheduling-operations.js +0 -32
- package/build/cjs/ui/store/selectors/scheduling/scheduling-operations.js.map +0 -1
- package/build/esm/ui/pages/scheduling/Content/SchedulingOperationsUpdater.js +0 -16
- package/build/esm/ui/pages/scheduling/Content/SchedulingOperationsUpdater.js.map +0 -1
- package/build/esm/ui/store/actions/scheduling/scheduling-operations.d.ts +0 -15
- package/build/esm/ui/store/actions/scheduling/scheduling-operations.js +0 -267
- package/build/esm/ui/store/actions/scheduling/scheduling-operations.js.map +0 -1
- package/build/esm/ui/store/reducers/scheduling/scheduling-operations.d.ts +0 -19
- package/build/esm/ui/store/reducers/scheduling/scheduling-operations.js.map +0 -1
- package/build/esm/ui/store/selectors/scheduling/scheduling-operations.js.map +0 -1
- package/dist/public/build/js/main.9d592639.js +0 -3
- /package/dist/public/build/js/{main.9d592639.js.LICENSE.txt → main.64fccb27.js.LICENSE.txt} +0 -0
@@ -3,28 +3,26 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports._LOCAL_ARCADIA_VERSION =
|
6
|
+
exports._LOCAL_ARCADIA_VERSION = void 0;
|
7
7
|
exports._compareVersions = _compareVersions;
|
8
|
-
exports._isFeatureSupported =
|
8
|
+
exports._isFeatureSupported = _isFeatureSupported;
|
9
9
|
exports._versionInInterval = _versionInInterval;
|
10
|
-
exports.
|
11
|
-
exports.isSupportedYtTvmAPIGlobal = isSupportedYtTvmAPIGlobal;
|
10
|
+
exports.isSupportedSelector = exports.isSupportedSchedulingChildrenByPool = exports.isSupportedNodeMaintenanceApi = exports.isSupportedEffectiveExpiration = exports.isSupportedClusterNodeForVersions = void 0;
|
12
11
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
13
|
-
var _map2 = _interopRequireDefault(require("lodash/map"));
|
14
|
-
var _hammer = _interopRequireDefault(require("@ytsaurus/interface-helpers/lib/hammer"));
|
15
12
|
var _reselect = require("reselect");
|
13
|
+
var _map = _interopRequireDefault(require("lodash/map"));
|
14
|
+
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
15
|
+
var _every = _interopRequireDefault(require("lodash/every"));
|
16
|
+
var _hammer = _interopRequireDefault(require("@ytsaurus/interface-helpers/lib/hammer"));
|
16
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
|
+
// @ts-ignore
|
19
|
+
|
17
20
|
var _LOCAL_ARCADIA_VERSION = exports._LOCAL_ARCADIA_VERSION = '(development)';
|
18
|
-
var _DEV_PATCH_NUMBER = exports._DEV_PATCH_NUMBER = '0';
|
19
|
-
var STABLE = 'stable';
|
20
|
-
var PRESTABLE = 'prestable';
|
21
|
-
var GREATER = 'greater';
|
22
|
-
var SMALLER = 'smaller';
|
23
21
|
function versionToArray(version, build) {
|
24
22
|
var VERSION_DELIMITER = '.';
|
25
23
|
var VERSION_CHUNK_COUNT = 3;
|
26
24
|
var VERSION_CHUNK_PLACEHOLDER = 0;
|
27
|
-
var versionArray = (0,
|
25
|
+
var versionArray = (0, _map.default)(version.split(VERSION_DELIMITER), function (subversion) {
|
28
26
|
return parseInt(subversion, 10);
|
29
27
|
});
|
30
28
|
while (versionArray.length < VERSION_CHUNK_COUNT) {
|
@@ -46,9 +44,9 @@ function versionToArray(version, build) {
|
|
46
44
|
*/
|
47
45
|
function _compareVersions(comparator, versionA, versionB) {
|
48
46
|
if (versionA === versionB) {
|
49
|
-
return comparator ===
|
47
|
+
return comparator === 'greater';
|
50
48
|
}
|
51
|
-
return comparator ===
|
49
|
+
return comparator === 'greater' ? _hammer.default.utils.compareVectors(versionToArray(versionA), versionToArray(versionB)) >= 0 : _hammer.default.utils.compareVectors(versionToArray(versionA), versionToArray(versionB)) < 0;
|
52
50
|
}
|
53
51
|
|
54
52
|
/**
|
@@ -62,143 +60,97 @@ function _versionInInterval(version, versionInterval) {
|
|
62
60
|
var supported;
|
63
61
|
if ((0, _typeof2.default)(versionInterval) === 'object') {
|
64
62
|
supported = Object.keys(versionInterval).every(function (comparator) {
|
65
|
-
if (!(comparator ===
|
63
|
+
if (!(comparator === 'greater' || comparator === 'smaller')) {
|
66
64
|
throw new Error('thor.support: feature description has unknown comparator "' + comparator + '",' + ' cannot check support.');
|
67
65
|
}
|
68
|
-
|
66
|
+
var key = comparator;
|
67
|
+
return _compareVersions(comparator, version, versionInterval[key]);
|
69
68
|
});
|
70
69
|
} else {
|
71
|
-
supported = _compareVersions(
|
70
|
+
supported = _compareVersions('greater', version, versionInterval);
|
72
71
|
}
|
73
72
|
return supported;
|
74
73
|
}
|
75
74
|
function getVersionAndBuild(version) {
|
76
|
-
var parsedVersion = version
|
75
|
+
var parsedVersion = version === null || version === void 0 ? void 0 : version.match(/(\d+)\.(\d+)\.(\d+)/);
|
77
76
|
var parsedBuild;
|
78
77
|
if (parsedVersion) {
|
79
|
-
|
80
|
-
parsedBuild = version.substring(parsedVersion.length);
|
81
|
-
return [
|
78
|
+
var majorMinorPatch = parsedVersion[0];
|
79
|
+
parsedBuild = version === null || version === void 0 ? void 0 : version.substring(parsedVersion.length);
|
80
|
+
return [majorMinorPatch, parsedBuild];
|
82
81
|
}
|
82
|
+
return undefined;
|
83
83
|
}
|
84
|
-
function
|
85
|
-
var parsedVersion = version && version.match(/(\d+)\.(\d+)\.(\d+)/);
|
86
|
-
return parsedVersion && parsedVersion[3];
|
87
|
-
}
|
88
|
-
var rawProxyVersion = function rawProxyVersion(state) {
|
84
|
+
var getRawProxyVersion = function getRawProxyVersion(state) {
|
89
85
|
return state.global.version;
|
90
86
|
};
|
91
|
-
var
|
87
|
+
var getRawSchedulerVersion = function getRawSchedulerVersion(state) {
|
92
88
|
return state.global.schedulerVersion;
|
93
89
|
};
|
94
|
-
var
|
90
|
+
var getRawMasterVersion = function getRawMasterVersion(state) {
|
95
91
|
return state.global.masterVersion;
|
96
92
|
};
|
97
|
-
var
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
schedulingOperationsPerPool: {
|
116
|
-
prestable: '21.3.8724602',
|
117
|
-
component: scheduler
|
118
|
-
},
|
119
|
-
operationAlertEvents: {
|
120
|
-
prestable: '22.1.9091274',
|
121
|
-
component: scheduler
|
122
|
-
},
|
123
|
-
ytTvmApi: {
|
124
|
-
prestable: '21.3',
|
125
|
-
component: proxy
|
126
|
-
},
|
127
|
-
operationsPoolTreeFilter: {
|
128
|
-
prestable: '22.1.9091043',
|
129
|
-
component: proxy
|
130
|
-
},
|
131
|
-
fieldsFilter: {
|
132
|
-
prestable: '22.1.9091155',
|
133
|
-
component: scheduler
|
134
|
-
},
|
135
|
-
effectiveExpiration: {
|
136
|
-
prestable: '23.1.11146445',
|
137
|
-
component: master
|
138
|
-
},
|
139
|
-
clusterNodeVersion: {
|
140
|
-
prestable: '23.2'
|
141
|
-
},
|
142
|
-
nodeMaintenanceApi: {
|
143
|
-
prestable: '23.1.11106567',
|
144
|
-
component: proxy
|
145
|
-
}
|
146
|
-
};
|
147
|
-
});
|
148
|
-
var _isFeatureSupported = exports._isFeatureSupported = function _isFeatureSupported(rawProxyVersion, proxyPatch, features) {
|
93
|
+
var FEATURES = {
|
94
|
+
fieldsFilter: {
|
95
|
+
scheduler: '22.1.9091155'
|
96
|
+
},
|
97
|
+
effectiveExpiration: {
|
98
|
+
master: '23.1.11146445'
|
99
|
+
},
|
100
|
+
clusterNodeVersion: {
|
101
|
+
proxy: '23.2.0'
|
102
|
+
},
|
103
|
+
nodeMaintenanceApi: {
|
104
|
+
proxy: '23.1.11106567'
|
105
|
+
},
|
106
|
+
schedulingChildrenByPool: {
|
107
|
+
scheduler: '23.1.11146742'
|
108
|
+
}
|
109
|
+
};
|
110
|
+
function _isFeatureSupported(rawVersions, features) {
|
149
111
|
return function (featureName) {
|
150
|
-
// yt-local in arcadia is meant to be of the freshest version
|
151
|
-
if (rawProxyVersion === _LOCAL_ARCADIA_VERSION || proxyPatch === _DEV_PATCH_NUMBER) {
|
152
|
-
return true;
|
153
|
-
}
|
154
112
|
function failFeature(message) {
|
155
113
|
console.warn("thor.support \"".concat(featureName, "\" ").concat(message));
|
156
114
|
return false;
|
157
115
|
}
|
158
|
-
|
159
|
-
|
116
|
+
var featureVersions = features[featureName];
|
117
|
+
if (!featureVersions) {
|
118
|
+
return failFeature("".concat(featureName, " is unknown, cannot check support."));
|
119
|
+
}
|
120
|
+
if ((0, _isEmpty.default)(featureVersions)) {
|
121
|
+
return failFeature('feature component version is unknown, cannot check support.');
|
160
122
|
}
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
if (
|
167
|
-
return
|
123
|
+
return (0, _every.default)(featureVersions, function (value, k) {
|
124
|
+
var key = k;
|
125
|
+
var rawVersion = rawVersions[key];
|
126
|
+
|
127
|
+
// yt-local in arcadia is meant to be of the freshest version
|
128
|
+
if (rawVersion === _LOCAL_ARCADIA_VERSION) {
|
129
|
+
return true;
|
130
|
+
}
|
131
|
+
if (!value) {
|
132
|
+
return failFeature("feature version of '".concat(key, "' is unknown, connot check support"));
|
168
133
|
}
|
169
|
-
var
|
170
|
-
|
171
|
-
|
172
|
-
return failFeature("feature version for branch \"".concat(currentBranch, "\" or branch \"").concat(PRESTABLE, "\" is unknown, cannot check support."));
|
134
|
+
var buildVersion = getVersionAndBuild(rawVersion);
|
135
|
+
if (!buildVersion) {
|
136
|
+
return failFeature("version of '".concat(key, "' component is unknown, cannot check support."));
|
173
137
|
}
|
174
|
-
if (Array.isArray(
|
175
|
-
return
|
176
|
-
return _versionInInterval(
|
138
|
+
if (Array.isArray(value)) {
|
139
|
+
return value.some(function (item) {
|
140
|
+
return _versionInInterval(buildVersion[0], item);
|
177
141
|
});
|
178
142
|
} else {
|
179
|
-
return _versionInInterval(
|
143
|
+
return _versionInInterval(buildVersion[0], value);
|
180
144
|
}
|
181
|
-
}
|
145
|
+
});
|
182
146
|
};
|
183
|
-
}
|
184
|
-
var isSupportedSelector = exports.isSupportedSelector = (0, _reselect.createSelector)([
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
});
|
191
|
-
var isSupportedSchedulingOperationsPerPool = exports.isSupportedSchedulingOperationsPerPool = (0, _reselect.createSelector)([isSupportedSelector], function (isSupported) {
|
192
|
-
return isSupported('schedulingOperationsPerPool');
|
193
|
-
});
|
194
|
-
var isSupportedOperationAlertEvents = exports.isSupportedOperationAlertEvents = (0, _reselect.createSelector)([isSupportedSelector], function (isSupported) {
|
195
|
-
return isSupported('operationAlertEvents');
|
196
|
-
});
|
197
|
-
var isSupportedOperationsFilterByPoolTree = exports.isSupportedOperationsFilterByPoolTree = (0, _reselect.createSelector)([isSupportedSelector], function (isSupported) {
|
198
|
-
return isSupported('operationsPoolTreeFilter');
|
199
|
-
});
|
200
|
-
var isSupportedFieldsFilter = exports.isSupportedFieldsFilter = (0, _reselect.createSelector)([isSupportedSelector], function (isSupported) {
|
201
|
-
return isSupported('fieldsFilter');
|
147
|
+
}
|
148
|
+
var isSupportedSelector = exports.isSupportedSelector = (0, _reselect.createSelector)([getRawProxyVersion, getRawSchedulerVersion, getRawMasterVersion], function (proxy, scheduler, master) {
|
149
|
+
return _isFeatureSupported({
|
150
|
+
proxy: proxy,
|
151
|
+
scheduler: scheduler,
|
152
|
+
master: master
|
153
|
+
}, FEATURES);
|
202
154
|
});
|
203
155
|
var isSupportedEffectiveExpiration = exports.isSupportedEffectiveExpiration = (0, _reselect.createSelector)([isSupportedSelector], function (isSupported) {
|
204
156
|
return isSupported('effectiveExpiration');
|
@@ -209,21 +161,7 @@ var isSupportedClusterNodeForVersions = exports.isSupportedClusterNodeForVersion
|
|
209
161
|
var isSupportedNodeMaintenanceApi = exports.isSupportedNodeMaintenanceApi = (0, _reselect.createSelector)([isSupportedSelector], function (isSupported) {
|
210
162
|
return isSupported('nodeMaintenanceApi');
|
211
163
|
});
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
to pass state, since it needs to be passed through many function calls or is separated from the Redux data flow.
|
216
|
-
When you are inside actions/connect-ed React component, you are strongly encouraged to use isSupportedSelector
|
217
|
-
directly, since it is guaranteed to use correct state.
|
218
|
-
Within reducer it's better to use isSupported function passed from within action, because isSupportedSelector works
|
219
|
-
on the global state, while in reducer we have an access to its local part.
|
220
|
-
|
221
|
-
@Deprecated
|
222
|
-
*/
|
223
|
-
var isSupportedGlobal = function isSupportedGlobal(featureName) {
|
224
|
-
return isSupportedSelector(window.store.getState())(featureName);
|
225
|
-
};
|
226
|
-
function isSupportedYtTvmAPIGlobal() {
|
227
|
-
return isSupportedGlobal('ytTvmApi');
|
228
|
-
}
|
164
|
+
var isSupportedSchedulingChildrenByPool = exports.isSupportedSchedulingChildrenByPool = (0, _reselect.createSelector)([isSupportedSelector], function (isSupported) {
|
165
|
+
return isSupported('schedulingChildrenByPool');
|
166
|
+
});
|
229
167
|
// #sourceMappingURL=support.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_hammer","_interopRequireDefault","require","_reselect","obj","__esModule","default","_LOCAL_ARCADIA_VERSION","exports","_DEV_PATCH_NUMBER","STABLE","PRESTABLE","GREATER","SMALLER","versionToArray","version","build","VERSION_DELIMITER","VERSION_CHUNK_COUNT","VERSION_CHUNK_PLACEHOLDER","versionArray","_map","split","subversion","parseInt","length","push","_compareVersions","comparator","versionA","versionB","hammer","utils","compareVectors","_versionInInterval","versionInterval","supported","_typeof","Object","keys","every","Error","getVersionAndBuild","parsedVersion","match","parsedBuild","substring","extractPatchNumber","rawProxyVersion","state","global","rawSchedulerVersion","schedulerVersion","rawMasterVersion","masterVersion","getProxyVersion","createSelector","proxyPatchNumber","getSchedulerVersion","getMasterVersion","features","proxy","scheduler","master","newSchedulingAttributes","prestable","component","newOperationStarvationStatus","transferPoolQuota","schedulingOperationsPerPool","operationAlertEvents","ytTvmApi","operationsPoolTreeFilter","fieldsFilter","effectiveExpiration","clusterNodeVersion","nodeMaintenanceApi","_isFeatureSupported","proxyPatch","featureName","failFeature","message","console","warn","concat","hasOwnProperty","call","feature","componentVersion","currentBranch","indexOf","featureVersionInterval","Array","isArray","some","interval","isSupportedSelector","isSupportedOperationStarvationStatus","rawVersion","isSupported","isSupportedTransferPoolQuota","isSupportedSchedulingOperationsPerPool","isSupportedOperationAlertEvents","isSupportedOperationsFilterByPoolTree","isSupportedFieldsFilter","isSupportedEffectiveExpiration","isSupportedClusterNodeForVersions","isSupportedNodeMaintenanceApi","isSupportedGlobal","window","store","getState","isSupportedYtTvmAPIGlobal"],"sources":["support.js"],"sourcesContent":["import hammer from '@ytsaurus/interface-helpers/lib/hammer';\nimport _ from 'lodash';\nimport {createSelector} from 'reselect';\n\nexport const _LOCAL_ARCADIA_VERSION = '(development)';\nexport const _DEV_PATCH_NUMBER = '0';\nconst STABLE = 'stable';\nconst PRESTABLE = 'prestable';\nconst GREATER = 'greater';\nconst SMALLER = 'smaller';\n\nfunction versionToArray(version, build) {\n const VERSION_DELIMITER = '.';\n const VERSION_CHUNK_COUNT = 3;\n const VERSION_CHUNK_PLACEHOLDER = 0;\n\n const versionArray = _.map(version.split(VERSION_DELIMITER), (subversion) => {\n return parseInt(subversion, 10);\n });\n\n while (versionArray.length < VERSION_CHUNK_COUNT) {\n versionArray.push(VERSION_CHUNK_PLACEHOLDER);\n }\n\n if (build) {\n versionArray.push(build);\n }\n\n return versionArray;\n}\n\n/**\n * Returns true if versionA >= versionB and comparator === 'greater'\n * Returns true if versionA < versionB and comparator === 'smaller'\n * @param {String} comparator - 'greater', 'smaller'\n * @param {String} versionA\n * @param {String} versionB\n * @returns {boolean}\n */\nexport function _compareVersions(comparator, versionA, versionB) {\n if (versionA === versionB) {\n return comparator === GREATER;\n }\n\n return comparator === GREATER\n ? hammer.utils.compareVectors(versionToArray(versionA), versionToArray(versionB)) >= 0\n : hammer.utils.compareVectors(versionToArray(versionA), versionToArray(versionB)) < 0;\n}\n\n/**\n * Determines wheter a given version belongs to a versionInterval [a, b)\n * Left end included, right end excluded (intuitive limitations - features are supported starting from a specific build)\n * @param {String} version\n * @param {String|Object} versionInterval\n * @returns {boolean}\n */\nexport function _versionInInterval(version, versionInterval) {\n let supported;\n\n if (typeof versionInterval === 'object') {\n supported = Object.keys(versionInterval).every((comparator) => {\n if (!(comparator === GREATER || comparator === SMALLER)) {\n throw new Error(\n 'thor.support: feature description has unknown comparator \"' +\n comparator +\n '\",' +\n ' cannot check support.',\n );\n }\n return _compareVersions(comparator, version, versionInterval[comparator]);\n });\n } else {\n supported = _compareVersions(GREATER, version, versionInterval);\n }\n\n return supported;\n}\n\nfunction getVersionAndBuild(version) {\n let parsedVersion = version && version.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\n let parsedBuild;\n\n if (parsedVersion) {\n parsedVersion = parsedVersion[0];\n parsedBuild = version.substring(parsedVersion.length);\n\n return [parsedVersion, parsedBuild];\n }\n}\n\nfunction extractPatchNumber(version) {\n const parsedVersion = version && version.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\n return parsedVersion && parsedVersion[3];\n}\n\nconst rawProxyVersion = (state) => state.global.version;\nconst rawSchedulerVersion = (state) => state.global.schedulerVersion;\nconst rawMasterVersion = (state) => state.global.masterVersion;\nexport const getProxyVersion = createSelector(rawProxyVersion, getVersionAndBuild);\nconst proxyPatchNumber = createSelector(rawProxyVersion, extractPatchNumber);\nexport const getSchedulerVersion = createSelector(rawSchedulerVersion, getVersionAndBuild);\nexport const getMasterVersion = createSelector(rawMasterVersion, getVersionAndBuild);\n\nconst features = createSelector(\n [getProxyVersion, getSchedulerVersion, getMasterVersion],\n (proxy, scheduler, master) => {\n return {\n newSchedulingAttributes: {\n prestable: '20.2',\n component: scheduler,\n },\n newOperationStarvationStatus: {\n prestable: '21.2.8084183',\n component: scheduler,\n },\n transferPoolQuota: {\n prestable: '21.3',\n component: proxy,\n },\n schedulingOperationsPerPool: {\n prestable: '21.3.8724602',\n component: scheduler,\n },\n operationAlertEvents: {\n prestable: '22.1.9091274',\n component: scheduler,\n },\n ytTvmApi: {\n prestable: '21.3',\n component: proxy,\n },\n operationsPoolTreeFilter: {\n prestable: '22.1.9091043',\n component: proxy,\n },\n fieldsFilter: {\n prestable: '22.1.9091155',\n component: scheduler,\n },\n effectiveExpiration: {\n prestable: '23.1.11146445',\n component: master,\n },\n clusterNodeVersion: {\n prestable: '23.2',\n },\n nodeMaintenanceApi: {\n prestable: '23.1.11106567',\n component: proxy,\n },\n };\n },\n);\n\nexport const _isFeatureSupported = (rawProxyVersion, proxyPatch, features) => (featureName) => {\n // yt-local in arcadia is meant to be of the freshest version\n if (rawProxyVersion === _LOCAL_ARCADIA_VERSION || proxyPatch === _DEV_PATCH_NUMBER) {\n return true;\n }\n\n function failFeature(message) {\n console.warn(`thor.support \"${featureName}\" ${message}`);\n return false;\n }\n\n if (!Object.hasOwnProperty.call(features, featureName)) {\n return failFeature('feature is unknown, cannot check support.');\n }\n\n const feature = features[featureName];\n\n if (typeof feature === 'function') {\n return feature();\n } else {\n const componentVersion = feature.component;\n\n if (!componentVersion) {\n return failFeature('feature component version is unknown, cannot check support.');\n }\n\n const currentBranch = componentVersion[1].indexOf('-' + STABLE) === 0 ? STABLE : PRESTABLE;\n\n const featureVersionInterval = feature[currentBranch] || feature[PRESTABLE];\n\n if (!featureVersionInterval) {\n return failFeature(\n `feature version for branch \"${currentBranch}\" or branch \"${PRESTABLE}\" is unknown, cannot check support.`,\n );\n }\n\n if (Array.isArray(featureVersionInterval)) {\n return featureVersionInterval.some((interval) =>\n _versionInInterval(componentVersion[0], interval),\n );\n } else {\n return _versionInInterval(componentVersion[0], featureVersionInterval);\n }\n }\n};\n\nexport const isSupportedSelector = createSelector(\n [rawProxyVersion, proxyPatchNumber, features],\n _isFeatureSupported,\n);\n\nexport const isSupportedOperationStarvationStatus = createSelector(\n [rawSchedulerVersion, isSupportedSelector],\n (rawVersion, isSupported) => {\n return rawVersion && isSupported('newOperationStarvationStatus');\n },\n);\n\nexport const isSupportedTransferPoolQuota = createSelector([isSupportedSelector], (isSupported) => {\n return isSupported('transferPoolQuota');\n});\n\nexport const isSupportedSchedulingOperationsPerPool = createSelector(\n [isSupportedSelector],\n (isSupported) => isSupported('schedulingOperationsPerPool'),\n);\n\nexport const isSupportedOperationAlertEvents = createSelector(\n [isSupportedSelector],\n (isSupported) => {\n return isSupported('operationAlertEvents');\n },\n);\n\nexport const isSupportedOperationsFilterByPoolTree = createSelector(\n [isSupportedSelector],\n (isSupported) => {\n return isSupported('operationsPoolTreeFilter');\n },\n);\n\nexport const isSupportedFieldsFilter = createSelector([isSupportedSelector], (isSupported) => {\n return isSupported('fieldsFilter');\n});\n\nexport const isSupportedEffectiveExpiration = createSelector(\n [isSupportedSelector],\n (isSupported) => {\n return isSupported('effectiveExpiration');\n },\n);\n\nexport const isSupportedClusterNodeForVersions = createSelector(\n [isSupportedSelector],\n (isSupported) => {\n return isSupported('clusterNodeVersion');\n },\n);\n\nexport const isSupportedNodeMaintenanceApi = createSelector(\n [isSupportedSelector],\n (isSupported) => {\n return isSupported('nodeMaintenanceApi');\n },\n);\n\n/**\n This function function is recommended for usage inside utils and old knockout components, where it is difficult\n to pass state, since it needs to be passed through many function calls or is separated from the Redux data flow.\n When you are inside actions/connect-ed React component, you are strongly encouraged to use isSupportedSelector\n directly, since it is guaranteed to use correct state.\n Within reducer it's better to use isSupported function passed from within action, because isSupportedSelector works\n on the global state, while in reducer we have an access to its local part.\n\n @Deprecated\n*/\nconst isSupportedGlobal = (featureName) =>\n isSupportedSelector(window.store.getState())(featureName);\n\nexport function isSupportedYtTvmAPIGlobal() {\n return isSupportedGlobal('ytTvmApi');\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAAuC,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhC,IAAMG,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,eAAe;AAC9C,IAAME,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAAG,GAAG;AACpC,IAAMC,MAAM,GAAG,QAAQ;AACvB,IAAMC,SAAS,GAAG,WAAW;AAC7B,IAAMC,OAAO,GAAG,SAAS;AACzB,IAAMC,OAAO,GAAG,SAAS;AAEzB,SAASC,cAAcA,CAACC,OAAO,EAAEC,KAAK,EAAE;EACpC,IAAMC,iBAAiB,GAAG,GAAG;EAC7B,IAAMC,mBAAmB,GAAG,CAAC;EAC7B,IAAMC,yBAAyB,GAAG,CAAC;EAEnC,IAAMC,YAAY,GAAG,IAAAC,aAAA,EAAMN,OAAO,CAACO,KAAK,CAACL,iBAAiB,CAAC,EAAE,UAACM,UAAU,EAAK;IACzE,OAAOC,QAAQ,CAACD,UAAU,EAAE,EAAE,CAAC;EACnC,CAAC,CAAC;EAEF,OAAOH,YAAY,CAACK,MAAM,GAAGP,mBAAmB,EAAE;IAC9CE,YAAY,CAACM,IAAI,CAACP,yBAAyB,CAAC;EAChD;EAEA,IAAIH,KAAK,EAAE;IACPI,YAAY,CAACM,IAAI,CAACV,KAAK,CAAC;EAC5B;EAEA,OAAOI,YAAY;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,gBAAgBA,CAACC,UAAU,EAAEC,QAAQ,EAAEC,QAAQ,EAAE;EAC7D,IAAID,QAAQ,KAAKC,QAAQ,EAAE;IACvB,OAAOF,UAAU,KAAKhB,OAAO;EACjC;EAEA,OAAOgB,UAAU,KAAKhB,OAAO,GACvBmB,eAAM,CAACC,KAAK,CAACC,cAAc,CAACnB,cAAc,CAACe,QAAQ,CAAC,EAAEf,cAAc,CAACgB,QAAQ,CAAC,CAAC,IAAI,CAAC,GACpFC,eAAM,CAACC,KAAK,CAACC,cAAc,CAACnB,cAAc,CAACe,QAAQ,CAAC,EAAEf,cAAc,CAACgB,QAAQ,CAAC,CAAC,GAAG,CAAC;AAC7F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,kBAAkBA,CAACnB,OAAO,EAAEoB,eAAe,EAAE;EACzD,IAAIC,SAAS;EAEb,IAAI,IAAAC,gBAAA,EAAOF,eAAe,MAAK,QAAQ,EAAE;IACrCC,SAAS,GAAGE,MAAM,CAACC,IAAI,CAACJ,eAAe,CAAC,CAACK,KAAK,CAAC,UAACZ,UAAU,EAAK;MAC3D,IAAI,EAAEA,UAAU,KAAKhB,OAAO,IAAIgB,UAAU,KAAKf,OAAO,CAAC,EAAE;QACrD,MAAM,IAAI4B,KAAK,CACX,4DAA4D,GACxDb,UAAU,GACV,IAAI,GACJ,wBACR,CAAC;MACL;MACA,OAAOD,gBAAgB,CAACC,UAAU,EAAEb,OAAO,EAAEoB,eAAe,CAACP,UAAU,CAAC,CAAC;IAC7E,CAAC,CAAC;EACN,CAAC,MAAM;IACHQ,SAAS,GAAGT,gBAAgB,CAACf,OAAO,EAAEG,OAAO,EAAEoB,eAAe,CAAC;EACnE;EAEA,OAAOC,SAAS;AACpB;AAEA,SAASM,kBAAkBA,CAAC3B,OAAO,EAAE;EACjC,IAAI4B,aAAa,GAAG5B,OAAO,IAAIA,OAAO,CAAC6B,KAAK,CAAC,qBAAqB,CAAC;EACnE,IAAIC,WAAW;EAEf,IAAIF,aAAa,EAAE;IACfA,aAAa,GAAGA,aAAa,CAAC,CAAC,CAAC;IAChCE,WAAW,GAAG9B,OAAO,CAAC+B,SAAS,CAACH,aAAa,CAAClB,MAAM,CAAC;IAErD,OAAO,CAACkB,aAAa,EAAEE,WAAW,CAAC;EACvC;AACJ;AAEA,SAASE,kBAAkBA,CAAChC,OAAO,EAAE;EACjC,IAAM4B,aAAa,GAAG5B,OAAO,IAAIA,OAAO,CAAC6B,KAAK,CAAC,qBAAqB,CAAC;EACrE,OAAOD,aAAa,IAAIA,aAAa,CAAC,CAAC,CAAC;AAC5C;AAEA,IAAMK,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAAK;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACnC,OAAO;AAAA;AACvD,IAAMoC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIF,KAAK;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACE,gBAAgB;AAAA;AACpE,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIJ,KAAK;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACI,aAAa;AAAA;AACvD,IAAMC,eAAe,GAAA/C,OAAA,CAAA+C,eAAA,GAAG,IAAAC,wBAAc,EAACR,eAAe,EAAEN,kBAAkB,CAAC;AAClF,IAAMe,gBAAgB,GAAG,IAAAD,wBAAc,EAACR,eAAe,EAAED,kBAAkB,CAAC;AACrE,IAAMW,mBAAmB,GAAAlD,OAAA,CAAAkD,mBAAA,GAAG,IAAAF,wBAAc,EAACL,mBAAmB,EAAET,kBAAkB,CAAC;AACnF,IAAMiB,gBAAgB,GAAAnD,OAAA,CAAAmD,gBAAA,GAAG,IAAAH,wBAAc,EAACH,gBAAgB,EAAEX,kBAAkB,CAAC;AAEpF,IAAMkB,QAAQ,GAAG,IAAAJ,wBAAc,EAC3B,CAACD,eAAe,EAAEG,mBAAmB,EAAEC,gBAAgB,CAAC,EACxD,UAACE,KAAK,EAAEC,SAAS,EAAEC,MAAM,EAAK;EAC1B,OAAO;IACHC,uBAAuB,EAAE;MACrBC,SAAS,EAAE,MAAM;MACjBC,SAAS,EAAEJ;IACf,CAAC;IACDK,4BAA4B,EAAE;MAC1BF,SAAS,EAAE,cAAc;MACzBC,SAAS,EAAEJ;IACf,CAAC;IACDM,iBAAiB,EAAE;MACfH,SAAS,EAAE,MAAM;MACjBC,SAAS,EAAEL;IACf,CAAC;IACDQ,2BAA2B,EAAE;MACzBJ,SAAS,EAAE,cAAc;MACzBC,SAAS,EAAEJ;IACf,CAAC;IACDQ,oBAAoB,EAAE;MAClBL,SAAS,EAAE,cAAc;MACzBC,SAAS,EAAEJ;IACf,CAAC;IACDS,QAAQ,EAAE;MACNN,SAAS,EAAE,MAAM;MACjBC,SAAS,EAAEL;IACf,CAAC;IACDW,wBAAwB,EAAE;MACtBP,SAAS,EAAE,cAAc;MACzBC,SAAS,EAAEL;IACf,CAAC;IACDY,YAAY,EAAE;MACVR,SAAS,EAAE,cAAc;MACzBC,SAAS,EAAEJ;IACf,CAAC;IACDY,mBAAmB,EAAE;MACjBT,SAAS,EAAE,eAAe;MAC1BC,SAAS,EAAEH;IACf,CAAC;IACDY,kBAAkB,EAAE;MAChBV,SAAS,EAAE;IACf,CAAC;IACDW,kBAAkB,EAAE;MAChBX,SAAS,EAAE,eAAe;MAC1BC,SAAS,EAAEL;IACf;EACJ,CAAC;AACL,CACJ,CAAC;AAEM,IAAMgB,mBAAmB,GAAArE,OAAA,CAAAqE,mBAAA,GAAG,SAAtBA,mBAAmBA,CAAI7B,eAAe,EAAE8B,UAAU,EAAElB,QAAQ;EAAA,OAAK,UAACmB,WAAW,EAAK;IAC3F;IACA,IAAI/B,eAAe,KAAKzC,sBAAsB,IAAIuE,UAAU,KAAKrE,iBAAiB,EAAE;MAChF,OAAO,IAAI;IACf;IAEA,SAASuE,WAAWA,CAACC,OAAO,EAAE;MAC1BC,OAAO,CAACC,IAAI,mBAAAC,MAAA,CAAkBL,WAAW,SAAAK,MAAA,CAAKH,OAAO,CAAE,CAAC;MACxD,OAAO,KAAK;IAChB;IAEA,IAAI,CAAC3C,MAAM,CAAC+C,cAAc,CAACC,IAAI,CAAC1B,QAAQ,EAAEmB,WAAW,CAAC,EAAE;MACpD,OAAOC,WAAW,CAAC,2CAA2C,CAAC;IACnE;IAEA,IAAMO,OAAO,GAAG3B,QAAQ,CAACmB,WAAW,CAAC;IAErC,IAAI,OAAOQ,OAAO,KAAK,UAAU,EAAE;MAC/B,OAAOA,OAAO,CAAC,CAAC;IACpB,CAAC,MAAM;MACH,IAAMC,gBAAgB,GAAGD,OAAO,CAACrB,SAAS;MAE1C,IAAI,CAACsB,gBAAgB,EAAE;QACnB,OAAOR,WAAW,CAAC,6DAA6D,CAAC;MACrF;MAEA,IAAMS,aAAa,GAAGD,gBAAgB,CAAC,CAAC,CAAC,CAACE,OAAO,CAAC,GAAG,GAAGhF,MAAM,CAAC,KAAK,CAAC,GAAGA,MAAM,GAAGC,SAAS;MAE1F,IAAMgF,sBAAsB,GAAGJ,OAAO,CAACE,aAAa,CAAC,IAAIF,OAAO,CAAC5E,SAAS,CAAC;MAE3E,IAAI,CAACgF,sBAAsB,EAAE;QACzB,OAAOX,WAAW,iCAAAI,MAAA,CACiBK,aAAa,qBAAAL,MAAA,CAAgBzE,SAAS,yCACzE,CAAC;MACL;MAEA,IAAIiF,KAAK,CAACC,OAAO,CAACF,sBAAsB,CAAC,EAAE;QACvC,OAAOA,sBAAsB,CAACG,IAAI,CAAC,UAACC,QAAQ;UAAA,OACxC7D,kBAAkB,CAACsD,gBAAgB,CAAC,CAAC,CAAC,EAAEO,QAAQ,CAAC;QAAA,CACrD,CAAC;MACL,CAAC,MAAM;QACH,OAAO7D,kBAAkB,CAACsD,gBAAgB,CAAC,CAAC,CAAC,EAAEG,sBAAsB,CAAC;MAC1E;IACJ;EACJ,CAAC;AAAA;AAEM,IAAMK,mBAAmB,GAAAxF,OAAA,CAAAwF,mBAAA,GAAG,IAAAxC,wBAAc,EAC7C,CAACR,eAAe,EAAES,gBAAgB,EAAEG,QAAQ,CAAC,EAC7CiB,mBACJ,CAAC;AAEM,IAAMoB,oCAAoC,GAAAzF,OAAA,CAAAyF,oCAAA,GAAG,IAAAzC,wBAAc,EAC9D,CAACL,mBAAmB,EAAE6C,mBAAmB,CAAC,EAC1C,UAACE,UAAU,EAAEC,WAAW,EAAK;EACzB,OAAOD,UAAU,IAAIC,WAAW,CAAC,8BAA8B,CAAC;AACpE,CACJ,CAAC;AAEM,IAAMC,4BAA4B,GAAA5F,OAAA,CAAA4F,4BAAA,GAAG,IAAA5C,wBAAc,EAAC,CAACwC,mBAAmB,CAAC,EAAE,UAACG,WAAW,EAAK;EAC/F,OAAOA,WAAW,CAAC,mBAAmB,CAAC;AAC3C,CAAC,CAAC;AAEK,IAAME,sCAAsC,GAAA7F,OAAA,CAAA6F,sCAAA,GAAG,IAAA7C,wBAAc,EAChE,CAACwC,mBAAmB,CAAC,EACrB,UAACG,WAAW;EAAA,OAAKA,WAAW,CAAC,6BAA6B,CAAC;AAAA,CAC/D,CAAC;AAEM,IAAMG,+BAA+B,GAAA9F,OAAA,CAAA8F,+BAAA,GAAG,IAAA9C,wBAAc,EACzD,CAACwC,mBAAmB,CAAC,EACrB,UAACG,WAAW,EAAK;EACb,OAAOA,WAAW,CAAC,sBAAsB,CAAC;AAC9C,CACJ,CAAC;AAEM,IAAMI,qCAAqC,GAAA/F,OAAA,CAAA+F,qCAAA,GAAG,IAAA/C,wBAAc,EAC/D,CAACwC,mBAAmB,CAAC,EACrB,UAACG,WAAW,EAAK;EACb,OAAOA,WAAW,CAAC,0BAA0B,CAAC;AAClD,CACJ,CAAC;AAEM,IAAMK,uBAAuB,GAAAhG,OAAA,CAAAgG,uBAAA,GAAG,IAAAhD,wBAAc,EAAC,CAACwC,mBAAmB,CAAC,EAAE,UAACG,WAAW,EAAK;EAC1F,OAAOA,WAAW,CAAC,cAAc,CAAC;AACtC,CAAC,CAAC;AAEK,IAAMM,8BAA8B,GAAAjG,OAAA,CAAAiG,8BAAA,GAAG,IAAAjD,wBAAc,EACxD,CAACwC,mBAAmB,CAAC,EACrB,UAACG,WAAW,EAAK;EACb,OAAOA,WAAW,CAAC,qBAAqB,CAAC;AAC7C,CACJ,CAAC;AAEM,IAAMO,iCAAiC,GAAAlG,OAAA,CAAAkG,iCAAA,GAAG,IAAAlD,wBAAc,EAC3D,CAACwC,mBAAmB,CAAC,EACrB,UAACG,WAAW,EAAK;EACb,OAAOA,WAAW,CAAC,oBAAoB,CAAC;AAC5C,CACJ,CAAC;AAEM,IAAMQ,6BAA6B,GAAAnG,OAAA,CAAAmG,6BAAA,GAAG,IAAAnD,wBAAc,EACvD,CAACwC,mBAAmB,CAAC,EACrB,UAACG,WAAW,EAAK;EACb,OAAOA,WAAW,CAAC,oBAAoB,CAAC;AAC5C,CACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMS,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAI7B,WAAW;EAAA,OAClCiB,mBAAmB,CAACa,MAAM,CAACC,KAAK,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAChC,WAAW,CAAC;AAAA;AAEtD,SAASiC,yBAAyBA,CAAA,EAAG;EACxC,OAAOJ,iBAAiB,CAAC,UAAU,CAAC;AACxC"}
|
1
|
+
{"version":3,"names":["_reselect","require","_map","_interopRequireDefault","_isEmpty","_every","_hammer","obj","__esModule","default","_LOCAL_ARCADIA_VERSION","exports","versionToArray","version","build","VERSION_DELIMITER","VERSION_CHUNK_COUNT","VERSION_CHUNK_PLACEHOLDER","versionArray","map_","split","subversion","parseInt","length","push","_compareVersions","comparator","versionA","versionB","hammer","utils","compareVectors","_versionInInterval","versionInterval","supported","_typeof","Object","keys","every","Error","key","getVersionAndBuild","parsedVersion","match","parsedBuild","majorMinorPatch","substring","undefined","getRawProxyVersion","state","global","getRawSchedulerVersion","schedulerVersion","getRawMasterVersion","masterVersion","FEATURES","fieldsFilter","scheduler","effectiveExpiration","master","clusterNodeVersion","proxy","nodeMaintenanceApi","schedulingChildrenByPool","_isFeatureSupported","rawVersions","features","featureName","failFeature","message","console","warn","concat","featureVersions","isEmpty_","every_","value","k","rawVersion","buildVersion","Array","isArray","some","item","isSupportedSelector","createSelector","isSupportedEffectiveExpiration","isSupported","isSupportedClusterNodeForVersions","isSupportedNodeMaintenanceApi","isSupportedSchedulingChildrenByPool"],"sources":["support.ts"],"sourcesContent":["import {createSelector} from 'reselect';\nimport map_ from 'lodash/map';\nimport isEmpty_ from 'lodash/isEmpty';\nimport every_ from 'lodash/every';\n\n// @ts-ignore\nimport hammer from '@ytsaurus/interface-helpers/lib/hammer';\n\nimport {RootState} from '../../../store/reducers';\n\nexport const _LOCAL_ARCADIA_VERSION = '(development)';\n\nfunction versionToArray(version: string, build?: string) {\n const VERSION_DELIMITER = '.';\n const VERSION_CHUNK_COUNT = 3;\n const VERSION_CHUNK_PLACEHOLDER = 0;\n\n const versionArray: Array<string | number> = map_(\n version.split(VERSION_DELIMITER),\n (subversion) => {\n return parseInt(subversion, 10);\n },\n );\n\n while (versionArray.length < VERSION_CHUNK_COUNT) {\n versionArray.push(VERSION_CHUNK_PLACEHOLDER);\n }\n\n if (build) {\n versionArray.push(build);\n }\n\n return versionArray;\n}\n\n/**\n * Returns true if versionA >= versionB and comparator === 'greater'\n * Returns true if versionA < versionB and comparator === 'smaller'\n * @param {String} comparator - 'greater', 'smaller'\n * @param {String} versionA\n * @param {String} versionB\n * @returns {boolean}\n */\nexport function _compareVersions(\n comparator: 'greater' | 'smaller',\n versionA: string,\n versionB: string,\n) {\n if (versionA === versionB) {\n return comparator === 'greater';\n }\n\n return comparator === 'greater'\n ? hammer.utils.compareVectors(versionToArray(versionA), versionToArray(versionB)) >= 0\n : hammer.utils.compareVectors(versionToArray(versionA), versionToArray(versionB)) < 0;\n}\n\n/**\n * Determines wheter a given version belongs to a versionInterval [a, b)\n * Left end included, right end excluded (intuitive limitations - features are supported starting from a specific build)\n * @param {String} version\n * @param {String|Object} versionInterval\n * @returns {boolean}\n */\nexport function _versionInInterval(\n version: string,\n versionInterval: MajorMinorPatch | MajorMinorPatchRange | typeof _LOCAL_ARCADIA_VERSION,\n) {\n let supported;\n\n if (typeof versionInterval === 'object') {\n supported = Object.keys(versionInterval).every((comparator) => {\n if (!(comparator === 'greater' || comparator === 'smaller')) {\n throw new Error(\n 'thor.support: feature description has unknown comparator \"' +\n comparator +\n '\",' +\n ' cannot check support.',\n );\n }\n const key = comparator as keyof typeof versionInterval;\n return _compareVersions(comparator, version, versionInterval[key]!);\n });\n } else {\n supported = _compareVersions('greater', version, versionInterval);\n }\n\n return supported;\n}\n\nfunction getVersionAndBuild(version?: string): [string, string | undefined] | undefined {\n const parsedVersion = version?.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\n let parsedBuild;\n\n if (parsedVersion) {\n const majorMinorPatch = parsedVersion[0];\n parsedBuild = version?.substring(parsedVersion.length);\n\n return [majorMinorPatch, parsedBuild];\n }\n return undefined;\n}\n\nconst getRawProxyVersion = (state: RootState) => state.global.version;\nconst getRawSchedulerVersion = (state: RootState) => state.global.schedulerVersion;\nconst getRawMasterVersion = (state: RootState) => state.global.masterVersion;\n\ntype MajorMinorPatch = `${number}.${number}.${number}`;\ntype MajorMinorPatchRange = {greater?: MajorMinorPatch; smaller?: MajorMinorPatch};\n\nexport type RawVersion = `${MajorMinorPatch}-${string}`;\n\nexport type Versions<T> = {proxy?: T | typeof _LOCAL_ARCADIA_VERSION; scheduler?: T; master?: T};\n\ntype FeatureVersions = Versions<MajorMinorPatch | Array<MajorMinorPatchRange>>;\ntype RawFeatureVersions = Versions<RawVersion>;\n\nconst FEATURES = {\n fieldsFilter: {\n scheduler: '22.1.9091155',\n } as FeatureVersions,\n effectiveExpiration: {\n master: '23.1.11146445',\n } as FeatureVersions,\n clusterNodeVersion: {\n proxy: '23.2.0',\n } as FeatureVersions,\n nodeMaintenanceApi: {\n proxy: '23.1.11106567',\n } as FeatureVersions,\n schedulingChildrenByPool: {\n scheduler: '23.1.11146742',\n } as FeatureVersions,\n};\n\nexport function _isFeatureSupported<T extends Record<string, FeatureVersions>>(\n rawVersions: RawFeatureVersions,\n features: T,\n) {\n return (featureName: keyof T) => {\n function failFeature(message: string) {\n console.warn(`thor.support \"${featureName as string}\" ${message}`);\n return false;\n }\n\n const featureVersions: FeatureVersions = features[featureName];\n\n if (!featureVersions) {\n return failFeature(`${featureName as string} is unknown, cannot check support.`);\n }\n\n if (isEmpty_(featureVersions)) {\n return failFeature('feature component version is unknown, cannot check support.');\n }\n\n return every_(featureVersions, (value, k) => {\n const key = k as keyof typeof rawVersions;\n const rawVersion = rawVersions[key];\n\n // yt-local in arcadia is meant to be of the freshest version\n if (rawVersion === _LOCAL_ARCADIA_VERSION) {\n return true;\n }\n\n if (!value) {\n return failFeature(`feature version of '${key}' is unknown, connot check support`);\n }\n\n const buildVersion = getVersionAndBuild(rawVersion);\n if (!buildVersion) {\n return failFeature(\n `version of '${key}' component is unknown, cannot check support.`,\n );\n }\n\n if (Array.isArray(value)) {\n return value.some((item) => _versionInInterval(buildVersion[0], item));\n } else {\n return _versionInInterval(buildVersion[0], value);\n }\n });\n };\n}\n\nexport const isSupportedSelector = createSelector(\n [getRawProxyVersion, getRawSchedulerVersion, getRawMasterVersion],\n (proxy, scheduler, master) => _isFeatureSupported({proxy, scheduler, master}, FEATURES),\n);\n\nexport const isSupportedEffectiveExpiration = createSelector(\n [isSupportedSelector],\n (isSupported) => {\n return isSupported('effectiveExpiration');\n },\n);\n\nexport const isSupportedClusterNodeForVersions = createSelector(\n [isSupportedSelector],\n (isSupported) => {\n return isSupported('clusterNodeVersion');\n },\n);\n\nexport const isSupportedNodeMaintenanceApi = createSelector(\n [isSupportedSelector],\n (isSupported) => {\n return isSupported('nodeMaintenanceApi');\n },\n);\n\nexport const isSupportedSchedulingChildrenByPool = createSelector(\n [isSupportedSelector],\n (isSupported) => {\n return isSupported('schedulingChildrenByPool');\n },\n);\n"],"mappings":"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"}
|