visitFilterAsync method
Implementation
@override
Future<dynamic> visitFilterAsync(Filter node) async {
final filterFunction = context.getFilter(node.name.name);
if (filterFunction == null) {
throw Exception('Undefined filter: ${node.name.name}');
}
final args = <dynamic>[];
final namedArgs = <String, dynamic>{};
for (final arg in node.arguments) {
if (arg is NamedArgument) {
namedArgs[arg.identifier.name] = await arg.value.acceptAsync(this);
} else {
args.add(await arg.acceptAsync(this));
}
}
return (value) => filterFunction(value, args, namedArgs);
}