A lightweight TypeScript library to calculate Damerau-Levenshtein edit distance and suggest similar strings.
- 🧮 Calculate the minimum number of operations to transform one string into another
- 🔍 Suggest similar words based on edit distance
- ⚡ Supports insertions, deletions, substitutions, and adjacent transpositions
- 🌐 Works with multiple languages and normalizes accented characters
- 🛠️ Fully typed with TypeScript for modern development
-
Deno:
import { editDistance, suggestSimilar } from 'jsr:@dep/edit-distance';
-
Node.js (18+) or Browsers:
npx jsr add @dep/edit-distance
Then import as an ES module:
import { editDistance, suggestSimilar } from '@dep/edit-distance';If using in a CLI tool, you can integrate suggestSimilar for command suggestions:
$ mycli chekcout
(Did you mean checkout?)Basic examples:
import { editDistance, suggestSimilar } from '@dep/edit-distance';
const dist = editDistance('form', 'from');
console.log(dist); // 1 (transposition counted)
const suggestion = suggestSimilar('checikout', [
'checkout',
'checkin',
'checkup',
]);
console.log(suggestion);
// "\n(Did you mean checkout?)"MIT License – see LICENSE for details.
Author: Estarlin R (estarlincito.com)