UNPKG

dtable-utils

Version:

dtable common utils

50 lines (45 loc) 1.38 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var filterPredicate = require('../../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 filterPredicate.FILTER_PREDICATE_TYPE.IS: { return !filter_term || optionId === filter_term; } case filterPredicate.FILTER_PREDICATE_TYPE.IS_NOT: { return !filter_term || optionId !== filter_term; } case filterPredicate.FILTER_PREDICATE_TYPE.IS_ANY_OF: { return filter_term.length === 0 || filter_term.includes(optionId); } case filterPredicate.FILTER_PREDICATE_TYPE.IS_NONE_OF: { return filter_term.length === 0 || filter_term.indexOf(optionId) < 0; } case filterPredicate.FILTER_PREDICATE_TYPE.EMPTY: { return !optionId; } case filterPredicate.FILTER_PREDICATE_TYPE.NOT_EMPTY: { return !!optionId; } default: { return false; } } }; exports.singleSelectFilter = singleSelectFilter;