export function removeSingleFilterValue()

in packages/search-ui/src/helpers.ts [31:56]


export function removeSingleFilterValue(
  filters: Filter[],
  fieldName: string,
  value: FilterValue,
  filterType: FilterType
): Filter[] {
  return filters.reduce((acc, filter) => {
    const { field, values, type, ...rest } = filter;
    if (field === fieldName && (!filterType || type === filterType)) {
      const updatedFilterValues = values.filter(
        (filterValue) => !doFilterValuesMatch(filterValue, value)
      );
      if (updatedFilterValues.length > 0) {
        return acc.concat({
          field,
          values: updatedFilterValues,
          type,
          ...rest
        });
      } else {
        return acc;
      }
    }
    return acc.concat(filter);
  }, []);
}