UNPKG

irem

Version:

Search for any city in any language in Earth.

38 lines (37 loc) 1.24 kB
interface EncodedTrieNode { c?: Record<string, EncodedTrieNode>; l?: number[]; } export declare class Trie { root: EncodedTrieNode; createNode(): EncodedTrieNode; constructor(); insert(word: string, lineNumber: number, isNormalize?: boolean): void; findPrefix(query: string): EncodedTrieNode | null; findLastNodeMatch(query: string): { currentNode: EncodedTrieNode; i: number; }; autocomplete(query: string, maxResultCount?: number): Set<number>; /** * collects line numbers in `resultSet` * * @param {TrieNode} currentNode * @param {Set<number>} resultSet * @param {number} [maxResultCount=10] */ collectLineNumbersWithBFS(currentNode: EncodedTrieNode, resultSet: Set<number>, maxResultCount?: number): void; searchPrefix(query: string): number[] | null; /** * built Trie data structure from gzipped JSON serialization * * @async * @param {string} filePath * @returns {*} */ loadFromJson(filePath: string): Promise<void>; static buildTrieFromTSV(tsvFilePath: string): Trie; static trieToJson(trie: Trie): EncodedTrieNode; static convertDataToGzippedTrieJSON(): Promise<void>; } export {};