parseLegacyRef static method

Map<String, dynamic>? parseLegacyRef(
  1. String ref
)

Convert legacy ref to search parameters for backward compatibility

Implementation

static Map<String, dynamic>? parseLegacyRef(String ref) {
  if (!isLegacyRef(ref)) return null;

  final parts = ref.split('_');
  if (parts.length != 2) return null;

  final prefix = parts[0];
  final index = int.tryParse(parts[1]);
  if (index == null) return null;

  // Map old prefixes to new roles for search fallback
  String? role;
  switch (prefix) {
    case 'btn':
      role = 'button';
      break;
    case 'tf':
      role = 'input';
      break;
    case 'sw':
      role = 'toggle';
      break;
    case 'sl':
      role = 'slider';
      break;
    case 'dd':
      role = 'select';
      break;
    case 'lnk':
      role = 'link';
      break;
    case 'item':
      role = 'item';
      break;
  }

  return {
    'role': role,
    'index': index,
    'legacy': true,
  };
}