| "use strict"; |
| module.exports = function(Promise, INTERNAL) { |
| var PromiseReduce = Promise.reduce; |
| var PromiseAll = Promise.all; |
| |
| function promiseAllThis() { |
| return PromiseAll(this); |
| } |
| |
| function PromiseMapSeries(promises, fn) { |
| return PromiseReduce(promises, fn, INTERNAL, INTERNAL); |
| } |
| |
| Promise.prototype.each = function (fn) { |
| return PromiseReduce(this, fn, INTERNAL, 0) |
| ._then(promiseAllThis, undefined, undefined, this, undefined); |
| }; |
| |
| Promise.prototype.mapSeries = function (fn) { |
| return PromiseReduce(this, fn, INTERNAL, INTERNAL); |
| }; |
| |
| Promise.each = function (promises, fn) { |
| return PromiseReduce(promises, fn, INTERNAL, 0) |
| ._then(promiseAllThis, undefined, undefined, promises, undefined); |
| }; |
| |
| Promise.mapSeries = PromiseMapSeries; |
| }; |
| |