Breaking changes
Removed SUB
export, same behavior can be achieved using a function:
// before
merge({ nested: { deep: true } }, { nested: SUB({ replaced: true }) })
// now
merge({ nested: { deep: true } }, { nested: () => ({ replaced: true }) })
Top level function patches will no longer merge in order to be consistent with lower level function patches. The merge
function is now passed as the second arg to function patches to allow merging without needing to import anything.
Example:
merge(
{
person: { name: 'bob' }
},
{
person: (obj, merge) =>
merge(obj, {
name_backwards: obj.name
.split('')
.reverse()
.join('')
})
}
)