Similar to merge but only plain objects are deep merged, everything else (including arrays) aren't. If the key exists in the base object it's overwritten.
The first object is mutated so clone it first if you don't want it mutated. Passing {} as the first param will also work but only for shallow objects.
Like a deep spread of all the objects passed.
Similar to merge but only plain objects are deep merged, everything else (including arrays) aren't. If the key exists in the base object it's overwritten.
The first object is mutated so clone it first if you don't want it mutated. Passing {} as the first param will also work but only for shallow objects.
The output type can be overriden using the first type parameter. Pass
never
to it to use the default output type.