filter function

Parser filter()

Implementation

Parser filter() {
  return (char('|').trim() &
          ref0(identifier).trim() &
          (char(':').trim() &
                  (ref0(namedArgument) | ref0(literal) | ref0(identifier))
                      .plusSeparated(char(',').trim()))
              .optional())
      .labeled('filter')
      .map((values) {
    final filterName = values[1] as Identifier;
    final args = values[2] != null
        ? (values[2] as List)[1].elements.cast<ASTNode>()
        : <ASTNode>[];
    return Filter(filterName, args);
  });
}