hd-utils
Version:
A handy utils for modern JS developers
14 lines (13 loc) • 1.42 kB
TypeScript
import { NonArrayObject, NonNullableObject } from '../utilityTypes';
/**
* @description will return a new object that combines all of the passed objects as new copy (not reference as Object.assign).
* @example joinObjects2({a:1},{b:2}) => {a:1, b:2}
* @example joinObjects2([1,2]) => {}
* @example joinObjects2(({ a: 1 }, { b: 2 })) => { a: 1, b: 2 }
* @example joinObjects2(({ a: 1 }, null || undefined || !object)) => { a: 1 }
*/
export declare function joinObjects2<T extends object | null | undefined>(target: T): NonArrayObject<NonNullableObject<T>>;
export declare function joinObjects2<T extends object | null | undefined, U = T>(target: T, source: U): NonArrayObject<NonNullableObject<T>> & NonArrayObject<NonNullableObject<U>>;
export declare function joinObjects2<T extends object | null | undefined, U = T, V = T>(target: T, source1: U, source2: V): NonArrayObject<NonNullableObject<T>> & NonArrayObject<NonNullableObject<U>> & NonArrayObject<NonNullableObject<V>>;
export declare function joinObjects2<T extends object | null | undefined, U = T, V = T, W = T>(target: T, source1: U, source2: V, source3: W): NonArrayObject<NonNullableObject<T>> & NonArrayObject<NonNullableObject<U>> & NonArrayObject<NonNullableObject<V>> & NonArrayObject<NonNullableObject<W>>;
export default function joinObjects2<T extends object | null | undefined>(target: T, ...sources: any[]): NonArrayObject<NonNullableObject<T>>;