Files
lodash/.internal/baseMatches.js
2017-01-10 00:45:05 -08:00

21 lines
710 B
JavaScript

import baseIsMatch from './.internal/baseIsMatch.js';
import getMatchData from './.internal/getMatchData.js';
import matchesStrictComparable from './.internal/matchesStrictComparable.js';
/**
* The base implementation of `matches` which doesn't clone `source`.
*
* @private
* @param {Object} source The object of property values to match.
* @returns {Function} Returns the new spec function.
*/
function baseMatches(source) {
const matchData = getMatchData(source);
if (matchData.length == 1 && matchData[0][2]) {
return matchesStrictComparable(matchData[0][0], matchData[0][1]);
}
return object => object === source || baseIsMatch(object, source, matchData);
}
export default baseMatches;