text: // Generated by CoffeeScript 1.10.0
  var async;
  
  async = require('async');
  
  module.exports = function(items, iterator, done) {
    var errors;
    errors = [];
    return async.eachSeries(items, function(item, next) {
      var wasImmediate;
      wasImmediate = true;
      iterator(item, function(err) {
        if (err) {
          errors.push(err);
        }
        if (wasImmediate) {
          return setImmediate(next);
        } else {
          return next(null);
        }
      });
      return wasImmediate = false;
    }, function(err) {
      if (err) {
        return done(err);
      }
      return done(errors);
    });
  };
  