siegel
Version:
Web application development ecosystem
23 lines (22 loc) • 828 B
TypeScript
declare const resolveAsUndefSymbol: unique symbol;
/**
* Recursively merges objects
*
* @param obj_a - Object to merge
* @param obj_b - Object to merge
* @param options - Merge strategies options
* @returns Merged objects
*/
declare const deepMerge: <T extends Obj, K extends Obj>(obj_a: T, obj_b: K, options?: {
/** Prevents undefined values from obj_b to be written to result */
skipUndef?: boolean;
/** Resolve merging iof special objects, eg. Set, Date */
mergeResolve?(obj_a: Obj, obj_b: Obj, propName: string): any;
/**
* For the cases when there are objects you don't want to merge,
* but resolve them in a special way
*/
resolveObject?(obj_a: Obj, obj_b: Obj, propName: string): Obj | symbol | undefined;
}) => T & K;
export default deepMerge;
export { resolveAsUndefSymbol };