parseOS method
Parse an OS from the userAgent string.
Returns null if no match.
Implementation
OS? parseOS(String userAgent) {
for (OSParser osParser in osParsers) {
for (String regex in osParser.regexes) {
RegExp regExp = RegExp(regex, caseSensitive: false);
if (regExp.hasMatch(userAgent)) {
Iterable<RegExpMatch> matches = regExp.allMatches(userAgent);
RegExpMatch match = matches.first;
String version = match.groupCount > 0 ? match.group(1)! : '';
return OS(
name: osParser.name,
unformattedName: osParser.name.toLowerCase(),
version: version,
parsedWithRegex: regex,
);
}
}
}
return null;
}