123456789101112131415161718192021222324 |
- 'use strict';
- var eq = require('./eq')
- , value = require('./valid-value')
- , keys = Object.keys
- , propertyIsEnumerable = Object.prototype.propertyIsEnumerable;
- module.exports = function (a, b) {
- var k1, k2;
- if (eq(value(a), value(b))) return true;
- a = Object(a);
- b = Object(b);
- k1 = keys(a);
- k2 = keys(b);
- if (k1.length !== k2.length) return false;
- return k1.every(function (key) {
- if (!propertyIsEnumerable.call(b, key)) return false;
- return eq(a[key], b[key]);
- });
- };
|