es-promise-ext
Version:
Native promise extensions for javascript and typescript.
20 lines (19 loc) • 619 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = promiseAllWithMap;
function promiseAllWithMap(values) {
if (!(values instanceof Map))
throw TypeError('Promise.allMap parameter 1 must be a Map');
const keys = Array.from(values.keys());
const promises = [];
for (let key of keys) {
promises.push(values.get(key));
}
return Promise.all(promises).then(resolvedPromise => {
const result = new Map();
for (let key of keys) {
result.set(key, resolvedPromise.shift());
}
return result;
});
}