summaryrefslogtreecommitdiff
path: root/tools/eslint/node_modules/lodash/uniqBy.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/eslint/node_modules/lodash/uniqBy.js')
-rw-r--r--tools/eslint/node_modules/lodash/uniqBy.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/eslint/node_modules/lodash/uniqBy.js b/tools/eslint/node_modules/lodash/uniqBy.js
new file mode 100644
index 0000000000..4fc843b8a4
--- /dev/null
+++ b/tools/eslint/node_modules/lodash/uniqBy.js
@@ -0,0 +1,30 @@
+var baseIteratee = require('./_baseIteratee'),
+ baseUniq = require('./_baseUniq');
+
+/**
+ * This method is like `_.uniq` except that it accepts `iteratee` which is
+ * invoked for each element in `array` to generate the criterion by which
+ * uniqueness is computed. The iteratee is invoked with one argument: (value).
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to inspect.
+ * @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
+ * @returns {Array} Returns the new duplicate free array.
+ * @example
+ *
+ * _.uniqBy([2.1, 1.2, 2.3], Math.floor);
+ * // => [2.1, 1.2]
+ *
+ * // The `_.property` iteratee shorthand.
+ * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
+ * // => [{ 'x': 1 }, { 'x': 2 }]
+ */
+function uniqBy(array, iteratee) {
+ return (array && array.length)
+ ? baseUniq(array, baseIteratee(iteratee))
+ : [];
+}
+
+module.exports = uniqBy;