diff options
Diffstat (limited to 'dist/js/lib/mergedeep.js')
-rw-r--r-- | dist/js/lib/mergedeep.js | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/dist/js/lib/mergedeep.js b/dist/js/lib/mergedeep.js new file mode 100644 index 0000000..fa2403d --- /dev/null +++ b/dist/js/lib/mergedeep.js @@ -0,0 +1,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);}
\ No newline at end of file |