1 | export 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 | }, {});
|
10 |
|
11 | return Object.keys(merged).map(function (key) {
|
12 | return merged[key];
|
13 | });
|
14 | } |
\ | No newline at end of file |