package.dist.object.d.ts Maven / Gradle / Ivy
The newest version!
type PropertyName = string | number | symbol;
/**
* Copy the values of all of the enumerable own properties from one or more source objects to a
* target object. Returns the target object.
*
* @param target The target object to copy to.
* @param source The source object from which to copy properties.
*/
export function assign(target: T, source: U): T & U;
/**
* Copy the values of all of the enumerable own properties from one or more source objects to a
* target object. Returns the target object.
*
* @param target The target object to copy to.
* @param source1 The first source object from which to copy properties.
* @param source2 The second source object from which to copy properties.
*/
export function assign(target: T, source1: U, source2: V): T & U & V;
/**
* Copy the values of all of the enumerable own properties from one or more source objects to a
* target object. Returns the target object.
*
* @param target The target object to copy to.
* @param source1 The first source object from which to copy properties.
* @param source2 The second source object from which to copy properties.
* @param source3 The third source object from which to copy properties.
*/
export function assign(target: T, source1: U, source2: V, source3: W): T & U & V & W;
/**
* Copy the values of all of the enumerable own properties from one or more source objects to a
* target object. Returns the target object.
*
* @param target The target object to copy to.
* @param sources One or more source objects from which to copy properties
*/
export function assign(target: T, ...sources: any[]): T;
/**
* Gets a nested property of a given object, with an optional default value.
*
* @param target The target of the get operation.
* @param path The path to the nested value.
* @param defaultValue The result to return if the property does not exist.
*
* @return any
*/
export function get(target: any, path: (string|number)[], defaultValue?: any): any;
/**
* Sets a nested property of a given object to the specified value.
*
* This mutates the object and returns it.
*
* @param target The target of the set operation.
* @param path The path to the nested value.
* @param value The value to set.
*
* @return the element
*/
export function set(target: T, path: PropertyName[], value: any): T;
/**
* Pick properties from the given target.
*
* @param target
* @param properties
*
* @return
*/
export function pick(target: T, properties: Array): Pick;
/**
* Pick properties from the given target.
*
* @param target
* @param properties
*
* @return
*/
export function pick(target: T, properties: V): Partial;
/**
* Pick all target properties, excluding the given ones.
*
* @param target
* @param properties
*
* @return target
*/
export function omit(target: T, properties: V): Omit;
/**
* Pick all target properties, excluding the given ones.
*
* @param target
* @param properties
*
* @return target
*/
export function omit(target: T, properties: V): Pick>;
/**
* Copy the values of all of the enumerable own properties from one or more source objects to a
* target object. Returns the target object.
* @param target The target object to copy to.
* @param sources One or more source objects from which to copy properties
*/
export function merge(target: object, ...sources: any[]): any;