parse method
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;
}