Skip to content

merge

merge<T>(dst, value): boolean

Defined in: aberdeen.ts:1872

Like copy, but uses merge semantics. Properties in dst not present in src are kept. null/undefined in src delete properties in dst.

T extends object

T

Partial<T>

boolean

Basic merge

const source = { b: { c: 99 }, d: undefined }; // d: undefined will delete
const $dest = A.proxy({ a: 1, b: { x: 5 }, d: 4 });
A.merge($dest, source);
A.merge($dest, 'b', { y: 6 }); // merge into $dest.b
A.merge($dest, 'c', { z: 7 }); // $dest.c doesn't exist yet, so it will just be assigned
console.log($dest); // proxy({ a: 1, b: { c: 99, x: 5, y: 6 }, c: { z: 7 } })

merge<T>(dst, dstKey, value): boolean

Defined in: aberdeen.ts:1873

Like copy, but uses merge semantics. Properties in dst not present in src are kept. null/undefined in src delete properties in dst.

T extends object

T

keyof T

Partial<T[typeof dstKey]>

boolean

Basic merge

const source = { b: { c: 99 }, d: undefined }; // d: undefined will delete
const $dest = A.proxy({ a: 1, b: { x: 5 }, d: 4 });
A.merge($dest, source);
A.merge($dest, 'b', { y: 6 }); // merge into $dest.b
A.merge($dest, 'c', { z: 7 }); // $dest.c doesn't exist yet, so it will just be assigned
console.log($dest); // proxy({ a: 1, b: { c: 99, x: 5, y: 6 }, c: { z: 7 } })