@atlaskit/editor-common
Version:
A package that contains common classes and components for editor and renderer
33 lines (32 loc) • 1.16 kB
TypeScript
type ChangedData<T> = {
key: keyof T;
difference?: any;
maxDepthReached?: boolean;
newValue?: any;
oldValue?: any;
reactElementChanged?: boolean;
};
type Changed<T> = Array<ChangedData<T>>;
export type PropsDifference<T> = {
removed: Array<keyof T>;
added: Array<keyof T>;
changed: Changed<T>;
};
export type ShallowPropsDifference<T> = {
removed: Array<keyof T>;
added: Array<keyof T>;
changed: Array<keyof T>;
};
export declare const getKeys: <T>(obj: T) => Array<keyof T>;
export declare const getKeysAddedRemovedCommon: <T>(object1: T, object2: T) => {
added: (keyof T & keyof (T & {}))[];
common: (keyof T & keyof (T & {}))[];
removed: (keyof T & keyof (T & {}))[];
};
export declare const serializeValue: <T>(value: T[keyof T]) => string | (T[keyof T] & {}) | {
type: string;
keys: string[];
} | undefined;
export declare const getPropsDifference: <T>(object1: T, object2: T, curDepth?: number, maxDepth?: number, keysToIgnore?: Array<keyof T>) => PropsDifference<T>;
export declare const getShallowPropsDifference: <T>(object1: T, object2: T) => ShallowPropsDifference<T>;
export {};