/** * Recursively merges own enumerable string keyed properties of source objects into * the destination object. Source properties that resolve to undefined are skipped if * a destination value exists. Array and plain object properties are merged recursively. * Other objects and value types are overridden by assignment. * Drop-in replacement for lodash/merge. */ export default function merge(object: TObject, source1: TSource1): TObject & TSource1; export default function merge(object: TObject, source1: TSource1, source2: TSource2): TObject & TSource1 & TSource2; export default function merge(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3): TObject & TSource1 & TSource2 & TSource3; export default function merge(target: any, ...sources: any[]): any;