alinea
Version:
Headless git-based CMS
17 lines (16 loc) • 663 B
TypeScript
import type { RecordShape } from 'alinea/core/shape/RecordShape';
export declare function equals(a: any, b: any): boolean;
export declare function computeLcs<T>(a: Array<T>, b: Array<T>, equals: (valueA: T, valueB: T) => boolean): Array<Array<number>>;
export type Change<T> = {
type: 'addition';
value: T;
} | {
type: 'removal';
value: T;
} | {
type: 'keep';
old: T;
value: T;
};
export declare function diffList<T>(a: Array<T>, b: Array<T>, equals: (a: T, b: T) => boolean): Array<Change<T>>;
export declare function diffRecord(kind: RecordShape, targetA: any, targetB: any): [string, import("alinea/core/Shape").Shape<any, any>][];