UNPKG

react-collection-helpers

Version:
36 lines (27 loc) 1.32 kB
'use strict'; exports.__esModule = true; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; exports.default = applyPredicateToCollectionWith; var _errorMessage = require('../helpers/error-message.helpers'); function applyPredicateToCollectionWith(matcher) { return function (_ref) { var collection = _ref.collection, predicate = _ref.predicate, component = _ref.component; // For now, we don't accept predicates that aren't objects or functions. var type = Array.isArray(predicate) ? 'array' : typeof predicate === 'undefined' ? 'undefined' : _typeof(predicate); switch (type) { case 'function': return matcher(collection, predicate); case 'object': return matcher(collection, function (item) { return Object.keys(predicate).every(function (key) { return predicate[key] === item[key]; }); }); default: throw new Error((0, _errorMessage.invalidTypeSuppliedAsPredicate)({ type: type, predicate: predicate, component: component })); } }; } module.exports = exports['default'];