normalizeExpression function

DslExpression normalizeExpression(
  1. Object? value
)

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.',
  );
}