UNPKG

apr-for-each

Version:

Applies the function iteratee to each item in coll, in parallel.

89 lines (79 loc) 5.68 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('apr-engine-each'), require('lodash.defaults')) : typeof define === 'function' && define.amd ? define('apr-for-each', ['exports', 'apr-engine-each', 'lodash.defaults'], factory) : (factory((global['apr-for-each'] = {}),global.each,global.lodash)); }(this, (function (exports,each,lodash) { 'use strict'; each = each && each.hasOwnProperty('default') ? each['default'] : each; lodash = lodash && lodash.hasOwnProperty('default') ? lodash['default'] : lodash; /** * @kind function * @name limit * @memberof for-each * @param {Array|Object|Iterable} input * @param {Number} limit * @param {Function} iteratee * @returns {Promise} */ var limit = function (input, limit, fn, opts) { return each({ input: input, fn: fn, opts: lodash({ limit: limit }, opts) }); }; /** * @kind function * @name series * @memberof for-each * @param {Array|Object|Iterable} input * @param {Function} iteratee * @returns {Promise} */ var series = function (input, fn, opts) { return limit(input, 1, fn, opts); }; /** * <a id="for-each"></a> * Applies the function `iteratee` to each item in `coll`, in parallel. * * [![](https://img.shields.io/npm/v/apr-for-each.svg?style=flat-square)](https://www.npmjs.com/package/apr-for-each) [![](https://img.shields.io/npm/l/apr-for-each.svg?style=flat-square)](https://www.npmjs.com/package/apr-for-each) * * @kind function * @name for-each * @param {Array|Object|Iterable} input * @param {Function} iteratee * @returns {Promise} * * @example * import awaitify from 'apr-awaitify'; * import forEach from 'apr-for-each'; * * const writeFile = awaitify(fs.writeFile); * const files = [ * '/home/.vimrc', * '/home/.zshrc' * ]; * * await forEach(files, async (file) => * await writeFile(file, 'boom') * ); */ var forEach = function (input, fn, opts) { return each({ input: input, fn: fn, opts: opts }); }; var series$2 = series; var limit$2 = limit; forEach.series = series$2; forEach.limit = limit$2; exports['default'] = forEach; exports.series = series$2; exports.limit = limit$2; Object.defineProperty(exports, '__esModule', { value: true }); }))); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIi9Vc2Vycy9yYW1pdG9zL2Rldi9hcHIvcGFja2FnZXMvZm9yLWVhY2gvbGltaXQuanMiLCIvVXNlcnMvcmFtaXRvcy9kZXYvYXByL3BhY2thZ2VzL2Zvci1lYWNoL3Nlcmllcy5qcyIsIi9Vc2Vycy9yYW1pdG9zL2Rldi9hcHIvcGFja2FnZXMvZm9yLWVhY2gvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZGVmYXVsdHMgPSByZXF1aXJlKCdsb2Rhc2guZGVmYXVsdHMnKTtcbmNvbnN0IGVhY2ggPSByZXF1aXJlKCdhcHItZW5naW5lLWVhY2gnKTtcblxuLyoqXG4gKiBAa2luZCBmdW5jdGlvblxuICogQG5hbWUgbGltaXRcbiAqIEBtZW1iZXJvZiBmb3ItZWFjaFxuICogQHBhcmFtIHtBcnJheXxPYmplY3R8SXRlcmFibGV9IGlucHV0XG4gKiBAcGFyYW0ge051bWJlcn0gbGltaXRcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlXG4gKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSAoaW5wdXQsIGxpbWl0LCBmbiwgb3B0cykgPT5cbiAgZWFjaCh7XG4gICAgaW5wdXQsXG4gICAgZm4sXG4gICAgb3B0czogZGVmYXVsdHMoXG4gICAgICB7XG4gICAgICAgIGxpbWl0XG4gICAgICB9LFxuICAgICAgb3B0c1xuICAgIClcbiAgfSk7XG4iLCJjb25zdCBsaW1pdCA9IHJlcXVpcmUoJy4vbGltaXQnKTtcblxuLyoqXG4gKiBAa2luZCBmdW5jdGlvblxuICogQG5hbWUgc2VyaWVzXG4gKiBAbWVtYmVyb2YgZm9yLWVhY2hcbiAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fEl0ZXJhYmxlfSBpbnB1dFxuICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWVcbiAqIEByZXR1cm5zIHtQcm9taXNlfVxuICovXG5tb2R1bGUuZXhwb3J0cyA9IChpbnB1dCwgZm4sIG9wdHMpID0+IGxpbWl0KGlucHV0LCAxLCBmbiwgb3B0cyk7XG4iLCJjb25zdCBlYWNoID0gcmVxdWlyZSgnYXByLWVuZ2luZS1lYWNoJyk7XG5cbi8qKlxuICogPGEgaWQ9XCJmb3ItZWFjaFwiPjwvYT5cbiAqIEFwcGxpZXMgdGhlIGZ1bmN0aW9uIGBpdGVyYXRlZWAgdG8gZWFjaCBpdGVtIGluIGBjb2xsYCwgaW4gcGFyYWxsZWwuXG4gKlxuICogWyFbXShodHRwczovL2ltZy5zaGllbGRzLmlvL25wbS92L2Fwci1mb3ItZWFjaC5zdmc/c3R5bGU9ZmxhdC1zcXVhcmUpXShodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9hcHItZm9yLWVhY2gpIFshW10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9ucG0vbC9hcHItZm9yLWVhY2guc3ZnP3N0eWxlPWZsYXQtc3F1YXJlKV0oaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvYXByLWZvci1lYWNoKVxuICpcbiAqIEBraW5kIGZ1bmN0aW9uXG4gKiBAbmFtZSBmb3ItZWFjaFxuICogQHBhcmFtIHtBcnJheXxPYmplY3R8SXRlcmFibGV9IGlucHV0XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZVxuICogQHJldHVybnMge1Byb21pc2V9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCBhd2FpdGlmeSBmcm9tICdhcHItYXdhaXRpZnknO1xuICogaW1wb3J0IGZvckVhY2ggZnJvbSAnYXByLWZvci1lYWNoJztcbiAqXG4gKiBjb25zdCB3cml0ZUZpbGUgPSBhd2FpdGlmeShmcy53cml0ZUZpbGUpO1xuICogY29uc3QgZmlsZXMgPSBbXG4gKiAgICcvaG9tZS8udmltcmMnLFxuICogICAnL2hvbWUvLnpzaHJjJ1xuICogXTtcbiAqXG4gKiBhd2FpdCBmb3JFYWNoKGZpbGVzLCBhc3luYyAoZmlsZSkgPT5cbiAqICAgYXdhaXQgd3JpdGVGaWxlKGZpbGUsICdib29tJylcbiAqICk7XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gKGlucHV0LCBmbiwgb3B0cykgPT5cbiAgZWFjaCh7XG4gICAgaW5wdXQsXG4gICAgZm4sXG4gICAgb3B0c1xuICB9KTtcblxubW9kdWxlLmV4cG9ydHMuc2VyaWVzID0gcmVxdWlyZSgnLi9zZXJpZXMnKTtcbm1vZHVsZS5leHBvcnRzLmxpbWl0ID0gcmVxdWlyZSgnLi9saW1pdCcpO1xuIl0sIm5hbWVzIjpbIm1vZHVsZSIsImlucHV0IiwibGltaXQiLCJmbiIsIm9wdHMiLCJlYWNoIiwiZGVmYXVsdHMiLCJyZXF1aXJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFHQTs7Ozs7Ozs7O0FBU0FBLFNBQUEsR0FBaUIsVUFBQ0MsS0FBRCxFQUFRQyxLQUFSLEVBQWVDLEVBQWYsRUFBbUJDLElBQW5CO1NBQ2ZDLEtBQUs7Z0JBQUE7VUFBQTtVQUdHQyxPQUNKOztLQURJLEVBSUpGLElBSkk7R0FIUixDQURlO0NBQWpCOztBQ1ZBOzs7Ozs7OztBQVFBSixVQUFBLEdBQWlCLFVBQUNDLEtBQUQsRUFBUUUsRUFBUixFQUFZQyxJQUFaO1NBQXFCRixNQUFNRCxLQUFOLEVBQWEsQ0FBYixFQUFnQkUsRUFBaEIsRUFBb0JDLElBQXBCLENBQXJCO0NBQWpCOztBQ1JBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTBCQUosV0FBQSxHQUFpQixVQUFDQyxLQUFELEVBQVFFLEVBQVIsRUFBWUMsSUFBWjtTQUNmQyxLQUFLO2dCQUFBO1VBQUE7O0dBQUwsQ0FEZTtDQUFqQjs7QUFPQUwsWUFBQSxHQUF3Qk8sTUFBeEI7QUFDQVAsV0FBQSxHQUF1Qk8sS0FBdkI7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9