Deep extend with customizable behavior for Node.js.
"Extedify" is a lightweight wrapper over lodash's _.merge
(like a deep _.extend
) with customizable handling of arrays, booleans, numbers and strings.
(By default, extedify will behave exactly like lodash's _.merge
.)
Installation
npm install extendify
Usage
var extendify = ;myExtend = ;
Options
inPlace
– Override the 'source' with the result?- true (default)
- false
isDeep
– Use deep extend?- true (default)
- false
arrays
– How to handle arrays?- replace (recommended)
- concat
- merge (default)
- or
- and
booleans
– How to handle booleans?- replace (default)
- concat
- or
- and
numbers
– How to handle numbers?- replace (default)
- concat
- or
- and
strings
– How to handle strings?- replace (default)
- concat
- or
- and
Example
Let's get an _.extend function that
- returns a copy/clone,
- replaces arrays,
- supports nested objects (also known as deep extends).
_extend = ; object1 = a: list: 1 2 b: 4; object2 = a: list: 3 ; var result = ;/*{ a: { list: [3] }, b: 4}*/
More examples are available in the 'examples.js' file.
Contributions
Your feedback is welcome, email me at reshef.shai@gmail.com.