platform/graphql_parser/lib/src/language/ast/array_value.dart
2019-08-07 21:44:25 -04:00

21 lines
571 B
Dart

import 'package:source_span/source_span.dart';
import '../token.dart';
import 'input_value.dart';
class ListValueContext extends InputValueContext {
final Token LBRACKET, RBRACKET;
final List<InputValueContext> values = [];
ListValueContext(this.LBRACKET, this.RBRACKET);
@override
FileSpan get span {
var out = values.fold<FileSpan>(LBRACKET.span, (o, v) => o.expand(v.span));
return out.expand(RBRACKET.span);
}
@override
computeValue(Map<String, dynamic> variables) {
return values.map((v) => v.computeValue(variables)).toList();
}
}