| var baseIsMatch = require('./_baseIsMatch'), | 
|     getMatchData = require('./_getMatchData'); | 
|   | 
| /** | 
|  * This method is like `_.isMatch` except that it accepts `customizer` which | 
|  * is invoked to compare values. If `customizer` returns `undefined`, comparisons | 
|  * are handled by the method instead. The `customizer` is invoked with five | 
|  * arguments: (objValue, srcValue, index|key, object, source). | 
|  * | 
|  * @static | 
|  * @memberOf _ | 
|  * @since 4.0.0 | 
|  * @category Lang | 
|  * @param {Object} object The object to inspect. | 
|  * @param {Object} source The object of property values to match. | 
|  * @param {Function} [customizer] The function to customize comparisons. | 
|  * @returns {boolean} Returns `true` if `object` is a match, else `false`. | 
|  * @example | 
|  * | 
|  * function isGreeting(value) { | 
|  *   return /^h(?:i|ello)$/.test(value); | 
|  * } | 
|  * | 
|  * function customizer(objValue, srcValue) { | 
|  *   if (isGreeting(objValue) && isGreeting(srcValue)) { | 
|  *     return true; | 
|  *   } | 
|  * } | 
|  * | 
|  * var object = { 'greeting': 'hello' }; | 
|  * var source = { 'greeting': 'hi' }; | 
|  * | 
|  * _.isMatchWith(object, source, customizer); | 
|  * // => true | 
|  */ | 
| function isMatchWith(object, source, customizer) { | 
|   customizer = typeof customizer == 'function' ? customizer : undefined; | 
|   return baseIsMatch(object, source, getMatchData(source), customizer); | 
| } | 
|   | 
| module.exports = isMatchWith; |