| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							
- (function(globals) {
 
-   'use strict';
 
-   var each = function(items, next, callback) {
 
-     if (!Array.isArray(items)) throw new TypeError('each() expects array as first argument');
 
-     if (typeof next !== 'function') throw new TypeError('each() expects function as second argument');
 
-     if (typeof callback !== 'function') callback = Function.prototype; 
 
-     if (items.length === 0) return callback(undefined, items);
 
-     var transformed = new Array(items.length);
 
-     var count = 0;
 
-     var returned = false;
 
-     items.forEach(function(item, index) {
 
-       next(item, function(error, transformedItem) {
 
-         if (returned) return;
 
-         if (error) {
 
-           returned = true;
 
-           return callback(error);
 
-         }
 
-         transformed[index] = transformedItem;
 
-         count += 1;
 
-         if (count === items.length) return callback(undefined, transformed);
 
-       });
 
-     });
 
-   };
 
-   if (typeof define !== 'undefined' && define.amd) {
 
-     define([], function() {
 
-       return each;
 
-     }); 
 
-   } else if (typeof module !== 'undefined' && module.exports) {
 
-     module.exports = each; 
 
-   } else {
 
-     globals.asyncEach = each; 
 
-   }
 
- })(this);
 
 
  |