summaryrefslogtreecommitdiffstats
path: root/dist/js/lib/mergedeep.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/js/lib/mergedeep.js')
-rw-r--r--dist/js/lib/mergedeep.js4
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