Merge remote-tracking branch 'origin/main'

# Conflicts:
#	CHANGELOG.md
#	example/lib/main.dart
#	example/pubspec.yaml
#	ios/Flutter/Generated.xcconfig
#	ios/Flutter/flutter_export_environment.sh
#	pubspec.yaml
This commit is contained in:
Nilashish Roy
2024-12-11 20:48:33 +06:00
13 changed files with 343 additions and 1138 deletions

View File

@@ -1,5 +1,6 @@
import 'package:collection/collection.dart' show IterableExtension;
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart' show kDebugMode;
import 'country_codes.dart';
import 'country_localizations.dart';
@@ -39,6 +40,15 @@ class CountryCode {
return CountryCode.fromJson(jsonCode!);
}
static CountryCode? tryFromCountryCode(String countryCode) {
try {
return CountryCode.fromCountryCode(countryCode);
} catch (e) {
if (kDebugMode) print('Failed to recognize country from countryCode: $countryCode');
return null;
}
}
factory CountryCode.fromDialCode(String dialCode) {
final Map<String, String>? jsonCode = codes.firstWhereOrNull(
(code) => code['dial_code'] == dialCode,
@@ -46,6 +56,15 @@ class CountryCode {
return CountryCode.fromJson(jsonCode!);
}
static CountryCode? tryFromDialCode(String dialCode) {
try {
return CountryCode.fromDialCode(dialCode);
} catch (e) {
if (kDebugMode) print('Failed to recognize country from dialCode: $dialCode');
return null;
}
}
CountryCode localize(BuildContext context) {
return this
..name = CountryLocalizations.of(context)?.translate(code) ?? name;

File diff suppressed because it is too large Load Diff