Create a new node.
Insert an entry into the tree.
The string key for the entry.
The entry to store.
The node the entry was added to.
Return entries that match the given string prefix.
Additional options to configure behaviour.
A number of entries that have the given prefix.
Returns the node at the given prefix.
Perform a breadth-first search starting from the given node and retrieving any entries along the way, until we reach the limit.
The starting node.
The accumulated entries.
The working queue of nodes to search.
Additional options for the search.
The tree's root.
A data structure for quickly retrieving objects by a string prefix. Note that this works well for languages with alphabets (latin, cyrillic, korean, etc.), but may need more nuanced handling for languages that compose characters and letters.