expressionToMargins static method

Margins expressionToMargins(
  1. List<Expression>? lengths
)

Implementation

static Margins expressionToMargins(List<css.Expression>? lengths) {
  Margin? left;
  Margin? right;
  Margin? top;
  Margin? bottom;
  if (lengths != null && lengths.isNotEmpty) {
    top = expressionToMargin(lengths.first);
    if (lengths.length == 4) {
      right = expressionToMargin(lengths[1]);
      bottom = expressionToMargin(lengths[2]);
      left = expressionToMargin(lengths.last);
    }
    if (lengths.length == 3) {
      left = expressionToMargin(lengths[1]);
      right = expressionToMargin(lengths[1]);
      bottom = expressionToMargin(lengths.last);
    }
    if (lengths.length == 2) {
      bottom = expressionToMargin(lengths.first);
      left = expressionToMargin(lengths.last);
      right = expressionToMargin(lengths.last);
    }
    if (lengths.length == 1) {
      bottom = expressionToMargin(lengths.first);
      left = expressionToMargin(lengths.first);
      right = expressionToMargin(lengths.first);
    }
  }
  return Margins(left: left, right: right, top: top, bottom: bottom);
}