evaluateSizeUnit function

SizeUnit evaluateSizeUnit(
  1. String input
)

Evaluates a string expression and returns a SizeUnit.

Parses mathematical expressions involving size units (e.g., "100px + 50%") and returns the resulting SizeUnit object. Supports arithmetic operations (+, -, *, /) and various size unit types.

Example:

final size = evaluateSizeUnit("100 + 50"); // SizeUnit representing 150
final relative = evaluateSizeUnit("50%");   // SizeUnit representing 50% of viewport

Throws an exception if the expression cannot be parsed.

Implementation

SizeUnit evaluateSizeUnit(String input) {
  final tokenizer = StringTokenizer(input);
  final tokens = tokenizer.tokenize();
  final parser = Parser(tokens);
  return parser.parseSizeUnit();
}