visitKey method
Visits the given node of this tree with the given key and visitor.
Implementation
void visitKey(RadixTreeNode<T> node, String key, String prefix,
RadixTreeKVVisitor<T?> visitor) {
if (node.hasValue && prefix == key) {
visitor(prefix, node.value);
return;
}
final prefixLength = prefix.length;
if (key.length > prefixLength) {
// Search the children only if there's more key remaining.
// Unfortunately this is O(|your_alphabet|)
for (final child in node) {
if (child.prefix[0] == key[prefixLength]) {
return visitKey(child, key, prefix + child.prefix, visitor);
}
}
}
}