Spaces:
Runtime error
Runtime error
; | |
var eq = require("./eq") | |
, value = require("./valid-value") | |
, keys = Object.keys | |
, objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable; | |
module.exports = function (val1, val2) { | |
var k1, k2; | |
if (eq(value(val1), value(val2))) return true; | |
val1 = Object(val1); | |
val2 = Object(val2); | |
k1 = keys(val1); | |
k2 = keys(val2); | |
if (k1.length !== k2.length) return false; | |
return k1.every(function (key) { | |
if (!objPropertyIsEnumerable.call(val2, key)) return false; | |
return eq(val1[key], val2[key]); | |
}); | |
}; | |