| 123456789101112131415161718192021222324252627282930313233 |
- var isFunction = require('./type/is-function');
- var isEqual = require('./is-equal');
- /**
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @param {Function} [fn] The function to customize comparisons.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * function isGreeting(value) {
- * return /^h(?:i|ello)$/.test(value);
- * }
- *
- * function customizer(objValue, othValue) {
- * if (isGreeting(objValue) && isGreeting(othValue)) {
- * return true;
- * }
- * }
- *
- * var array = ['hello', 'goodbye'];
- * var other = ['hi', 'goodbye'];
- *
- * isEqualWith(array, other, customizer); // => true
- */
- var isEqualWith = function isEqualWith(value, other, fn) {
- if (!isFunction(fn)) {
- return isEqual(value, other);
- }
- return !!fn(value, other);
- };
- module.exports = isEqualWith;
|