JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 36340
  • Score
    100M100P100Q144179F
  • License BSD

extend and merge objects, deep or shallow

Package Exports

  • deap
  • deap/shallow

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (deap) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Build Status

deap

extend and merge objects, deep or shallow, in javascript

installation

npm install deap
var deap = require('deap');

available functions

  • deap() and deap.extend() - deep extend
  • deap.merge() - deep merge
  • deap.extendShallow() - shallow extend
  • deap.mergeShallow() - shallow merge
  • deap.clone() - deep clone

deap() and deap.extend()

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

deap.merge()

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' }

shallow only

If you prefer a shallow-only instance of deap you can require it specifically

var deap = require('deap/shallow');

deap() && deap.extend(); // shallow extend
deap.merge(); //shallow merge
deap.clone(); // deep clone