init
This commit is contained in:
18
src/utils/combineMerge.ts
Normal file
18
src/utils/combineMerge.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import deepmerge from "deepmerge";
|
||||
|
||||
const combineMerge = (target, source, options) => {
|
||||
const destination = target.slice();
|
||||
|
||||
source.forEach((item: object, index: number) => {
|
||||
if (typeof 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) === -1) {
|
||||
destination.push(item);
|
||||
}
|
||||
});
|
||||
return destination;
|
||||
};
|
||||
|
||||
export default combineMerge;
|
||||
Reference in New Issue
Block a user