expressionToLengthOrPercent static method
Implementation
static LengthOrPercent expressionToLengthOrPercent(css.Expression value) {
if (value is css.NumberTerm) {
return LengthOrPercent(double.parse(value.text));
} else if (value is css.EmTerm) {
return LengthOrPercent(double.parse(value.text), Unit.em);
} else if (value is css.RemTerm) {
return LengthOrPercent(double.parse(value.text), Unit.rem);
// TODO there are several other available terms processed by the CSS parser
} else if (value is css.LengthTerm) {
double number =
double.parse(value.text.replaceAll(RegExp(r'\s+(\d+\.\d+)\s+'), ''));
Unit unit = _unitMap(value.unit);
return LengthOrPercent(number, unit);
}
//Ignore un-parsable input
return LengthOrPercent(0);
}