GuobaGuoba Utils

deepMerge

@guoba-ai/utils / object / deepMerge

Function: deepMerge()

function deepMerge<T>(target, ...sources): T;

Defined in: object.ts:193

Deep merge objects. Arrays are replaced, not merged. Does not mutate the target — returns a new object.

Parameters

target

T

The target object

sources

...DeepPartial<T>[]

Source objects to merge into target

Returns

T

A new deeply merged object

Example

deepMerge({ a: 1, b: { c: 2 } }, { b: { d: 3 } })
// { a: 1, b: { c: 2, d: 3 } }

deepMerge({ a: [1, 2] }, { a: [3, 4, 5] })
// { a: [3, 4, 5] }

const target = { a: { b: 1 } }
const result = deepMerge(target, { a: { b: 2 } })
target.a.b // 1
result.a.b // 2

Warning

Array properties are replaced by the source array, not merged element by element.

On this page