@jsopen/objects
Version:
Helper utilities for working with JavaScript objects and arrays
40 lines (39 loc) • 1.18 kB
TypeScript
export declare function merge<A, B>(target: A, source: B, options?: merge.Options): A & B;
export declare function getMergeFunction(options?: merge.Options): Function;
export declare namespace merge {
type NodeCallback = (key: string | symbol, source: any, target: any, path: string) => boolean;
interface Options {
deep?: boolean | 'full' | NodeCallback;
/**
*/
moveArrays?: boolean | NodeCallback;
/**
* Do not overwrite existing properties if set true
* @default false
*/
keepExisting?: boolean;
/**
* Copy property descriptors
* @default false
*/
copyDescriptors?: boolean | NodeCallback;
/**
* Do not copy source field if callback returns true
*/
ignore?: NodeCallback;
/**
* Ignore fields which values are "undefined"
* @default true
*/
ignoreUndefined?: boolean;
/**
* Ignore fields which values are "null"
* @default false
*/
ignoreNulls?: boolean;
/**
*
*/
filter?: NodeCallback;
}
}