Skip to content

Instantly share code, notes, and snippets.

@Raf123
Forked from ahtcx/deep-merge.js
Created May 26, 2021 12:55
Show Gist options
  • Save Raf123/75d7eac824cf5e153303f26136800c16 to your computer and use it in GitHub Desktop.
Save Raf123/75d7eac824cf5e153303f26136800c16 to your computer and use it in GitHub Desktop.

Revisions

  1. @ahtcx ahtcx revised this gist Sep 25, 2019. 2 changed files with 2 additions and 2 deletions.
    2 changes: 1 addition & 1 deletion deep-merge.js
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    // Merge a `source` object to a `target` recursively
    const merge = (target, source) => {
    // Iterate through `source` properties and if an `Object` set property to merge of `target` and `source` properties
    for (let key of Object.keys(source)) {
    for (const key of Object.keys(source)) {
    if (source[key] instanceof Object) Object.assign(source[key], merge(target[key], source[key]))
    }

    2 changes: 1 addition & 1 deletion deep-merge.min.js
    Original file line number Diff line number Diff line change
    @@ -1 +1 @@
    const merge=(t,s)=>{let o=Object,a=o.assign;for(let k of o.keys(s))s[k]instanceof o&&a(s[k],merge(t[k],s[k]));return a(t||{},s),t}
    const merge=(t,s)=>{const o=Object,a=o.assign;for(const k of o.keys(s))s[k]instanceof o&&a(s[k],merge(t[k],s[k]));return a(t||{},s),t}
  2. @ahtcx ahtcx created this gist May 22, 2016.
    11 changes: 11 additions & 0 deletions deep-merge.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    // Merge a `source` object to a `target` recursively
    const merge = (target, source) => {
    // Iterate through `source` properties and if an `Object` set property to merge of `target` and `source` properties
    for (let key of Object.keys(source)) {
    if (source[key] instanceof Object) Object.assign(source[key], merge(target[key], source[key]))
    }

    // Join `target` and modified `source`
    Object.assign(target || {}, source)
    return target
    }
    1 change: 1 addition & 0 deletions deep-merge.min.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    const merge=(t,s)=>{let o=Object,a=o.assign;for(let k of o.keys(s))s[k]instanceof o&&a(s[k],merge(t[k],s[k]));return a(t||{},s),t}