mergeDeep
Recursively deep merges two objects, with properties from the source
object overwriting those from the target
object. Supports symbol keys and preserves property descriptors. Arrays are merged by index.
target
(T extends object
): The target object to receive properties.source
(U extends object
): The source object to copy properties from.T & U
): A new object with deeply merged properties.