variable function
Implementation
Parser variable() =>
(varStart() & ref0(expression).trim() & filter().star().trim() & varEnd())
.map((values) {
ASTNode expr = values[1];
String name = '';
if (expr is Identifier) {
name = expr.name;
} else if (expr is MemberAccess) {
name = (expr.object as Identifier).name;
}
if ((values[2] as List).isNotEmpty) {
return FilteredExpression(
Variable(name, expr), (values[2] as List).cast<Filter>());
}
return Variable(name, expr);
}).labeled('variable');