entriesByKeyPrefix method

  1. @override
TTIterable<MapEntry<String, List<V>>> entriesByKeyPrefix(
  1. String prefix, {
  2. int maxPrefixEditDistance = 0,
})

Iterates through TTMultiMap as MapEntry objects such that only keys prefixed by keyMapping(prefix) are included.

If keyMapping(prefix) is empty then returns empty Iterable.

Each MapEntry contains a key and its associated values.

See keysByPrefix for more information on result ordering, near neighbour search (maxPrefixEditDistance) etc.

Throws ArgumentError if prefix is empty or null.

Implementation

@override
TTIterable<MapEntry<String, List<V>>> entriesByKeyPrefix(String prefix,
    {int maxPrefixEditDistance = 0}) {
  final key = _mapKey(prefix);
  final root = _root;
  return (identical(root, null) || key.isEmpty)
      ? TTIterable<MapEntry<String, List<V>>>.empty()
      : InOrderMapEntryIterableList<V>(root, _version,
          prefixSearchResult:
              root.getClosestPrefixDescendant(key.runes.toList()),
          maxPrefixEditDistance: maxPrefixEditDistance);
}