Documentation / @andrew_l/toolkit / deepAssign
Function: deepAssign()
deepAssign(
dest
,source
):void
Performs a deep merge of the source object into the destination object.
This function recursively copies properties from the source object to the destination object. If a property is an object itself, it will recursively merge its properties. Otherwise, the value will be directly assigned to the destination object.
⚠️ Mutates the destination object: The destination object is modified in place.
Parameters
dest
object
The target object that will be modified with properties from the source.
source
object
The source object whose properties will be copied to the destination.
Returns
void
This function does not return a value, as it mutates the destination object.
Examples
ts
const user = {
id: 1,
name: 'Andrew',
data: { a: 1, b: 2 },
};
deepAssign(user, { data: { c: 3 } });
console.log(user);
// Outputs: '{ id: 1, name: 'Andrew', data: { a: 1, b: 2, c: 3 } }'
ts
const config = { theme: { dark: true }, version: '1.0' };
const updates = { theme: { light: false }, version: '2.0' };
deepAssign(config, updates);
console.log(config);
// Outputs: '{ theme: { dark: true, light: false }, version: '2.0' }'