UNPKG

datum-merge

Version:

Simplified diff and merging for deeply nested objects

26 lines 1.3 kB
import { MergeCode } from "./merge-low"; export type DetailConfig = { [key: string]: MergeCode | DetailConfig; }; export type MergeConfig = { scalar?: MergeCode; vector?: MergeCode; nested?: MergeCode; [glob: string]: MergeCode | MergeConfig | undefined; }; export declare function detailMerge(target: { [key: string]: any; }, source: { [key: string]: any; }, mergeCodes: DetailConfig): boolean; export declare function immutableDetailMerge(target: any, source: any, mergeCodes: DetailConfig): any; export declare function getDetailKeys(obj: any, mergeCodes: DetailConfig, excludeKeys?: string[]): string[]; export declare function customMerge(target: { [key: string]: any; }, source: { [key: string]: any; }, mergeConf: MergeConfig | MergeCode, excludeKeys?: string[]): boolean; export declare function customMergeDiff<T extends object>(target: T, source: Partial<T>, mergeConf: MergeConfig | MergeCode, excludeKeys?: string[]): Partial<T> | false; export declare function immutableCustomMerge(target: any, source: any, mergeConf: MergeConfig, skipFill?: boolean): any; export declare const fillUpdateCodes: (source: any, mergeConf: MergeConfig | MergeCode, blockUnset?: boolean, excludeKeys?: string[]) => DetailConfig; //# sourceMappingURL=merge-conf.d.ts.map