evaluateSpacingUnit function
Evaluates a string expression and returns a SpacingUnit.
Parses mathematical expressions involving spacing units and returns the resulting SpacingUnit object. Supports arithmetic operations and various spacing unit types (fixed, relative, viewport-based).
Example:
final spacing = evaluateSpacingUnit("16"); // SpacingUnit representing 16 pixels
final calc = evaluateSpacingUnit("8 * 2"); // SpacingUnit representing 16
Throws an exception if the expression cannot be parsed.
Implementation
SpacingUnit evaluateSpacingUnit(String input) {
final tokenizer = StringTokenizer(input);
final tokens = tokenizer.tokenize();
final parser = Parser(tokens);
return parser.parseSpacingUnit();
}