resolveRef static method

SmlRange? resolveRef(
  1. SmlWorksheet sheet,
  2. String token
)

resolveRef API.

Implementation

static SmlRange? resolveRef(SmlWorksheet sheet, String token) {
  final int bracket = token.indexOf('[');
  final String tableName = (bracket < 0 ? token : token.substring(0, bracket))
      .trim();
  final String column = bracket < 0
      ? ''
      : token.substring(bracket + 1, token.endsWith(']') ? token.length - 1 : token.length)
          .trim();
  for (final SmlTable table in sheet.tables) {
    if (table.name.toUpperCase() != tableName.toUpperCase()) {
      continue;
    }
    if (column.isEmpty) {
      return table.dataRange;
    }
    return table.dataRangeForColumn(sheet, column);
  }
  return null;
}