react-blips
Version:
Official React bindings for Blips
21 lines (17 loc) • 863 B
JavaScript
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; };
import { when } from './when';
import { isEmpty } from './isEmpty';
function mergeType(type) {
return function (acc, curr) {
var _obj;
var obj = (_obj = {}, _obj[type] = _extends({}, acc[type] || {}, curr[type] || {}), _obj);
return when(isEmpty(obj[type]), {}, obj);
};
}
export function mergeOperations(acc, curr) {
var query = mergeType('query')(acc, curr);
var mutation = mergeType('mutation')(acc, curr);
var subscription = mergeType('subscription')(acc, curr);
var fetch = mergeType('fetch')(acc, curr);
return _extends({}, acc, query, mutation, subscription, fetch);
}