Files
DefinitelyTyped/types/deepmerge/deepmerge-tests.ts
Jack Sun 771016d704 [deepmerge] Allow partial types in deepmerge
Sometimes deepmerge is used for overwriting only a few properties in a larger object. Allowing partial types lets users deepmerge without having to typecast in those cases.
In addition, also updated the typings for arrayMerge to indicate that it will be operating on two arrays.
2017-08-29 16:48:24 -07:00

30 lines
628 B
TypeScript

import * as deepmerge from "deepmerge";
const x = {
foo: { bar: 3 },
array: [{ does: 'work', too: [1, 2, 3] }]
};
const y = {
foo: { baz: 4 },
quux: 5,
array: [{ does: 'work', too: [4, 5, 6] }, { really: 'yes' }]
};
const expected = {
foo: { bar: 3, baz: 4 },
array: [{ does: 'work', too: [1, 2, 3, 4, 5, 6] }, { really: 'yes' }],
quux: 5
};
const result = deepmerge(x, y);
const anyResult = deepmerge<any>(x, y);
function reverseConcat(dest: number[], src: number[]) {
return src.concat(dest);
}
const withOptions = deepmerge(x, y, {
clone: false,
arrayMerge: reverseConcat
});