https://github.com/tad-lispy/node-damerau-levenshtein
Damerau - Levenstein distance function for node
https://github.com/tad-lispy/node-damerau-levenshtein
damerau javascript levenshtein nodejs similarity
Last synced: 7 months ago
JSON representation
Damerau - Levenstein distance function for node
- Host: GitHub
- URL: https://github.com/tad-lispy/node-damerau-levenshtein
- Owner: tad-lispy
- License: bsd-2-clause
- Created: 2013-08-29T08:47:24.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2024-07-19T19:04:47.000Z (over 1 year ago)
- Last Synced: 2025-03-28T17:18:54.325Z (7 months ago)
- Topics: damerau, javascript, levenshtein, nodejs, similarity
- Language: JavaScript
- Size: 447 KB
- Stars: 46
- Watchers: 1
- Forks: 10
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://nodei.co/npm/damerau-levenshtein/)
It provides a function that takes two string arguments and returns a hash like this:
``` javascript
{
steps: 5, // Levenstein demerau distance
relative: 0.7, // steps / length of the longer string
similarity: 0.3 // 1 - relative
}
```## Install
```sh
npm install damerau-levenshtein
```## Use with ES6 modules
```js
import * as levenshtein from 'damerau-levenshtein';const lev = levenshtein('hello world', 'Hello World!');
// { steps: 4, relative: 0.3076923076923077, similarity: 0.6923076923076923 }
```Please see [tests](./test/test.js) for more insights.
## Use with TypeScript
```ts
import * as levenshtein from 'damerau-levenshtein';interface LevenshteinResponse {
steps: number;
relative: number;
similarity: number;
}const lev: LevenshteinResponse = levenshtein('hello world', 'Hello World!');
console.log(lev.steps);
// 2
console.log(lev.foo);
// TypeScript Error: Property 'foo' does not exist on type 'LevenshteinResponse'.
```