You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
255 lines
3.5 KiB
255 lines
3.5 KiB
/**
|
|
* ITU-T E.164 country calling codes mapped by ISO 3166-1 alpha-2 country code.
|
|
* Ultra-lightweight (~3KB) replacement for importing the entire google-libphonenumber
|
|
* library into the critical bootstrap and I18n bundles.
|
|
*/
|
|
export const COUNTRY_CALLING_CODES: Readonly<Record<string, string>> = {
|
|
AF: "93",
|
|
AL: "355",
|
|
DZ: "213",
|
|
AS: "1",
|
|
AD: "376",
|
|
AO: "244",
|
|
AI: "1",
|
|
AG: "1",
|
|
AR: "54",
|
|
AM: "374",
|
|
AW: "297",
|
|
AU: "61",
|
|
AT: "43",
|
|
AZ: "994",
|
|
BS: "1",
|
|
BH: "973",
|
|
BD: "880",
|
|
BB: "1",
|
|
BY: "375",
|
|
BE: "32",
|
|
BZ: "501",
|
|
BJ: "229",
|
|
BM: "1",
|
|
BT: "975",
|
|
BO: "591",
|
|
BA: "387",
|
|
BW: "267",
|
|
BR: "55",
|
|
IO: "246",
|
|
VG: "1",
|
|
BN: "673",
|
|
BG: "359",
|
|
BF: "226",
|
|
BI: "257",
|
|
KH: "855",
|
|
CM: "237",
|
|
CA: "1",
|
|
CV: "238",
|
|
KY: "1",
|
|
CF: "236",
|
|
TD: "235",
|
|
CL: "56",
|
|
CN: "86",
|
|
CX: "61",
|
|
CC: "61",
|
|
CO: "57",
|
|
KM: "269",
|
|
CK: "682",
|
|
CR: "506",
|
|
HR: "385",
|
|
CU: "53",
|
|
CW: "599",
|
|
CY: "357",
|
|
CZ: "420",
|
|
CD: "243",
|
|
DK: "45",
|
|
DJ: "253",
|
|
DM: "1",
|
|
DO: "1",
|
|
EC: "593",
|
|
EG: "20",
|
|
SV: "503",
|
|
GQ: "240",
|
|
ER: "291",
|
|
EE: "372",
|
|
SZ: "268",
|
|
ET: "251",
|
|
FK: "500",
|
|
FO: "298",
|
|
FJ: "679",
|
|
FI: "358",
|
|
FR: "33",
|
|
GF: "594",
|
|
PF: "689",
|
|
GA: "241",
|
|
GM: "220",
|
|
GE: "995",
|
|
DE: "49",
|
|
GH: "233",
|
|
GI: "350",
|
|
GR: "30",
|
|
GL: "299",
|
|
GD: "1",
|
|
GP: "590",
|
|
GU: "1",
|
|
GT: "502",
|
|
GG: "44",
|
|
GN: "224",
|
|
GW: "245",
|
|
GY: "592",
|
|
HT: "509",
|
|
HN: "504",
|
|
HK: "852",
|
|
HU: "36",
|
|
IS: "354",
|
|
IN: "91",
|
|
ID: "62",
|
|
IR: "98",
|
|
IQ: "964",
|
|
IE: "353",
|
|
IM: "44",
|
|
IL: "972",
|
|
IT: "39",
|
|
CI: "225",
|
|
JM: "1",
|
|
JP: "81",
|
|
JE: "44",
|
|
JO: "962",
|
|
KZ: "7",
|
|
KE: "254",
|
|
KI: "686",
|
|
XK: "383",
|
|
KW: "965",
|
|
KG: "996",
|
|
LA: "856",
|
|
LV: "371",
|
|
LB: "961",
|
|
LS: "266",
|
|
LR: "231",
|
|
LY: "218",
|
|
LI: "423",
|
|
LT: "370",
|
|
LU: "352",
|
|
MO: "853",
|
|
MG: "261",
|
|
MW: "265",
|
|
MY: "60",
|
|
MV: "960",
|
|
ML: "223",
|
|
MT: "356",
|
|
MH: "692",
|
|
MQ: "596",
|
|
MR: "222",
|
|
MU: "230",
|
|
YT: "262",
|
|
MX: "52",
|
|
FM: "691",
|
|
MD: "373",
|
|
MC: "377",
|
|
MN: "976",
|
|
ME: "382",
|
|
MS: "1",
|
|
MA: "212",
|
|
MZ: "258",
|
|
MM: "95",
|
|
NA: "264",
|
|
NR: "674",
|
|
NP: "977",
|
|
NL: "31",
|
|
NC: "687",
|
|
NZ: "64",
|
|
NI: "505",
|
|
NE: "227",
|
|
NG: "234",
|
|
NU: "683",
|
|
NF: "672",
|
|
KP: "850",
|
|
MK: "389",
|
|
MP: "1",
|
|
NO: "47",
|
|
OM: "968",
|
|
PK: "92",
|
|
PW: "680",
|
|
PS: "970",
|
|
PA: "507",
|
|
PG: "675",
|
|
PY: "595",
|
|
PE: "51",
|
|
PH: "63",
|
|
PL: "48",
|
|
PT: "351",
|
|
PR: "1",
|
|
QA: "974",
|
|
CG: "242",
|
|
RE: "262",
|
|
RO: "40",
|
|
RU: "7",
|
|
RW: "250",
|
|
BL: "590",
|
|
SH: "290",
|
|
KN: "1",
|
|
LC: "1",
|
|
MF: "590",
|
|
PM: "508",
|
|
VC: "1",
|
|
WS: "685",
|
|
SM: "378",
|
|
ST: "239",
|
|
SA: "966",
|
|
SN: "221",
|
|
RS: "381",
|
|
SC: "248",
|
|
SL: "232",
|
|
SG: "65",
|
|
SX: "1",
|
|
SK: "421",
|
|
SI: "386",
|
|
SB: "677",
|
|
SO: "252",
|
|
ZA: "27",
|
|
KR: "82",
|
|
SS: "211",
|
|
ES: "34",
|
|
LK: "94",
|
|
SD: "249",
|
|
SR: "597",
|
|
SE: "46",
|
|
CH: "41",
|
|
SY: "963",
|
|
TW: "886",
|
|
TJ: "992",
|
|
TZ: "255",
|
|
TH: "66",
|
|
TL: "670",
|
|
TG: "228",
|
|
TK: "690",
|
|
TO: "676",
|
|
TT: "1",
|
|
TN: "216",
|
|
TR: "90",
|
|
TM: "993",
|
|
TC: "1",
|
|
TV: "688",
|
|
UG: "256",
|
|
UA: "380",
|
|
AE: "971",
|
|
GB: "44",
|
|
US: "1",
|
|
UY: "598",
|
|
UZ: "998",
|
|
VU: "678",
|
|
VA: "379",
|
|
VE: "58",
|
|
VN: "84",
|
|
VI: "1",
|
|
WF: "681",
|
|
EH: "212",
|
|
YE: "967",
|
|
ZM: "260",
|
|
ZW: "263",
|
|
};
|
|
|
|
export function getCallingCodeForCountry(
|
|
isoCode?: string | null,
|
|
): string | undefined {
|
|
if (!isoCode) return undefined;
|
|
const upper = isoCode.trim().toUpperCase();
|
|
return COUNTRY_CALLING_CODES[upper];
|
|
}
|