parse method

ParsedQRData? parse(
  1. String data
)

Parse QR code data from string

Implementation

ParsedQRData? parse(String data) {
  if (data.isEmpty) return null;

  final trimmed = data.trim();

  // Try to parse as JSON
  if (trimmed.startsWith('{')) {
    try {
      final json = jsonDecode(trimmed);
      return ParsedQRData.fromJson(json);
    } catch (e) {
      // Not valid JSON, continue with other formats
    }
  }

  // Try to parse as URL
  if (trimmed.startsWith('http://') || trimmed.startsWith('https://')) {
    return _parseUrl(trimmed);
  }

  // Try to parse as custom URI
  if (trimmed.startsWith('cldf://')) {
    return _parseUri(trimmed);
  }

  return null;
}