Sha256: 2fe6689bc563c0c809752ec174294a3a7aa3cb2f3aaefe99d66d7fb20b0e517b
Contents?: true
Size: 759 Bytes
Versions: 26
Compression:
Stored size: 759 Bytes
Contents
'use strict'; Object.defineProperty(exports, '__esModule', { value: true, }); exports.promiseReduce = promiseReduce; var _isPromise = require('./isPromise.js'); /** * Similar to Array.prototype.reduce(), however the reducing callback may return * a Promise, in which case reduction will continue after each promise resolves. * * If the callback does not return a Promise, then this function will also not * return a Promise. */ function promiseReduce(values, callbackFn, initialValue) { let accumulator = initialValue; for (const value of values) { accumulator = (0, _isPromise.isPromise)(accumulator) ? accumulator.then((resolved) => callbackFn(resolved, value)) : callbackFn(accumulator, value); } return accumulator; }
Version data entries
26 entries across 26 versions & 1 rubygems