backend v4 half

This commit is contained in:
2025-07-18 09:20:40 +02:00
parent aba7a506ad
commit 725516ad6c
4183 changed files with 217684 additions and 75056 deletions
@@ -0,0 +1,28 @@
import Metadata from '../metadata.js'
/**
* Returns a list of countries that the phone number could potentially belong to.
* @param {string} callingCode — Calling code.
* @param {string} nationalNumber — National (significant) number.
* @param {object} metadata — Metadata.
* @return {string[]} A list of possible countries.
*/
export default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {
const _metadata = new Metadata(metadata)
let possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode)
if (!possibleCountries) {
return []
}
return possibleCountries.filter((country) => {
return couldNationalNumberBelongToCountry(nationalNumber, country, metadata)
})
}
function couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {
const _metadata = new Metadata(metadata)
_metadata.selectNumberingPlan(country)
if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {
return true
}
return false
}