aboutsummaryrefslogtreecommitdiff
path: root/node_modules/is-equal-shallow/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/is-equal-shallow/index.js')
-rw-r--r--node_modules/is-equal-shallow/index.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/node_modules/is-equal-shallow/index.js b/node_modules/is-equal-shallow/index.js
new file mode 100644
index 000000000..1006eef10
--- /dev/null
+++ b/node_modules/is-equal-shallow/index.js
@@ -0,0 +1,27 @@
+/*!
+ * 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;
+};