UNPKG

@onesy/utils

Version:
29 lines (28 loc) 1.33 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const is_1 = __importDefault(require("./is")); const isValid_1 = __importDefault(require("./isValid")); const getObjectValue_1 = __importDefault(require("./getObjectValue")); const checkObjectFilters = (value, filters = [], operator = 'or') => { // If there are no filters, // it means that the check passes, // as there is nothing to filter if (!filters || (!(0, is_1.default)('array', filters) || !filters.length)) return true; const result = filters[operator === 'or' ? 'some' : 'every'](filter => { const valueObject = (0, getObjectValue_1.default)(value, filter.field); // If value doesn't exists (it is undefined), // and operator is of not-* type in that use case // any value is not undefined thus this check's true if (valueObject === undefined && filter.operator.indexOf('not-') === 0) return true; return (0, isValid_1.default)('compare', undefined, { valueA: valueObject, valueB: filter.value, operator: filter.operator }); }); return result; }; exports.default = checkObjectFilters;