deep-confluence
v1.2.3
Published
Merge objects—deeply 🖤
Downloads
16
Maintainers
Readme
Deep Confluence
A JavaScript Utility Method to deeply merge objects
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".
Install
yarn deep-confluence -D
Problem: there are 2 lonely deep objects
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,
},
}
Fix: Deep Confluence
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
}
}
Examples
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.
Simplicity
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.
Known Issues
Deep Confluence does simple Array diffing using filter to get rid of duplicate items. However, if there is an array of Objects, the arrays are merged but duplicate objects are not removed. That can be done by you with custom filtering at your leisure.