UNPKG

587 BTypeScriptView Raw
1export declare const NODE_TYPE_ROOT: unique symbol;
2export declare const NODE_TYPE_CHILD: unique symbol;
3export declare type TrieRootNode = {
4 type: typeof NODE_TYPE_ROOT;
5 children: Map<string, TrieChildNode>;
6};
7export declare type TrieChildNode = {
8 type: typeof NODE_TYPE_CHILD;
9 label: string;
10 children: Map<string, TrieChildNode>;
11 parent: TrieNode;
12};
13export declare type TrieNode = TrieRootNode | TrieChildNode;
14export declare const createRootNode: () => TrieRootNode;
15export declare const createOrGetChild: (parent: TrieNode, label: string) => TrieChildNode;