UNPKG

diffblazer

Version:

A super fast diffing utility for HTML and Plaintext

32 lines (31 loc) 1.47 kB
import { Action } from './action'; import { Match } from './match'; import { Operation } from './operation'; import { Token } from './tokenizer'; import type { Marker, Options } from './types'; export declare class Diffblazer { private oldText; private newText; private content; private specialTagDiffStack; private newTokens; private oldTokens; private matchGranularity; private options; constructor(oldText: string, newText: string, options?: Partial<Options>); build(): string; tokenizeInputs(): void; performOperation(opp: Operation): void; processReplaceOperation(opp: Operation): void; processInsertOperation(opp: Operation, marker: Marker): void; processDeleteOperation(opp: Operation, marker: Marker): void; processEqualOperation(opp: Operation): void; markDifference(marker: Marker, tokens: Token[], action: Action): void; extractConsecutiveTokens(tokens: Token[], condition: (value: Token) => boolean): Token[]; operations(): Operation[]; removeOrphans(matches: Match[]): Generator<Match | null, void, unknown>; matchingBlocks(): Match[]; findMatchingBlocks(startInOld: number, endInOld: number, startInNew: number, endInNew: number, matchingBlocks: Match[]): void; findMatch(startInOld: number, endInOld: number, startInNew: number, endInNew: number): Match | null; } export declare function diff(oldHtml: string, newHtml: string, options?: Partial<Options>): string;