Skip to content

Commit a17ab18

Browse files
authored
Merge pull request #228 from dli7319/cameratemplate
Make OptionsUtil deepMerge always clone the object.
2 parents 0614f76 + ef66983 commit a17ab18

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

src/utils/OptionsUtils.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ export function deepMerge<T extends object, U extends object>(
5959
) {
6060
// If both values are objects, recurse
6161
deepMerge(val1, val2);
62+
} else if (val2 && typeof val2 === 'object') {
63+
// Clone val2 if val1 is not an object
64+
const clone = Array.isArray(val2) ? [] : {};
65+
deepMerge(clone, val2);
66+
merged[key] = clone;
6267
} else {
6368
// Otherwise, overwrite
6469
merged[key] = val2;

0 commit comments

Comments
 (0)