Version 1
[yaffs-website] / node_modules / uncss / node_modules / lodash / reject.js
diff --git a/node_modules/uncss/node_modules/lodash/reject.js b/node_modules/uncss/node_modules/lodash/reject.js
new file mode 100644 (file)
index 0000000..45aa76a
--- /dev/null
@@ -0,0 +1,46 @@
+var arrayFilter = require('./internal/arrayFilter'),
+    baseFilter = require('./internal/baseFilter'),
+    baseIteratee = require('./internal/baseIteratee'),
+    isArray = require('./isArray');
+
+/**
+ * The opposite of `_.filter`; this method returns the elements of `collection`
+ * that `predicate` does **not** return truthy for.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
+ * @returns {Array} Returns the new filtered array.
+ * @example
+ *
+ * var users = [
+ *   { 'user': 'barney', 'age': 36, 'active': false },
+ *   { 'user': 'fred',   'age': 40, 'active': true }
+ * ];
+ *
+ * _.reject(users, function(o) { return !o.active; });
+ * // => objects for ['fred']
+ *
+ * // using the `_.matches` iteratee shorthand
+ * _.reject(users, { 'age': 40, 'active': true });
+ * // => objects for ['barney']
+ *
+ * // using the `_.matchesProperty` iteratee shorthand
+ * _.reject(users, ['active', false]);
+ * // => objects for ['fred']
+ *
+ * // using the `_.property` iteratee shorthand
+ * _.reject(users, 'active');
+ * // => objects for ['barney']
+ */
+function reject(collection, predicate) {
+  var func = isArray(collection) ? arrayFilter : baseFilter;
+  predicate = baseIteratee(predicate, 3);
+  return func(collection, function(value, index, collection) {
+    return !predicate(value, index, collection);
+  });
+}
+
+module.exports = reject;