import { createSelector } from '../utils' import { buildSort } from '../../utils/build-sort' import type { StoreSimpleSelectors } from '../selectors' export default function generateSelectors( selectors: Pick< StoreSimpleSelectors, | 'selectSortMode' | 'selectSortColumns' | 'selectSortLocale' | 'selectColumnSortEntities' > ) { const selectSortFn = createSelector( [ selectors.selectSortMode, selectors.selectSortColumns, selectors.selectSortLocale, selectors.selectColumnSortEntities, ], (mode, sortColumns, sortLocale, sortEntities) => { if (mode === 'internal') { return buildSort(sortColumns, sortLocale, sortEntities) } return null } ) return { selectSortFn } } export type SelectSortFn = ReturnType['selectSortFn']