2025-04-01 10:38:02 +09:00

15 lines
572 B
TypeScript

import { EntityState, createSelector } from '@reduxjs/toolkit';
import { Invitee } from 'app/types';
import { selectors } from './reducers';
export const { selectAll, selectById, selectTotal } = selectors;
const selectQuery = (_state: EntityState<Invitee, string>, query: string) => query;
export const selectInvitesMatchingQuery = createSelector([selectAll, selectQuery], (invites, searchQuery) => {
const regex = new RegExp(searchQuery, 'i');
const matches = invites.filter((invite) => regex.test(invite.name) || regex.test(invite.email));
return matches;
});