R8244/node_modules/deap52a4aa7a2ec6master
README.md
 

deap
extend and merge objects, deep or shallow, in javascript
installation
bash npm install deap
javascript var deap = require('deap');
browser usage
deap assumes es5, so we recommend using an es5 shim for older browsers. Browserify is also recommended as a means to use this module client-side, but other module loaders for browsers will work with deap as well if you shim it.
available functions
+ deap() and deap.extend() - deep extend + deap.merge() - deep merge + deap.update() - deep update + deap.extendShallow() - shallow extend + deap.mergeShallow() - shallow merge + deap.updateShallow() - shallow update + 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.
javascript var a = { name: 'Joe' }; deap.extend(a, { age: 26 }); // returns: a => { name: 'Joe', age: 26 } deap.extend({}, someObj); // clone someObj
deap.merge()
Deep merge. Copy properties from one object to another, not replacing existing properties.
Takes *n* number of arguments, modifies the first argument and returns it.
javascript var a = { name: 'Joe', address: { number: 1234 }; deap.merge(a, { name: 'Jack', age: 26, phone: '555-555-5555', address: { number: 4321, street: 'University Blvd' }); // returns: a => { name: 'Joe', age: 26, phone: '555-555-5555', address: { number: 1234, street: 'University Blvd' }}
deap.update()
Deep update. Fill an object's existing properties from another object. For nested objects, a deep update will only update existing properties. Shallow updates will replace nested objects entirely.
Takes *n* number of arguments, modifies the first argument and returns it.
javascript var a = { name: 'Joe', phone: '' }; deap.update(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
javascript var deap = require('deap/shallow'); deap() && deap.extend(); // shallow extend deap.merge(); //shallow merge deap.update(); //shallow update deap.clone(); // deep clone
... the end