ownedPrefixOf static method
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;
}