fullstack-phone
Version:
A dual-module phone number system with dynamic regional metadata
484 lines (478 loc) • 4.61 kB
TypeScript
export type RegionCode =
| 'AC'
| 'AD'
| 'AE'
| 'AF'
| 'AG'
| 'US'
| 'AI'
| 'AL'
| 'AM'
| 'AO'
| 'AR'
| 'AS'
| 'AT'
| 'AU'
| 'AW'
| 'AX'
| 'FI'
| 'AZ'
| 'BA'
| 'BB'
| 'BD'
| 'BE'
| 'BF'
| 'BG'
| 'BH'
| 'BI'
| 'BJ'
| 'BL'
| 'GP'
| 'BM'
| 'BN'
| 'BO'
| 'BQ'
| 'CW'
| 'BR'
| 'BS'
| 'BT'
| 'BW'
| 'BY'
| 'BZ'
| 'CA'
| 'CC'
| 'CD'
| 'CF'
| 'CG'
| 'CH'
| 'CI'
| 'CK'
| 'CL'
| 'CM'
| 'CN'
| 'CO'
| 'CR'
| 'CU'
| 'CV'
| 'CX'
| 'CY'
| 'CZ'
| 'DE'
| 'DJ'
| 'DK'
| 'DM'
| 'DO'
| 'DZ'
| 'EC'
| 'EE'
| 'EG'
| 'EH'
| 'MA'
| 'ER'
| 'ES'
| 'ET'
| 'FJ'
| 'FK'
| 'FM'
| 'FO'
| 'FR'
| 'GA'
| 'GB'
| 'GD'
| 'GE'
| 'GF'
| 'GG'
| 'GH'
| 'GI'
| 'GL'
| 'GM'
| 'GN'
| 'GQ'
| 'GR'
| 'GT'
| 'GU'
| 'GW'
| 'GY'
| 'HK'
| 'HN'
| 'HR'
| 'HT'
| 'HU'
| 'ID'
| 'IE'
| 'IL'
| 'IM'
| 'IN'
| 'IO'
| 'IQ'
| 'IR'
| 'IS'
| 'IT'
| 'JE'
| 'JM'
| 'JO'
| 'JP'
| 'KE'
| 'KG'
| 'KH'
| 'KI'
| 'KM'
| 'KN'
| 'KP'
| 'KR'
| 'KW'
| 'KY'
| 'KZ'
| 'RU'
| 'LA'
| 'LB'
| 'LC'
| 'LI'
| 'LK'
| 'LR'
| 'LS'
| 'LT'
| 'LU'
| 'LV'
| 'LY'
| 'MC'
| 'MD'
| 'ME'
| 'MF'
| 'MG'
| 'MH'
| 'MK'
| 'ML'
| 'MM'
| 'MN'
| 'MO'
| 'MP'
| 'MQ'
| 'MR'
| 'MS'
| 'MT'
| 'MU'
| 'MV'
| 'MW'
| 'MX'
| 'MY'
| 'MZ'
| 'NA'
| 'NC'
| 'NE'
| 'NF'
| 'NG'
| 'NI'
| 'NL'
| 'NO'
| 'NP'
| 'NR'
| 'NU'
| 'NZ'
| 'OM'
| 'PA'
| 'PE'
| 'PF'
| 'PG'
| 'PH'
| 'PK'
| 'PL'
| 'PM'
| 'PR'
| 'PS'
| 'PT'
| 'PW'
| 'PY'
| 'QA'
| 'RE'
| 'RO'
| 'RS'
| 'RW'
| 'SA'
| 'SB'
| 'SC'
| 'SD'
| 'SE'
| 'SG'
| 'SH'
| 'SI'
| 'SJ'
| 'SK'
| 'SL'
| 'SM'
| 'SN'
| 'SO'
| 'SR'
| 'SS'
| 'ST'
| 'SV'
| 'SX'
| 'SY'
| 'SZ'
| 'TA'
| 'TC'
| 'TD'
| 'TG'
| 'TH'
| 'TJ'
| 'TK'
| 'TL'
| 'TM'
| 'TN'
| 'TO'
| 'TR'
| 'TT'
| 'TV'
| 'TW'
| 'TZ'
| 'UA'
| 'UG'
| 'UY'
| 'UZ'
| 'VA'
| 'VC'
| 'VE'
| 'VG'
| 'VI'
| 'VN'
| 'VU'
| 'WF'
| 'WS'
| 'XK'
| 'YE'
| 'YT'
| 'ZA'
| 'ZM'
| 'ZW'
| 'PN'
| 'AN'
| '001';
export type CountryCallingCodeNumeric =
| 1
| 7
| 20
| 27
| 30
| 31
| 32
| 33
| 34
| 36
| 39
| 40
| 41
| 43
| 44
| 45
| 46
| 47
| 48
| 49
| 51
| 52
| 53
| 54
| 55
| 56
| 57
| 58
| 60
| 61
| 62
| 63
| 64
| 65
| 66
| 81
| 82
| 84
| 86
| 90
| 91
| 92
| 93
| 94
| 95
| 98
| 211
| 212
| 213
| 216
| 218
| 220
| 221
| 222
| 223
| 224
| 225
| 226
| 227
| 228
| 229
| 230
| 231
| 232
| 233
| 234
| 235
| 236
| 237
| 238
| 239
| 240
| 241
| 242
| 243
| 244
| 245
| 246
| 247
| 248
| 249
| 250
| 251
| 252
| 253
| 254
| 255
| 256
| 257
| 258
| 260
| 261
| 262
| 263
| 264
| 265
| 266
| 267
| 268
| 269
| 290
| 291
| 297
| 298
| 299
| 350
| 351
| 352
| 353
| 354
| 355
| 356
| 357
| 358
| 359
| 370
| 371
| 372
| 373
| 374
| 375
| 376
| 377
| 378
| 380
| 381
| 382
| 383
| 385
| 386
| 387
| 389
| 420
| 421
| 423
| 500
| 501
| 502
| 503
| 504
| 505
| 506
| 507
| 508
| 509
| 590
| 591
| 592
| 593
| 594
| 595
| 596
| 597
| 598
| 599
| 670
| 672
| 673
| 674
| 675
| 676
| 677
| 678
| 679
| 680
| 681
| 682
| 683
| 685
| 686
| 687
| 688
| 689
| 690
| 691
| 692
| 800
| 808
| 850
| 852
| 853
| 855
| 856
| 870
| 878
| 880
| 881
| 882
| 883
| 886
| 888
| 960
| 961
| 962
| 963
| 964
| 965
| 966
| 967
| 968
| 970
| 971
| 972
| 973
| 974
| 975
| 976
| 977
| 979
| 992
| 993
| 994
| 995
| 996
| 998;
export type CountryCallingCodeString = `${CountryCallingCodeNumeric}`;
export type CountryCodeToRegionCodeMap = Partial<Record<CountryCallingCodeString, Array<RegionCode>>>;
export interface Meta {
regionCodes: Array<RegionCode>;
countryCodeToRegionCodeMap: CountryCodeToRegionCodeMap;
countryToMetadata: Partial<Record<RegionCode, Array<any>>>;
}
/**
* Given array of region codes whose metadata is desired,
* Return libphonenumber metadata for those regions,
* including the necessary metadata for the main countries for each country calling code
*/
export function loadMeta(regionCodeArray?: Array<RegionCode>): Meta;