import getCountryByNationalNumber from './getCountryByNationalNumber.js' const USE_NON_GEOGRAPHIC_COUNTRY_CODE = false export default function getCountryByCallingCode(callingCode, { nationalNumber: nationalPhoneNumber, defaultCountry, metadata }) { /* istanbul ignore if */ if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) { if (metadata.isNonGeographicCallingCode(callingCode)) { return '001' } } const possibleCountries = metadata.getCountryCodesForCallingCode(callingCode) if (!possibleCountries) { return } // If there's just one country corresponding to the country code, // then just return it, without further phone number digits validation. if (possibleCountries.length === 1) { return possibleCountries[0] } return getCountryByNationalNumber(nationalPhoneNumber, { countries: possibleCountries, defaultCountry, metadata: metadata.metadata }) }