aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Error
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-12-24 23:48:06 -0800
committerFuwn <[email protected]>2023-12-24 23:48:06 -0800
commit48a6a16f1aa546f6bbdf80efbc5e72aa783acf4b (patch)
tree7520ee7af6d7b11e00f1cf103b36baa24c5a40be /src/lib/Error
parentfeat(error): route predict (diff)
downloaddue.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.ts17
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;
+};