UNPKG

remx

Version:
22 lines (21 loc) 728 B
Object.defineProperty(exports,"__esModule",{value:true});exports.default=mergeWith;function mergeWith(object){for(var _len=arguments.length,sources=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){sources[_key-1]=arguments[_key];} var mergeCustomizer=sources.pop(); sources.forEach(function(source){ if(!source||typeof source!=='object'){ return; } for(var key in source){ var objValue=object[key]; var srcValue=source[key]; var value=mergeCustomizer(objValue,srcValue,key,object,source); if(value!==undefined){ object[key]=value; }else if(objValue&&typeof objValue==='object'&&srcValue&&typeof srcValue==='object'){ object[key]=mergeWith(objValue,srcValue,mergeCustomizer); }else{ object[key]=srcValue; } } }); return object; }