UNPKG

@sanity/diff-match-patch

Version:

Robust diff, match and patch algorithms to perform operations required for synchronizing plain text

36 lines (33 loc) 839 B
import {type Diff, DIFF_DELETE, DIFF_INSERT} from './diff.js' /** * Compute and return the source text (all equalities and deletions). * * @param diffs - Array of diff tuples. * @returns Source text. * @private */ export function diffText1(diffs: Diff[]): string { const text: string[] = [] for (let x = 0; x < diffs.length; x++) { if (diffs[x][0] !== DIFF_INSERT) { text[x] = diffs[x][1] } } return text.join('') } /** * Compute and return the destination text (all equalities and insertions). * * @param diffs - Array of diff tuples. * @returns Destination text. * @private */ export function diffText2(diffs: Diff[]): string { const text: string[] = [] for (let x = 0; x < diffs.length; x++) { if (diffs[x][0] !== DIFF_DELETE) { text[x] = diffs[x][1] } } return text.join('') }