import distance from "jaro-winkler"; import levenshtein from "fast-levenshtein"; export function jaroWinklerComparison( str_l: string | null, str_r: string | null ): number { if (str_l === null || str_r === null) { return -1; } if (str_l === str_r) { return 2; } const jaroWinklerDistance = distance(str_l, str_r); return jaroWinklerDistance <= 0.9 ? 0 : 1; } export function exactMatchComparison(val_l: unknown, val_r: unknown): number { if (val_l === null || val_r === null) { return -1; } return val_l === val_r ? 1 : 0; } export function levenshteinComparison( str_l: string | null, str_r: string | null ): number { if (str_l === null || str_r === null) { return -1; } if (str_l === str_r) { return 2; } const distance = levenshtein.get(str_l, str_r); return distance <= 1 ? 1 : 0; }