You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.1 KiB
47 lines
1.1 KiB
[![NPM](https://nodei.co/npm/damerau-levenshtein.png?downloads=true&downloadRank=true&stars=true)](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'. |
|
```
|
|
|