eda0d29ee63719d203cec5e64ae6785e.json
9.15 KB
{"ast":null,"code":"var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n/** Used to compose bitmasks for value comparisons. */\n\n\nvar COMPARE_PARTIAL_FLAG = 1;\n/** `Object#toString` result references. */\n\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n/** Used for built-in method references. */\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n\n objIsArr = true;\n objIsObj = false;\n }\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack());\n return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n stack || (stack = new Stack());\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n\n if (!isSameTag) {\n return false;\n }\n\n stack || (stack = new Stack());\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/lodash/_baseIsEqualDeep.js"],"names":["Stack","require","equalArrays","equalByTag","equalObjects","getTag","isArray","isBuffer","isTypedArray","COMPARE_PARTIAL_FLAG","argsTag","arrayTag","objectTag","objectProto","Object","prototype","hasOwnProperty","baseIsEqualDeep","object","other","bitmask","customizer","equalFunc","stack","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","call","othIsWrapped","objUnwrapped","value","othUnwrapped","module","exports"],"mappings":"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","sourcesContent":["var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n"]},"metadata":{},"sourceType":"script"}