tryParse static method
Parses phone and returns structured fields, or null if invalid.
Implementation
static Future<PhoneParseResult?> tryParse(
String phone, {
FxCountry? country,
String? region,
}) async {
final trimmed = phone.trim();
if (trimmed.isEmpty) return null;
try {
final parsed = await parse(
trimmed,
region: country?.code ?? region,
);
final fullNumber = parsed['e164'] as String?;
final formattedNumber = parsed['international'] as String?;
if (fullNumber == null || formattedNumber == null) return null;
return PhoneParseResult(
fullNumber: fullNumber,
formattedNumber: formattedNumber,
national: parsed['national'] as String?,
type: parsed['type'] as String?,
);
} catch (_) {
return null;
}
}