UNPKG

524 BJavaScriptView Raw
1export default function mergeByName(modifiers) {
2 var merged = modifiers.reduce(function (merged, current) {
3 var existing = merged[current.name];
4 merged[current.name] = existing ? Object.assign({}, existing, current, {
5 options: Object.assign({}, existing.options, current.options),
6 data: Object.assign({}, existing.data, current.data)
7 }) : current;
8 return merged;
9 }, {}); // IE11 does not support Object.values
10
11 return Object.keys(merged).map(function (key) {
12 return merged[key];
13 });
14}
\No newline at end of file