Version 1
[yaffs-website] / node_modules / grunt-legacy-util / node_modules / lodash / _baseMatches.js
diff --git a/node_modules/grunt-legacy-util/node_modules/lodash/_baseMatches.js b/node_modules/grunt-legacy-util/node_modules/lodash/_baseMatches.js
new file mode 100644 (file)
index 0000000..56c72e6
--- /dev/null
@@ -0,0 +1,30 @@
+var baseIsMatch = require('./_baseIsMatch'),
+    getMatchData = require('./_getMatchData');
+
+/**
+ * The base implementation of `_.matches` which doesn't clone `source`.
+ *
+ * @private
+ * @param {Object} source The object of property values to match.
+ * @returns {Function} Returns the new function.
+ */
+function baseMatches(source) {
+  var matchData = getMatchData(source);
+  if (matchData.length == 1 && matchData[0][2]) {
+    var key = matchData[0][0],
+        value = matchData[0][1];
+
+    return function(object) {
+      if (object == null) {
+        return false;
+      }
+      return object[key] === value &&
+        (value !== undefined || (key in Object(object)));
+    };
+  }
+  return function(object) {
+    return object === source || baseIsMatch(object, source, matchData);
+  };
+}
+
+module.exports = baseMatches;