pinyin-pro
Version:
准确率和性能最优异的汉字转拼音库。获取中文拼音、韵母、声母、声调、首字母,支持拼音匹配
33 lines (32 loc) • 813 B
TypeScript
/**
* @description: AC 自动机
*/
export interface Pattern {
zh: string;
pinyin: string;
priority: number;
length: number;
isSurname?: boolean;
}
interface MatchPattern extends Pattern {
index: number;
}
declare class TrieNode {
children: Map<string, TrieNode>;
fail: TrieNode | null;
isEnd: boolean;
pattern: Pattern | null;
constructor();
}
export declare class AC {
root: TrieNode;
constructor();
buildTrie(patterns: Pattern[]): void;
reset(): void;
buildFailPointer(): void;
search(text: string, isSurname?: boolean): MatchPattern[];
filter(patterns: MatchPattern[], isSurname?: boolean): MatchPattern[];
}
export declare const PatternsNormal: Pattern[];
export declare const ACNormal: AC;
export {};