Files
lodash/_baseMatches.js
2017-01-09 17:38:33 -08:00

21 lines
683 B
JavaScript

import baseIsMatch from './_baseIsMatch.js';
import getMatchData from './_getMatchData.js';
import matchesStrictComparable from './_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;