Skip to content

Latest commit

 

History

History
99 lines (84 loc) · 3.15 KB

README.md

File metadata and controls

99 lines (84 loc) · 3.15 KB

A typescript implementation to find the diff of two sequences or strings.

Install

  • npm

    npm install --save @algorithm.ts/diff
  • yarn

    yarn add @algorithm.ts/diff

Usage

  • Basic

    import { diff, IDiffItem } from '@algorithm.ts/diff'
    
    const results1: IDiffItem<string>[] = diff('abc', 'ac')
    const results2: IDiffItem<string>[] = diff('abc', 'ac', { lcs = "myers"})
    const results3: IDiffItem<string>[] = diff('abc', 'ac', { lcs = "myers_linear_space"})
    const results4: IDiffItem<string>[] = diff('abc', 'ac', { lcs = "dp"})
    const results5: IDiffItem<number[]>[] = diff([1, 2, 3], [3, 4], { lcs = "dp", equals: (a, b) => a === b })
    
    // results1 => [ { type: "common", tokens: "a" }, { type: "delete", tokens: "b" }, { type: "common", tokens: "c" } ]
    // results5 => [ { type: "delete", tokens: [1, 2] }, { type: "common", tokens: [3] }, { type: "added", tokens: [4] } ]
    
    // customized lcs
    import { lcs_myers_linear_space } from '@algorithm.ts/lcs'
    const results6: IDiffItem<number[]>[] = diff([1, 2, 3], [3, 4], { lcs = lcs_myers_linear_space })

Related