UNPKG

lodash-es

Version:

The modern build of lodash exported as ES modules.

31 lines (27 loc) 813 B
import baseIsMatch from './baseIsMatch'; import getMatchData from './getMatchData'; import toObject from './toObject'; /** * The base implementation of `_.matches` which does not clone `source`. * * @private * @param {Object} source The object of property values to match. * @returns {Function} Returns the new function. */ function baseMatches(source) { var matchData = getMatchData(source); if (matchData.length == 1 && matchData[0][2]) { var key = matchData[0][0], value = matchData[0][1]; return function(object) { if (object == null) { return false; } return object[key] === value && (value !== undefined || (key in toObject(object))); }; } return function(object) { return baseIsMatch(object, matchData); }; } export default baseMatches;