node_modules/deep-eql/index.js
/**
 * Assert deeply nested sameValue equality between two objects of any type.
 *
 * @param {Mixed} leftHandOperand
 * @param {Mixed} rightHandOperand
 * @param {Object} [options] (optional) Additional options
 * @param {Array} [options.comparator] (optional) Override default algorithm, determining custom equality.
 * @param {Array} [options.memoize] (optional) Provide a custom memoization object which will cache the results of
    complex objects for a speed boost. By passing `false` you can disable memoization, but this will cause circular
    references to blow the stack.
 * @return {Boolean} equal match
 */
Assert deeply nested sameValue equality between two objects of any type.
@param {Mixed} leftHandOperand
@param {Mixed} rightHandOperand
@param {Object} [options] (optional) Additional options
@param {Array} [options.comparator] (optional) Override default algorithm, determining custom equality.
@param {Array} [options.memoize] (optional) Provide a custom memoization object which will cache the results of
complex objects for a speed boost. By passing `false` you can disable memoization, but this will cause circular
references to blow the stack.
@return {Boolean} equal match
Assert deeply nested sameValue equality between two objects of any type . @param { Mixed } leftHandOperand @param { Mixed } rightHandOperand @param { Object } [ options ] ( optional ) Additional options @param { Array } [ options . comparator ] ( optional ) Override default algorithm determining custom equality . @param { Array } [ options . memoize ] ( optional ) Provide a custom memoization object which will cache the results of complex objects for a speed boost . By passing ` false ` you can disable memoization but this will cause circular references to blow the stack . @return { Boolean } equal match
function deepEqual(leftHandOperand, rightHandOperand, options) {
  if (options && options.comparator) {
    return extensiveDeepEqual(leftHandOperand, rightHandOperand, options);
  }
  var simpleResult = simpleEqual(leftHandOperand, rightHandOperand);
  if (simpleResult !== null) {
    return simpleResult;
  }
  return extensiveDeepEqual(leftHandOperand, rightHandOperand, options);
}
function deepEqual ( leftHandOperand , rightHandOperand , options ) { if ( options && options . comparator ) { return extensiveDeepEqual ( leftHandOperand , rightHandOperand , options ) ; } var simpleResult = simpleEqual ( leftHandOperand , rightHandOperand ) ; if ( simpleResult !== null ) { return simpleResult ; } return extensiveDeepEqual ( leftHandOperand , rightHandOperand , options ) ; }
Assert deeply nested sameValue equality between two objects of any type.
Assert deeply nested sameValue equality between two objects of any type .
// If we have a comparator, we can't assume anything; so bail to its check first. // Deeper comparisons are pushed through to a larger function