UNPKG

cockatoo.js

Version:

Fuzzy search library based based on Damerau Levenshtein distance algorithm for Node.js

39 lines (38 loc) 1.37 kB
import { CockatooOptions } from "./cockatooOptions"; import { DamerauLevenshtein } from "./damerauLevenshtein"; import { Match } from "./match"; import { TokenMatch } from "./tokenMatch"; export declare class Cockatoo<T> { damLev: DamerauLevenshtein; elementsList: T[]; options: CockatooOptions; searchableValuesList: string[][]; searchableTokensList: string[][]; originalValuesList: string[][]; originalTokensList: string[][]; cache: { [key: string]: { results: Match<T>[]; date: Date; }; }; maxCacheElements: number; /** * Create a Cockatoo.js instance */ constructor(elementsList: T[], options: CockatooOptions, maxCacheElements?: number); search(searchText: string, filter?: (element: T) => boolean): Promise<Match<T>[]>; getScore(search: string, patterns: string[], options: CockatooOptions): { score: number; patternMatch: string; }; getTokenScore(tokens: string[], patternTokens: string[], originalTokens: string[], originalPatternTokens: string[]): { tokenScore: number; tokenMatches: TokenMatch[]; }; getMinDistance(search: string, pattern: string, options: CockatooOptions): number; private getMatch; private generateValuesList; private generateTokensList; private getTokensFromText; }