call method

  1. @override
Object? call(
  1. Interpreter interpreter,
  2. List<Object?> arguments,
  3. Map<Symbol, Object?> namedArguments
)
override

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);
}