normalizeTableName static method

String normalizeTableName(
  1. String tableName
)

Returns a validated SQLite table identifier for tableName.

Implementation

static String normalizeTableName(String tableName) {
  final trimmed = tableName.trim();

  if (trimmed.isEmpty) {
    throw ArgumentError.value(tableName, 'tableName', 'Must not be empty.');
  }

  final validIdentifier = RegExp(r'^[A-Za-z_][A-Za-z0-9_]*$');

  if (!validIdentifier.hasMatch(trimmed)) {
    throw ArgumentError.value(
      tableName,
      'tableName',
      'Must be a valid SQLite identifier containing only letters, numbers, and underscores, and must not start with a number.',
    );
  }

  return trimmed;
}