UNPKG

dtable-utils

Version:

dtable common utils

46 lines (43 loc) 1.19 kB
import { FILTER_PREDICATE_TYPE } from '../../constants/filter/filter-predicate.js'; /** * Filter single-select * @param {string} optionId * @param {string} filter_predicate * @param {string|array} filter_term option id or option ids * @returns bool */ var singleSelectFilter = function singleSelectFilter(optionId, _ref) { var filter_predicate = _ref.filter_predicate, filter_term = _ref.filter_term; switch (filter_predicate) { case FILTER_PREDICATE_TYPE.IS: { return !filter_term || optionId === filter_term; } case FILTER_PREDICATE_TYPE.IS_NOT: { return !filter_term || optionId !== filter_term; } case FILTER_PREDICATE_TYPE.IS_ANY_OF: { return filter_term.length === 0 || filter_term.includes(optionId); } case FILTER_PREDICATE_TYPE.IS_NONE_OF: { return filter_term.length === 0 || filter_term.indexOf(optionId) < 0; } case FILTER_PREDICATE_TYPE.EMPTY: { return !optionId; } case FILTER_PREDICATE_TYPE.NOT_EMPTY: { return !!optionId; } default: { return false; } } }; export { singleSelectFilter };