You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
596 B
27 lines
596 B
/*! |
|
* is-equal-shallow <https://github.com/jonschlinkert/is-equal-shallow> |
|
* |
|
* Copyright (c) 2015, Jon Schlinkert. |
|
* Licensed under the MIT License. |
|
*/ |
|
|
|
'use strict'; |
|
|
|
var isPrimitive = require('is-primitive'); |
|
|
|
module.exports = function isEqual(a, b) { |
|
if (!a && !b) { return true; } |
|
if (!a && b || a && !b) { return false; } |
|
|
|
var numKeysA = 0, numKeysB = 0, key; |
|
for (key in b) { |
|
numKeysB++; |
|
if (!isPrimitive(b[key]) || !a.hasOwnProperty(key) || (a[key] !== b[key])) { |
|
return false; |
|
} |
|
} |
|
for (key in a) { |
|
numKeysA++; |
|
} |
|
return numKeysA === numKeysB; |
|
};
|
|
|