normalizeExpression function
Normalizes a literal or DSL expression into an AST node.
Public helpers accept scalar literals for convenience, but compilation always works on normalized DslExpression instances.
Implementation
DslExpression normalizeExpression(Object? value) {
if (value is DslExpression) {
return value;
}
if (value == null || value is String || value is num || value is bool) {
return Literal(value);
}
throw ArgumentError.value(
value,
'value',
'Expected a DSL expression or scalar literal.',
);
}