reablocks
Version:
Component library for React
13 lines (12 loc) • 641 B
TypeScript
type MergeFunction = (objValue: any, srcValue: any, key: string) => any;
/**
* Deep-merges `source` into `target`, returning a new object.
*
* - When `mergeFunction` is provided, it is invoked first for every key. If
* it returns a non-`undefined` value, that value is used; returning
* `undefined` falls back to default merging.
* - Default merging: plain objects on both sides are merged recursively;
* everything else (primitives, arrays, mismatched types) is taken from source.
*/
export declare function mergeDeep<T extends object, S extends object>(target: T, source: S, mergeFunction?: MergeFunction): T & S;
export {};