deepMerge()function
deepMerge(left: L, right: R): L & R
deepMerge(left: ImmutableArray<L>, right: ImmutableArray<R>): ImmutableArray<L | R>
deepMerge(left: unknown, right: R): R
| Param | Type | |
|---|---|---|
left | L | The left value to merge into. required |
right | R | The right value to merge in. required |
left | ImmutableArray<L> | Immutable array: an array that cannot be changed. required |
right | ImmutableArray<R> | Immutable array: an array that cannot be changed. required |
left | unknown | required |
right | R | required |
| Return | |
|---|---|
L & R | Merged value. - Will be left instance if no properties/items changed.- Will be a new merged instance otherwise. |
ImmutableArray<L | R> | Immutable array: an array that cannot be changed. |
R |
Deeply merge two unknown values.
- Two objects: props are merged together (deeply).
- Two arrays: unique items are merged together (shallowly — arrays have no way to deep merge because array keys are not stable).
- Any other value: right value is returned.
Examples
deepMerge({ a: { b: 1 } }, { a: { c: 2 } }) // { a: { b: 1, c: 2 } }