blips
Version:
State management for the GraphQL heads
27 lines (17 loc) • 992 B
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.mergeErrorList = mergeErrorList;
var _isEmpty = require('./isEmpty');
var _isNil = require('./isNil');
var _isType = require('./isType');
var _when = require('./when');
function mergeErrorList(errors) {
var merged = errors.reduce(function (obj, err) {
var _extends2;
if ((0, _isNil.isNil)(err) || (0, _isEmpty.isEmpty)(err)) return obj;
var operationName = err.path ? err.path[0] : (0, _isType.isType)('object', err) ? err.constructor.name : 'Errors';
return _extends({}, obj, (_extends2 = {}, _extends2[operationName] = [].concat(obj[operationName] || [], [err]), _extends2));
}, {});
return (0, _when.when)(_isEmpty.isEmpty, function () {}, merged);
}