From 48a6a16f1aa546f6bbdf80efbc5e72aa783acf4b Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sun, 24 Dec 2023 23:48:06 -0800 Subject: refactor(error): move closest path to module --- src/lib/Error/path.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/lib/Error/path.ts (limited to 'src/lib/Error') diff --git a/src/lib/Error/path.ts b/src/lib/Error/path.ts new file mode 100644 index 00000000..50874a12 --- /dev/null +++ b/src/lib/Error/path.ts @@ -0,0 +1,17 @@ +import levenshtein from 'fast-levenshtein'; + +export const closest = (path: string, suggestions: string[]) => { + let closest = ''; + let lowestDistance = Infinity; + + suggestions.forEach((suggestion) => { + const distance = levenshtein.get(path, suggestion); + + if (distance < lowestDistance) { + lowestDistance = distance; + closest = suggestion; + } + }); + + return closest; +}; -- cgit v1.2.3