blips
Version:
State management for the GraphQL heads
45 lines (31 loc) • 1.38 kB
JavaScript
;
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.mergeResponseList = mergeResponseList;
var _mergeErrorList = require('./mergeErrorList');
var _mergeDataList = require('./mergeDataList');
function mergeResponseList(list) {
var errorList = [];
var dataList = [];
for (var _iterator = list, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var item = _ref;
var _ref2 = item || {},
data = _ref2.data,
errors = _ref2.errors;
errors && (errorList = [].concat(errorList, errors));
data && (dataList = [].concat(dataList, [data]));
}
var mergedData = (0, _mergeDataList.mergeDataList)(dataList);
var mergedErrors = (0, _mergeErrorList.mergeErrorList)(errorList);
var response = _extends({}, mergedData ? { data: mergedData } : {}, mergedErrors ? { errors: mergedErrors } : {});
return response;
}