This commit is contained in:
Shivam Mathur
2019-09-06 05:17:43 +05:30
commit 8f9786b73f
7058 changed files with 1813932 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
'use strict';
module.exports = (iterable, reducer, initVal) => new Promise((resolve, reject) => {
const iterator = iterable[Symbol.iterator]();
let i = 0;
const next = total => {
const el = iterator.next();
if (el.done) {
resolve(total);
return;
}
Promise.all([total, el.value])
.then(value => {
next(reducer(value[0], value[1], i++));
})
.catch(reject);
};
next(initVal);
});