expressionToLengthOrPercent static method

LengthOrPercent expressionToLengthOrPercent(
  1. Expression value
)

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);
}