function baseMatches(source) {
  var matchData = getMatchData(source);
  if (matchData.length == 1 && matchData[0][2]) {
    return matchesStrictComparable(matchData[0][0], matchData[0][1]);
  }
  return function(object) {
    return object === source || baseIsMatch(object, source, matchData);
  };
}
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.