changelog-guru
Version:
Git changelog generator
14 lines (13 loc) • 541 B
JavaScript
import deepmerge from 'deepmerge';
export const arrayMerge = (target, source, options) => {
const destination = target.slice();
source.forEach((item, index) => {
if (destination[index] === undefined)
destination[index] = options.cloneUnlessOtherwiseSpecified(item, options);
else if (options.isMergeableObject(item))
destination[index] = deepmerge(target[index], item, options);
else if (target.indexOf(item) < 0)
destination.push(item);
});
return destination;
};