0.1.2 • Published 5 years ago

weighted-damerau-levenshtein v0.1.2

Weekly downloads
438
License
Apache-2.0
Repository
github
Last release
5 years ago

Weighted Damerau–Levenshtein distance

Travis (.org) Coverage Status NPM

A simple Node module that allows you to compute Damerau–Levenshtein distance with custom weights for insertion, deletion and/or substitution (they all default to 1). It is inspired by the damerau-levenshtein and damerau-levenshtein-js packages.

let dldist = require('weighted-damerau-levenshtein');

const d = dldist('hello word', 'Hello World!');
// 4 -> two substitutions and two insertions

const s = dldist('hello word', 'Hello World!', { insWeight: 0.5 });
// 3 -> two substitutions with weight 1 and two insertions with weight 0.5

It also optionally allows you to turn-off the "Damerau" part of the Damerau-Levenshtein distance (i..e the transpositions), which makes it the standard Levenshtein distance.

let dldist = require('weighted-damerau-levenshtein');

const d = dldist('Hi there', 'Hi tehre');
// 1 -> one transpostion (counted with the default subsitution weight)

const s = dldist('Hi there', 'Hi tehre', { useDamerau: false });
// 2 -> one substitution and one deletion (both with default weight)

Install

npm install weighted-damerau-levenshtein

License

Licensed under the terms of the Apache 2.0 license. See the LICENSE file for more details.