ownedPrefixOf static method

String? ownedPrefixOf(
  1. String id,
  2. Iterable<String> knownPrefixes
)

Resolves id to the longest prefix in knownPrefixes that matches at a complete <prefix>- boundary with a non-empty suffix.

Returns null when no known prefix owns id.

Implementation

static String? ownedPrefixOf(String id, Iterable<String> knownPrefixes) {
  final prefixes = knownPrefixes.toSet();
  if (prefixes.any((prefix) => id == '$prefix-')) return null;
  String? longest;
  for (final prefix in prefixes) {
    final boundary = '$prefix-';
    if (!id.startsWith(boundary) || id.length == boundary.length) continue;
    if (longest == null || prefix.length > longest.length) {
      longest = prefix;
    }
  }
  return longest;
}