Where other deep merge utilities might take a bit to groc for the simple function you desire, you can view Deep Confluence's few lines of code and feel at ease saying "yes" OR "no"—but, say "yes".
npm i deep-confluence -D
import deepConfluence from 'deep-confluence'
const lonelyObj1 = {
broken: true,
alone: true,
complex: {
cats: true,
dogs: false,
},
}
const lonelyObj2 = {
broken: false,
alone: false,
complex: {
noPets: true,
likesCats: true,
}
}
Invoke Deep Confluence and merge two lonely objects deeply into 1. đź–¤
const youreNotAlone = deepConfluence(lonelyObj1, lonelyObj2)
Which outputs
{
'alone': false,
'broken': false,
'complex': {
'cats': true,
'dogs': false,
'likesCats': true,
'noPets': true
}
}
Here's a CodePen. Take it Deep Confluence for a test drive. Feel free to use the example to point out issues or request features.
Note: Deep Confluence's goal is simplicity!
- If you have lodash, and don't mind a little size, use _.merge!
- If you want a utility smaller than
_.merge
but more supportive than deep-confluence use deepMerge.
Deep confluence is a "try it first, don't make you think about it" utility.