parseEngine method
Parse an Engine from the userAgent string.
Returns null if no match.
Implementation
Engine? parseEngine(String userAgent) {
for (EngineParser engineParser in engineParsers) {
for (String regex in engineParser.regexes) {
RegExp regExp = RegExp(regex, caseSensitive: false);
if (regExp.hasMatch(userAgent)) {
Iterable<RegExpMatch> matches = regExp.allMatches(userAgent);
String unformattedName =
matches.first.namedGroup('unformattedName') ??
engineParser.name.toLowerCase();
String version = matches.first.namedGroup('version') ?? '';
return Engine(
name: engineParser.name,
unformattedName: unformattedName,
version: version,
parsedWithRegex: regex,
);
}
}
}
return null;
}