selectors.ts 1.5 KB

1234567891011121314151617181920212223
  1. import { createSelector } from 'reselect';
  2. import { RootState, FetchStatus, BrokersState } from 'redux/interfaces';
  3. import { createFetchingSelector } from 'redux/reducers/loader/selectors';
  4. const brokersState = ({ brokers }: RootState): BrokersState => brokers;
  5. const getBrokerListFetchingStatus = createFetchingSelector('GET_BROKERS');
  6. export const getIsBrokerListFetched = createSelector(
  7. getBrokerListFetchingStatus,
  8. (status) => status === FetchStatus.fetched,
  9. );
  10. const getBrokerList = createSelector(brokersState, ({ items }) => items);
  11. export const getBrokerCount = createSelector(brokersState, ({ brokerCount }) => brokerCount);
  12. export const getZooKeeperStatus = createSelector(brokersState, ({ zooKeeperStatus }) => zooKeeperStatus);
  13. export const getActiveControllers = createSelector(brokersState, ({ activeControllers }) => activeControllers);
  14. export const getOnlinePartitionCount = createSelector(brokersState, ({ onlinePartitionCount }) => onlinePartitionCount);
  15. export const getOfflinePartitionCount = createSelector(brokersState, ({ offlinePartitionCount }) => offlinePartitionCount);
  16. export const getInSyncReplicasCount = createSelector(brokersState, ({ inSyncReplicasCount }) => inSyncReplicasCount);
  17. export const getOutOfSyncReplicasCount = createSelector(brokersState, ({ outOfSyncReplicasCount }) => outOfSyncReplicasCount);
  18. export const getUnderReplicatedPartitionCount = createSelector(brokersState, ({ underReplicatedPartitionCount }) => underReplicatedPartitionCount);