/** biome-ignore-all lint/suspicious/noExplicitAny: <> */ import type { AnyRecord } from '@chzky/core'; /** ## `merge` : 对象深度合并 `target` <- `source` 将`source`的数据合并进`target`中 @example ```ts // 基本对象合并 const target = { a: 1, b: { x: 1, y: 2 } } const source = { b: { y: 3, z: 4 }, c: 5 } const result = merge(target, source) assert.equal(result, { a: 1, b: { x: 1, y: 3, z: 4 }, c: 5 }) assert.equal(target, { a: 1, b: { x: 1, y: 2 } }) // 数组index合并 const array_target = { a: [1, 2], b: { x: 1 } } const array_source = { a: [3], b: { y: 2 } } const array_result = merge(array_target, array_source) console.log(array_result) assert.equal(array_result, { a: [3, 2], b: { x: 1, y: 2 } }) //[1]被[3]替换了 assert.equal(array_target, { a: [1, 2], b: { x: 1 } }) // null 值也会被适当处理 const null_target = { a: null } const null_source = { a: [1, 2, 3] } const null_result = merge(null_target, null_source) assert.equal(null_result, { a: [1, 2, 3] }) assert.equal(null_target, { a: null }) ``` @category Collect */ export declare function merge(target: T, source: K): T & K; //# sourceMappingURL=merge.d.ts.map