PhoneNumber.fromCompleteNumber constructor

PhoneNumber.fromCompleteNumber({
  1. required String completeNumber,
})

Implementation

factory PhoneNumber.fromCompleteNumber({required String completeNumber}) {
  if (completeNumber == "") {
    return PhoneNumber(countryISOCode: "", countryCode: "", number: "");
  }

  try {
    final Country country = getCountry(completeNumber);
    String number;
    if (completeNumber.startsWith('+')) {
      number = completeNumber
          .substring(1 + country.dialCode.length + country.regionCode.length);
    } else {
      number = completeNumber
          .substring(country.dialCode.length + country.regionCode.length);
    }
    return PhoneNumber(
      countryISOCode: country.code,
      countryCode: country.dialCode + country.regionCode,
      number: number,
    );
  } on InvalidCharactersException {
    rethrow;
  } on Exception {
    return PhoneNumber(countryISOCode: "", countryCode: "", number: "");
  }
}