deepAssign lite
Recursive object assign tool that focuses on quick-and-dirty way to handle options object in constructor or init process.
This is basically a remake of jQuery.extend()
. So this inherits the same characterisics from it.
- The function only deep-copies if property's value is a plain object or an array.
- The function does not merge objects/arrays set to the same property in the
from
andto
objects, but overwritesto
's value with the deep-copy offrom
's value.
Install
npm install --save-dev deep-assign-lite
Usage
// import as node moduleconst deepAssign = ; // or import as ES6 module; const from = foo: x: 12 y: 34 z: 'i' 'j' 'k' bar: 'a' 'b' c: 1 d: false {};const to = foo: a: 0 b: 1 bar: 123 456 baz: 'xyz'; const result = ;// `result`` will be `to` itself with the properties copied from `from`: foo: x: 12 y: 34 z: 'i' 'j' 'k' //=> deep copy of from.foo bar: 'a' 'b' c: 1 d: false //=> deep copy of from.bar baz: 'xyz' {} //=> shallow copy of from.bar // Just like Object.assign and jQuery.extend, you can pass multiple `from` objectsconst target = {};const src1 = foo: 123 const src2 = bar: 456 baz: 789 ;const src3 = bar: 'a' 'b' bam: x: 0 y: 0 ; ;// `target`` will be: foo: 123 bar: 'a' 'b' baz: 789 bam: x: 0 y: 0