summaryrefslogtreecommitdiff
path: root/lib/filterLimit.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/filterLimit.js')
-rw-r--r--lib/filterLimit.js11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/filterLimit.js b/lib/filterLimit.js
index 946002d..b421caa 100644
--- a/lib/filterLimit.js
+++ b/lib/filterLimit.js
@@ -1,5 +1,6 @@
-import filter from './internal/filter';
-import doParallelLimit from './internal/doParallelLimit';
+import _filter from './internal/filter';
+import eachOfLimit from './internal/eachOfLimit'
+import awaitify from './internal/awaitify'
/**
* The same as [`filter`]{@link module:Collections.filter} but runs a maximum of `limit` async operations at a
@@ -19,5 +20,9 @@ import doParallelLimit from './internal/doParallelLimit';
* with a boolean argument once it has completed. Invoked with (item, callback).
* @param {Function} [callback] - A callback which is called after all the
* `iteratee` functions have finished. Invoked with (err, results).
+ * @returns {Promise} a promise, if no callback provided
*/
-export default doParallelLimit(filter);
+function filterLimit (coll, limit, iteratee, callback) {
+ return _filter(eachOfLimit(limit), coll, iteratee, callback)
+}
+export default awaitify(filterLimit, 4);