summaryrefslogtreecommitdiffstats
path: root/dist/js/lib/mergedeep.js
blob: fa2403d1015079e2fdbdbb570ea243ffa93f80bd (plain) (blame)
1
2
3
4

function isObject(item){return(item&&typeof item==='object'&&!Array.isArray(item));}
function mergeDeep(target,...sources){if(!sources.length)return target;const source=sources.shift();if(isObject(target)&&isObject(source)){for(const key in source){if(isObject(source[key])){if(!target[key])Object.assign(target,{[key]:{}});mergeDeep(target[key],source[key]);}else{Object.assign(target,{[key]:source[key]});}}}
return mergeDeep(target,...sources);}