in src/hooks/useTableFilters.ts [160:194]
export function filterResults(
columnsConfiguration: CompareResultsTableConfig,
results: CompareResultsItem[],
searchTerm: string,
tableFilters: Map<string, Set<string>>,
resultMatchesSearchTerm: (
result: CompareResultsItem,
searchTerm: string,
) => boolean,
) {
if (!searchTerm && !tableFilters.size) {
return results;
}
return results.filter((result) => {
if (!resultMatchesSearchTerm(result, searchTerm)) {
return false;
}
for (const [columnId, checkedValues] of tableFilters) {
if (
!resultMatchesColumnFilter(
columnsConfiguration,
result,
columnId,
checkedValues,
)
) {
return false;
}
}
return true;
});
}