UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

27 lines (26 loc) 761 B
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;