@jsxtools/eslint-plugin-jsx-a11y
Version:
Static AST checker for accessibility rules on JSX elements for flat ESLint Config.
16 lines (13 loc) • 581 B
JavaScript
const editDistance = require('damerau-levenshtein');
const THRESHOLD = 2;
function getSuggestion(word, dictionary = [], limit = 2) {
const distances = Object.fromEntries(
dictionary.map((dictionaryWord) => {
const distance = editDistance.default(word.toUpperCase(), dictionaryWord.toUpperCase());
const { steps } = distance;
return [dictionaryWord, steps];
})
);
return Object.keys(distances).filter((suggestion) => distances[suggestion] <= THRESHOLD).sort((a, b) => distances[a] - distances[b]).slice(0, limit);
}
module.exports = getSuggestion;