1.0.0 • Published 9 years ago
custom-extend v1.0.0

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 extendifyUsage
var extendify = require('extendify');
myExtend = extendify({
// options
});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 = extendify({
inPlace: false,
isDeep: true,
arrays : 'replace'
});
object1 = {
a:{
list: [1, 2]
},
b: 4
};
object2 = {
a:{
list: [3]
}
};
var result = myExtend(object1, object2);
/*
{
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.
1.0.0
9 years ago