forked from M3-Academy/challenge-algorithms-v2.0
94 lines
2.4 KiB
TypeScript
94 lines
2.4 KiB
TypeScript
|
/**
|
||
|
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
||
|
*
|
||
|
* This source code is licensed under the MIT license found in the
|
||
|
* LICENSE file in the root directory of this source tree.
|
||
|
*/
|
||
|
import type {CompareKeys} from 'pretty-format';
|
||
|
|
||
|
/**
|
||
|
* Class representing one diff tuple.
|
||
|
* Attempts to look like a two-element array (which is what this used to be).
|
||
|
* @param {number} op Operation, one of: DIFF_DELETE, DIFF_INSERT, DIFF_EQUAL.
|
||
|
* @param {string} text Text to be deleted, inserted, or retained.
|
||
|
* @constructor
|
||
|
*/
|
||
|
export declare class Diff {
|
||
|
0: number;
|
||
|
1: string;
|
||
|
constructor(op: number, text: string);
|
||
|
}
|
||
|
|
||
|
export declare function diff(
|
||
|
a: any,
|
||
|
b: any,
|
||
|
options?: DiffOptions,
|
||
|
): string | null;
|
||
|
|
||
|
/**
|
||
|
* The data structure representing a diff is an array of tuples:
|
||
|
* [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]
|
||
|
* which means: delete 'Hello', add 'Goodbye' and keep ' world.'
|
||
|
*/
|
||
|
export declare var DIFF_DELETE: number;
|
||
|
|
||
|
export declare var DIFF_EQUAL: number;
|
||
|
|
||
|
export declare var DIFF_INSERT: number;
|
||
|
|
||
|
export declare const diffLinesRaw: (
|
||
|
aLines: Array<string>,
|
||
|
bLines: Array<string>,
|
||
|
) => Array<Diff>;
|
||
|
|
||
|
export declare const diffLinesUnified: (
|
||
|
aLines: Array<string>,
|
||
|
bLines: Array<string>,
|
||
|
options?: DiffOptions,
|
||
|
) => string;
|
||
|
|
||
|
export declare const diffLinesUnified2: (
|
||
|
aLinesDisplay: Array<string>,
|
||
|
bLinesDisplay: Array<string>,
|
||
|
aLinesCompare: Array<string>,
|
||
|
bLinesCompare: Array<string>,
|
||
|
options?: DiffOptions,
|
||
|
) => string;
|
||
|
|
||
|
export declare type DiffOptions = {
|
||
|
aAnnotation?: string;
|
||
|
aColor?: DiffOptionsColor;
|
||
|
aIndicator?: string;
|
||
|
bAnnotation?: string;
|
||
|
bColor?: DiffOptionsColor;
|
||
|
bIndicator?: string;
|
||
|
changeColor?: DiffOptionsColor;
|
||
|
changeLineTrailingSpaceColor?: DiffOptionsColor;
|
||
|
commonColor?: DiffOptionsColor;
|
||
|
commonIndicator?: string;
|
||
|
commonLineTrailingSpaceColor?: DiffOptionsColor;
|
||
|
contextLines?: number;
|
||
|
emptyFirstOrLastLinePlaceholder?: string;
|
||
|
expand?: boolean;
|
||
|
includeChangeCounts?: boolean;
|
||
|
omitAnnotationLines?: boolean;
|
||
|
patchColor?: DiffOptionsColor;
|
||
|
compareKeys?: CompareKeys;
|
||
|
};
|
||
|
|
||
|
export declare type DiffOptionsColor = (arg: string) => string;
|
||
|
|
||
|
export declare const diffStringsRaw: (
|
||
|
a: string,
|
||
|
b: string,
|
||
|
cleanup: boolean,
|
||
|
) => Array<Diff>;
|
||
|
|
||
|
export declare const diffStringsUnified: (
|
||
|
a: string,
|
||
|
b: string,
|
||
|
options?: DiffOptions,
|
||
|
) => string;
|
||
|
|
||
|
export {};
|