blips
Version:
State management for the GraphQL heads
44 lines (35 loc) • 1.13 kB
JavaScript
;
exports.__esModule = true;
exports.promiseBatch = promiseBatch;
var _mergeResponseList = require('./mergeResponseList');
function promiseBatch(promises) {
return new Promise(function (resolve) {
var mockedPromises = [];
var _loop = function _loop() {
if (_isArray) {
if (_i >= _iterator.length) return 'break';
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) return 'break';
_ref = _i.value;
}
var promise = _ref;
mockedPromises.push(new Promise(function (resolve) {
promise.then(function (res) {
return resolve(res);
}, function (err) {
return resolve({ errors: [err] });
});
}));
};
for (var _iterator = promises, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
var _ret = _loop();
if (_ret === 'break') break;
}
Promise.all(mockedPromises).then(function (res) {
resolve((0, _mergeResponseList.mergeResponseList)(res));
});
});
}