t-comm
Version:
专业、稳定、纯粹的工具库
27 lines (26 loc) • 761 B
TypeScript
export type Path = (string | number | symbol)[];
export declare function set<Entity = any, Output = Entity, Value = any>(entity: Entity, paths: Path, value: Value, removeIfUndefined?: boolean): Output;
/**
* Merge objects which will create
* @example
* ```ts
* merge({ a: 1 }, { b: 2 }); // { a: 1, b: 2 }
*
* // 深合并
* merge({ a: { x: 1 } }, { a: { y: 2 } });
* // { a: { x: 1, y: 2 } }
*
* // 后者覆盖前者
* merge({ a: 1, b: 2 }, { b: 3 });
* // { a: 1, b: 3 }
*
* // 数组:直接覆盖(不会合并)
* merge({ a: [1, 2, 3] }, { a: [4] });
* // { a: [4] }
*
* // 多源合并
* merge({ a: 1 }, { b: 2 }, { c: 3 });
* // { a: 1, b: 2, c: 3 }
* ```
*/
export declare function merge<T extends object>(...sources: T[]): T;