datum-merge
Version:
Simplified diff and merging for deeply nested objects
18 lines • 846 B
TypeScript
import { MergeCode } from "./merge-low";
import { DetailConfig, MergeConfig } from "./merge-conf";
export type MergeResult<T = any> = {
path: string;
op: "add" | "remove" | "replace";
value?: Readonly<T>;
prev?: Readonly<T>;
code: MergeCode;
};
export declare function customMergePatch<T extends object>(target: T, source: Partial<T>, mergeConf: MergeConfig | MergeCode, excludeKeys?: string[]): MergeResult[] | false;
export declare function bypassMergePatch<T extends object>(target: T, source: Partial<T>): MergeResult[] | false;
export declare function deepMergeLog(lhsObj: {
[key: string]: any;
}, rhsObj: {
[key: string]: any;
}, mergeCodes?: DetailConfig): MergeResult[];
export declare function selectPathCode(mergeCodes: DetailConfig, pathParts: string[]): MergeCode;
//# sourceMappingURL=merge-patch.d.ts.map