diff options
| author | Fuwn <[email protected]> | 2023-12-24 23:48:06 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-12-24 23:48:06 -0800 |
| commit | 48a6a16f1aa546f6bbdf80efbc5e72aa783acf4b (patch) | |
| tree | 7520ee7af6d7b11e00f1cf103b36baa24c5a40be /src/lib/Error | |
| parent | feat(error): route predict (diff) | |
| download | due.moe-48a6a16f1aa546f6bbdf80efbc5e72aa783acf4b.tar.xz due.moe-48a6a16f1aa546f6bbdf80efbc5e72aa783acf4b.zip | |
refactor(error): move closest path to module
Diffstat (limited to 'src/lib/Error')
| -rw-r--r-- | src/lib/Error/path.ts | 17 |
1 files changed, 17 insertions, 0 deletions
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; +}; |