UNPKG

generate-differences

Version:

Generate differences between original source and formmated source

67 lines (66 loc) 1.59 kB
import { DiffMatchPathOptions } from "diff-match-patch-es"; //#region src/types.d.ts type DifferenceDelete = { deleteText: string; offset: number; operation: 'delete'; }; type DifferenceInsert = { insertText: string; offset: number; operation: 'insert'; }; type DifferenceReplace = { deleteText: string; insertText: string; offset: number; operation: 'replace'; }; /** * @pg */ type Difference = DifferenceDelete | DifferenceInsert | DifferenceReplace; interface Options extends DiffMatchPathOptions { /** * @default 0 */ offset?: number; } //#endregion //#region src/constants.d.ts declare const DIFFERENCE: { readonly DELETE: "delete"; readonly INSERT: "insert"; readonly REPLACE: "replace"; }; //#endregion //#region src/index.d.ts /** * Generate differences between original source and formmated source * * @param source - original source * @param formatted - formatted source * @param options - diff-match-patch options * @returns generated differences * * @example * * ```ts * import { generateDifferences } from 'generate-differences' * * const differences = generateDifferences('abc', 'edf') * * console.log({ differences }) * // [ * // { * // "deleteText": "abc", * // "insertText": "edf", * // "offset": 0, * // "operation": "replace", * // }, * // ] * ``` */ declare function generateDifferences(source: string, formatted: string, options?: Options): Difference[]; //#endregion export { DIFFERENCE, Difference, DifferenceDelete, DifferenceInsert, DifferenceReplace, Options, generateDifferences };