12345678910111213141516171819202122232425262728 |
- /*!
- * 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;
- };
|