tryParse static method
Parses a physical unit, or returns null when source is not one.
Implementation
static Unit? tryParse(String source) {
final trimmed = source.trim();
final match = _unitPattern.firstMatch(trimmed);
if (match == null) {
return null;
}
final value = double.tryParse(match.group(1)!);
if (value == null || !value.isFinite) {
return null;
}
return switch (match.group(2)!) {
'px' => Px(value),
'rem' => Rem(value),
'em' => Em(value),
'ms' => Milliseconds(value),
's' => Seconds(value),
'deg' => Degrees(value),
'rad' => Radians(value),
'turn' => Turns(value),
_ => null,
};
}