call method
Implementation
@override
Object? call(Interpreter interpreter, List<Object?> arguments,
Map<Symbol, Object?> namedArguments) {
TableBorder? border;
var borderParsed = namedArguments[const Symbol('border')];
if (borderParsed != null) {
border = borderParsed as TableBorder;
}
List<TableRow> children = const <TableRow>[];
var childrenParsed = namedArguments[const Symbol('children')];
if (childrenParsed != null) {
children = (childrenParsed as List).cast<TableRow>();
}
TextDirection? textDirection;
var textDirectionParsed = namedArguments[const Symbol('textDirection')];
if (textDirectionParsed != null) {
textDirection = textDirectionParsed as TextDirection;
}
Map<int, TableColumnWidth> columnWidths = {};
var columnWidthsParsed = namedArguments[const Symbol('columnWidths')];
if (columnWidthsParsed != null) {
var mp = columnWidthsParsed as Map;
// loop k,v in mp
for (var entry in mp.entries) {
columnWidths[entry.key as int] = entry.value as TableColumnWidth;
}
}
TableCellVerticalAlignment defaultVerticalAlignment =
TableCellVerticalAlignment.top;
var defaultVerticalAlignmentParsed =
namedArguments[const Symbol('defaultVerticalAlignment')];
if (defaultVerticalAlignmentParsed != null) {
defaultVerticalAlignment =
defaultVerticalAlignmentParsed as TableCellVerticalAlignment;
}
TableColumnWidth defaultColumnWidth = const FlexColumnWidth();
var defaultColumnWidthParsed =
namedArguments[const Symbol('defaultColumnWidth')];
if (defaultColumnWidthParsed != null) {
defaultColumnWidth = defaultColumnWidthParsed as TableColumnWidth;
}
return Table(
border: border,
columnWidths: columnWidths,
textDirection: textDirection,
defaultColumnWidth: defaultColumnWidth,
defaultVerticalAlignment: defaultVerticalAlignment,
children: children);
}