Dimension.css constructor

Dimension.css(
  1. String cssValue
)

Construct a Dimension object from the valid, simple CSS string cssValue that represents a distance measurement.

This constructor is intended as a convenience method for working with simplistic CSS length measurements. Non-numeric values such as auto or inherit or invalid CSS will cause this constructor to throw a FormatError.

Implementation

factory Dimension.css(String cssValue) {
  late num value;
  var unit = '';
  if (cssValue == '') cssValue = '0px';
  if (cssValue.endsWith('%')) {
    unit = '%';
  } else {
    // All other units are assumed to have length 2
    unit = cssValue.substring(cssValue.length - 2);
  }
  if (cssValue.contains('.')) {
    final s = cssValue.substring(0, cssValue.length - unit.length);
    value = double.parse(s);
  } else {
    final s = cssValue.substring(0, cssValue.length - unit.length);
    value = int.parse(s);
  }
  return Dimension._(value, unit);
}