Skip to content
Snippets Groups Projects
Select Git revision
  • b53f038fafcb04b06c97ad756ffdc78321068dad
  • master default protected
2 results

deep-extend

  • Clone with SSH
  • Clone with HTTPS
  • Neil Gershenfeld's avatar
    Neil Gershenfeld authored
    8acf8f08
    History

    Deep Extend

    Recursive object extending.

    Build Status

    NPM

    Install

    $ npm install deep-extend

    Usage

    var deepExtend = require('deep-extend');
    var obj1 = {
      a: 1,
      b: 2,
      d: {
        a: 1,
        b: [],
        c: { test1: 123, test2: 321 }
      },
      f: 5,
      g: 123,
      i: 321,
      j: [1, 2]
    };
    var obj2 = {
      b: 3,
      c: 5,
      d: {
        b: { first: 'one', second: 'two' },
        c: { test2: 222 }
      },
      e: { one: 1, two: 2 },
      f: [],
      g: (void 0),
      h: /abc/g,
      i: null,
      j: [3, 4]
    };
    
    deepExtend(obj1, obj2);
    
    console.log(obj1);
    /*
    { a: 1,
      b: 3,
      d:
       { a: 1,
         b: { first: 'one', second: 'two' },
         c: { test1: 123, test2: 222 } },
      f: [],
      g: undefined,
      c: 5,
      e: { one: 1, two: 2 },
      h: /abc/g,
      i: null,
      j: [3, 4] }
    */

    Unit testing

    $ npm test

    Changelog

    CHANGELOG.md

    Any issues?

    Please, report about issues here.

    License

    MIT