libphonenumber-js
Version:
A simpler (and smaller) rewrite of Google Android's libphonenumber library in javascript
32 lines (31 loc) • 1.38 kB
JavaScript
import getCountryByNationalNumber from './getCountryByNationalNumber.js';
var USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;
/**
* Returns the exact country that a given national (significant) number belongs to
* in case of ambiguity, i.e. when multiple countries share the same "country calling code".
* @param {string} [callingCode]
* @param {string} [options.nationalNumber] — National (significant) number.
* @param {Metadata} options.metadata — Metadata instance.
* @returns {string?} Returns the most suitable country for this calling code and national (significant) number.
*/
export default function getCountryByCallingCode(callingCode, _ref) {
var nationalNumber = _ref.nationalNumber,
metadata = _ref.metadata;
/* istanbul ignore if */
if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {
if (metadata.isNonGeographicCallingCode(callingCode)) {
return '001';
}
}
var 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(nationalNumber, possibleCountries, metadata.metadata);
}
//# sourceMappingURL=getCountryByCallingCode.js.map