extend and merge objects, deep or shallow, in javascript
npm install deap
var deap = require('deap');
- deap() and deap.extend() - deep extend
- deap.merge() - deep merge
- deap.extendShallow() - shallow extend
- deap.mergeShallow() - shallow merge
- deap.clone() - deep clone
Deep extend. Copy all the properties from one object onto another, cloning objects deeply.
Takes n number of arguments, modifies the first argument and returns it.
var a = { name: 'Joe' };
deap.extend(a, { age: 26 }); // returns: a => { name: 'Joe', age: 26 }
deap.extend({}, someObj); // clone someObj
Deep merge. Fill an object's existing properties from another object.
Takes n number of arguments, modifies the first argument and returns it.
var a = { name: 'Joe', phone: '' };
deap.merge(a, { age: 26, phone: '555-555-5555' }); // returns: a => { name: 'Joe', phone: '555-555-5555' }