map.js
 1  'use strict';
 2  
 3  Object.defineProperty(exports, "__esModule", {
 4      value: true
 5  });
 6  exports.default = _asyncMap;
 7  
 8  var _wrapAsync = require('./wrapAsync');
 9  
10  var _wrapAsync2 = _interopRequireDefault(_wrapAsync);
11  
12  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13  
14  function _asyncMap(eachfn, arr, iteratee, callback) {
15      arr = arr || [];
16      var results = [];
17      var counter = 0;
18      var _iteratee = (0, _wrapAsync2.default)(iteratee);
19  
20      return eachfn(arr, (value, _, iterCb) => {
21          var index = counter++;
22          _iteratee(value, (err, v) => {
23              results[index] = v;
24              iterCb(err);
25          });
26      }, err => {
27          callback(err, results);
28      });
29  }
30  module.exports = exports['default'];