headless-countries 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +155 -0
- package/dist/index.d.mts +97 -0
- package/dist/index.d.ts +97 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +1 -0
- package/package.json +27 -0
- package/src/index.ts +410 -0
- package/tsconfig.json +22 -0
- package/tsup.config.ts +9 -0
package/README.md
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# headless-countries 🌍
|
|
2
|
+
|
|
3
|
+
A massive, lightweight, headless utility package providing comprehensive data for all 247 recognized world countries and territories.
|
|
4
|
+
|
|
5
|
+
Build anything from dynamic country selectors, currency pickers, and language filters, to complete phone number validation and masking systems.
|
|
6
|
+
|
|
7
|
+
**Zero UI dependencies.** You bring your own UI (React, Vue, Svelte, Vanilla JS, etc.) and use this data to power your apps.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install headless-countries
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 🚀 Key Features
|
|
16
|
+
|
|
17
|
+
### 🌎 Universal Country Data
|
|
18
|
+
Data for **247 ISO 3166-1** countries and territories, including:
|
|
19
|
+
- **`name`**: Full country name (e.g. `Japan`)
|
|
20
|
+
- **`code`**: ISO alpha-2 country code (e.g. `JP`)
|
|
21
|
+
- **`flag`**: Native emoji flag (e.g. 🇯🇵)
|
|
22
|
+
- **`continent`**: Continent abbreviation (e.g. `AS` for Asia)
|
|
23
|
+
- **`capital`**: Capital city (e.g. `Tokyo`)
|
|
24
|
+
- **`currency`**: Primary 3-letter currency code (e.g. `JPY`)
|
|
25
|
+
- **`languages`**: Array of spoken languages (e.g. `['ja']`)
|
|
26
|
+
|
|
27
|
+
### 📱 Phone Number Utilities
|
|
28
|
+
- **`dial`**: International dial code (e.g. `+81`)
|
|
29
|
+
- **`digits`**: Expected number of digits for local numbers
|
|
30
|
+
- **`format`**: Localized visual format (e.g. `## #### ####`)
|
|
31
|
+
- **`formatPhone()`**: Maps raw digits to a country's localized format.
|
|
32
|
+
- **`validatePhone()`**: Checks if a given input has the exact required digits.
|
|
33
|
+
- **`guessCountryByNumber()`**: Detect the country dynamically from a full phone number.
|
|
34
|
+
- **`formatAsE164()`**: Convert local numbers into E.164 standard format for API submissions.
|
|
35
|
+
- **`getMaskArray()`**: Generate regex array masks out-of-the-box (ideal for `react-text-mask`).
|
|
36
|
+
|
|
37
|
+
### 🔍 Advanced Filtering & Search
|
|
38
|
+
- **`searchCountries(query)`**: Search across names, ISO codes, and dial codes.
|
|
39
|
+
- **`getCountriesByContinent(continent)`**: Filter by continent.
|
|
40
|
+
- **`getCountriesByCurrency(currency)`**: Find all countries using a specific currency.
|
|
41
|
+
- **`getCountriesByLanguage(language)`**: Find all countries that speak a specific language.
|
|
42
|
+
- **`getAllCurrencies()`, `getAllLanguages()`, `getAllContinents()`**: Get unique sets for building dropdown filters.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 💻 Usage & Examples
|
|
47
|
+
|
|
48
|
+
### 1. Basic Country Data
|
|
49
|
+
```typescript
|
|
50
|
+
import { COUNTRIES, getCountryByCode } from 'headless-countries';
|
|
51
|
+
|
|
52
|
+
console.log(getCountryByCode('AF'));
|
|
53
|
+
/*
|
|
54
|
+
{
|
|
55
|
+
code: 'AF',
|
|
56
|
+
name: 'Afghanistan',
|
|
57
|
+
dial: '+93',
|
|
58
|
+
flag: '🇦🇫',
|
|
59
|
+
digits: 9,
|
|
60
|
+
format: '## ### ####',
|
|
61
|
+
continent: 'AS',
|
|
62
|
+
capital: 'Kabul',
|
|
63
|
+
currency: 'AFN',
|
|
64
|
+
languages: ['ps', 'uz', 'tk']
|
|
65
|
+
}
|
|
66
|
+
*/
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 2. Geographical Filtering
|
|
70
|
+
Perfect for building contextual forms.
|
|
71
|
+
```typescript
|
|
72
|
+
import {
|
|
73
|
+
getCountriesByContinent,
|
|
74
|
+
getCountriesByCurrency,
|
|
75
|
+
getCountriesByLanguage
|
|
76
|
+
} from 'headless-countries';
|
|
77
|
+
|
|
78
|
+
// Get all countries in Europe
|
|
79
|
+
const europeanCountries = getCountriesByContinent('EU');
|
|
80
|
+
|
|
81
|
+
// Find who uses the Euro
|
|
82
|
+
const euroZone = getCountriesByCurrency('EUR');
|
|
83
|
+
|
|
84
|
+
// Find all English speaking countries
|
|
85
|
+
const englishSpeaking = getCountriesByLanguage('en');
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 3. Phone Number Processing
|
|
89
|
+
Build a world-class phone input.
|
|
90
|
+
```typescript
|
|
91
|
+
import {
|
|
92
|
+
formatPhone,
|
|
93
|
+
validatePhone,
|
|
94
|
+
guessCountryByNumber,
|
|
95
|
+
formatAsE164,
|
|
96
|
+
getCountryByCode,
|
|
97
|
+
getMaskArray
|
|
98
|
+
} from 'headless-countries';
|
|
99
|
+
|
|
100
|
+
const country = getCountryByCode('IN'); // India
|
|
101
|
+
|
|
102
|
+
// Format a raw string
|
|
103
|
+
console.log(formatPhone('9876543210', country.format)); // "98765 43210"
|
|
104
|
+
|
|
105
|
+
// Validate length
|
|
106
|
+
console.log(validatePhone('123', country)); // false
|
|
107
|
+
|
|
108
|
+
// Convert to E.164 for your database (e.g. +919876543210)
|
|
109
|
+
console.log(formatAsE164('9876543210', country));
|
|
110
|
+
|
|
111
|
+
// Auto-detect a country from user input
|
|
112
|
+
const detected = guessCountryByNumber('+12125550198');
|
|
113
|
+
console.log(detected.name); // "United States"
|
|
114
|
+
|
|
115
|
+
// Generate a mask for input masking libraries
|
|
116
|
+
console.log(getMaskArray(country.format));
|
|
117
|
+
// [/\d/, /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, /\d/]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 4. Search and Dropdown Helpers
|
|
121
|
+
```typescript
|
|
122
|
+
import {
|
|
123
|
+
searchCountries,
|
|
124
|
+
getAllCurrencies,
|
|
125
|
+
getAllLanguages
|
|
126
|
+
} from 'headless-countries';
|
|
127
|
+
|
|
128
|
+
// Fuzzy search (matches name, code, dial)
|
|
129
|
+
const searchResults = searchCountries('united');
|
|
130
|
+
// Returns: UAE, United Kingdom, United States, etc.
|
|
131
|
+
|
|
132
|
+
// Get arrays of all unique global values for your `<select>` elements
|
|
133
|
+
const currencies = getAllCurrencies(); // ['AED', 'AFN', 'ALL', 'AMD', ...]
|
|
134
|
+
const languages = getAllLanguages(); // ['aa', 'ab', 'ae', 'af', 'ak', ...]
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## 🛡️ Types
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
export interface CountryData {
|
|
141
|
+
code: string;
|
|
142
|
+
name: string;
|
|
143
|
+
dial: string;
|
|
144
|
+
flag: string;
|
|
145
|
+
digits: number;
|
|
146
|
+
format: string;
|
|
147
|
+
continent?: string;
|
|
148
|
+
capital?: string;
|
|
149
|
+
currency?: string;
|
|
150
|
+
languages?: string[];
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## 📄 License
|
|
155
|
+
MIT License. Free for personal and commercial use.
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
interface CountryData {
|
|
2
|
+
code: string;
|
|
3
|
+
name: string;
|
|
4
|
+
dial: string;
|
|
5
|
+
flag: string;
|
|
6
|
+
digits: number;
|
|
7
|
+
format: string;
|
|
8
|
+
continent?: string;
|
|
9
|
+
capital?: string;
|
|
10
|
+
currency?: string;
|
|
11
|
+
languages?: string[];
|
|
12
|
+
}
|
|
13
|
+
declare const COUNTRIES: CountryData[];
|
|
14
|
+
/**
|
|
15
|
+
* Format a raw phone number string based on a specific country format template.
|
|
16
|
+
* @param value The raw string containing numbers
|
|
17
|
+
* @param format The format string where "#" represents a digit (e.g. "## ### ####")
|
|
18
|
+
* @returns The formatted phone number string
|
|
19
|
+
*/
|
|
20
|
+
declare function formatPhone(value: string, format: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Validates a phone number based on the expected number of digits for a given country.
|
|
23
|
+
* @param phone The input phone string
|
|
24
|
+
* @param country The CountryData object
|
|
25
|
+
* @returns True if the number of digits matches the expected digits for the country
|
|
26
|
+
*/
|
|
27
|
+
declare function validatePhone(phone: string, country: CountryData): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Helper to get a CountryData object by its 2-letter ISO code.
|
|
30
|
+
* @param code The 2-letter ISO country code (e.g. "IN", "US")
|
|
31
|
+
* @returns The matching CountryData or undefined
|
|
32
|
+
*/
|
|
33
|
+
declare function getCountryByCode(code: string): CountryData | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Tries to guess the country based on the dial code present in a full phone number.
|
|
36
|
+
* Note: Some dial codes are shared (e.g. +1 for US/Canada). This returns the first match,
|
|
37
|
+
* usually the primary country for that dial code.
|
|
38
|
+
* @param phone The raw phone string starting with a country code (e.g. "+919876543210")
|
|
39
|
+
* @returns The guessed CountryData or undefined
|
|
40
|
+
*/
|
|
41
|
+
declare function guessCountryByNumber(phone: string): CountryData | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Formats a local phone number into the international E.164 standard format.
|
|
44
|
+
* @param phone The local phone number (e.g. "9876543210")
|
|
45
|
+
* @param country The CountryData object
|
|
46
|
+
* @returns The E.164 formatted string (e.g. "+919876543210")
|
|
47
|
+
*/
|
|
48
|
+
declare function formatAsE164(phone: string, country: CountryData): string;
|
|
49
|
+
/**
|
|
50
|
+
* Searches for countries by name, iso code, or dial code.
|
|
51
|
+
* Perfect for building dropdown filtering and search bars.
|
|
52
|
+
* @param query The search query string
|
|
53
|
+
* @returns Array of matching CountryData objects
|
|
54
|
+
*/
|
|
55
|
+
declare function searchCountries(query: string): CountryData[];
|
|
56
|
+
/**
|
|
57
|
+
* Generates an array mask based on the country's format.
|
|
58
|
+
* Useful for integrating with masked input libraries (like react-text-mask).
|
|
59
|
+
* @param format The country's format string (e.g. "## ### ####")
|
|
60
|
+
* @returns Array of strings and RegExps (e.g. [/\d/, /\d/, ' ', /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/])
|
|
61
|
+
*/
|
|
62
|
+
declare function getMaskArray(format: string): Array<string | RegExp>;
|
|
63
|
+
/**
|
|
64
|
+
* Returns all countries belonging to a specific continent.
|
|
65
|
+
* @param continent The continent code (e.g., 'AS', 'EU', 'AF', 'NA', 'SA', 'OC', 'AN')
|
|
66
|
+
* @returns Array of CountryData objects
|
|
67
|
+
*/
|
|
68
|
+
declare function getCountriesByContinent(continent: string): CountryData[];
|
|
69
|
+
/**
|
|
70
|
+
* Returns all countries that use a specific currency.
|
|
71
|
+
* @param currency The 3-letter currency code (e.g., 'USD', 'EUR', 'INR')
|
|
72
|
+
* @returns Array of CountryData objects
|
|
73
|
+
*/
|
|
74
|
+
declare function getCountriesByCurrency(currency: string): CountryData[];
|
|
75
|
+
/**
|
|
76
|
+
* Returns all countries that speak a specific language.
|
|
77
|
+
* @param language The 2-letter language code (e.g., 'en', 'es', 'fr')
|
|
78
|
+
* @returns Array of CountryData objects
|
|
79
|
+
*/
|
|
80
|
+
declare function getCountriesByLanguage(language: string): CountryData[];
|
|
81
|
+
/**
|
|
82
|
+
* Returns a unique list of all currencies used globally.
|
|
83
|
+
* @returns Array of unique currency strings (e.g., 'USD', 'EUR')
|
|
84
|
+
*/
|
|
85
|
+
declare function getAllCurrencies(): string[];
|
|
86
|
+
/**
|
|
87
|
+
* Returns a unique list of all languages spoken globally.
|
|
88
|
+
* @returns Array of unique language strings (e.g., 'en', 'es')
|
|
89
|
+
*/
|
|
90
|
+
declare function getAllLanguages(): string[];
|
|
91
|
+
/**
|
|
92
|
+
* Returns a unique list of all continents.
|
|
93
|
+
* @returns Array of unique continent strings
|
|
94
|
+
*/
|
|
95
|
+
declare function getAllContinents(): string[];
|
|
96
|
+
|
|
97
|
+
export { COUNTRIES, type CountryData, formatAsE164, formatPhone, getAllContinents, getAllCurrencies, getAllLanguages, getCountriesByContinent, getCountriesByCurrency, getCountriesByLanguage, getCountryByCode, getMaskArray, guessCountryByNumber, searchCountries, validatePhone };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
interface CountryData {
|
|
2
|
+
code: string;
|
|
3
|
+
name: string;
|
|
4
|
+
dial: string;
|
|
5
|
+
flag: string;
|
|
6
|
+
digits: number;
|
|
7
|
+
format: string;
|
|
8
|
+
continent?: string;
|
|
9
|
+
capital?: string;
|
|
10
|
+
currency?: string;
|
|
11
|
+
languages?: string[];
|
|
12
|
+
}
|
|
13
|
+
declare const COUNTRIES: CountryData[];
|
|
14
|
+
/**
|
|
15
|
+
* Format a raw phone number string based on a specific country format template.
|
|
16
|
+
* @param value The raw string containing numbers
|
|
17
|
+
* @param format The format string where "#" represents a digit (e.g. "## ### ####")
|
|
18
|
+
* @returns The formatted phone number string
|
|
19
|
+
*/
|
|
20
|
+
declare function formatPhone(value: string, format: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Validates a phone number based on the expected number of digits for a given country.
|
|
23
|
+
* @param phone The input phone string
|
|
24
|
+
* @param country The CountryData object
|
|
25
|
+
* @returns True if the number of digits matches the expected digits for the country
|
|
26
|
+
*/
|
|
27
|
+
declare function validatePhone(phone: string, country: CountryData): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Helper to get a CountryData object by its 2-letter ISO code.
|
|
30
|
+
* @param code The 2-letter ISO country code (e.g. "IN", "US")
|
|
31
|
+
* @returns The matching CountryData or undefined
|
|
32
|
+
*/
|
|
33
|
+
declare function getCountryByCode(code: string): CountryData | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Tries to guess the country based on the dial code present in a full phone number.
|
|
36
|
+
* Note: Some dial codes are shared (e.g. +1 for US/Canada). This returns the first match,
|
|
37
|
+
* usually the primary country for that dial code.
|
|
38
|
+
* @param phone The raw phone string starting with a country code (e.g. "+919876543210")
|
|
39
|
+
* @returns The guessed CountryData or undefined
|
|
40
|
+
*/
|
|
41
|
+
declare function guessCountryByNumber(phone: string): CountryData | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Formats a local phone number into the international E.164 standard format.
|
|
44
|
+
* @param phone The local phone number (e.g. "9876543210")
|
|
45
|
+
* @param country The CountryData object
|
|
46
|
+
* @returns The E.164 formatted string (e.g. "+919876543210")
|
|
47
|
+
*/
|
|
48
|
+
declare function formatAsE164(phone: string, country: CountryData): string;
|
|
49
|
+
/**
|
|
50
|
+
* Searches for countries by name, iso code, or dial code.
|
|
51
|
+
* Perfect for building dropdown filtering and search bars.
|
|
52
|
+
* @param query The search query string
|
|
53
|
+
* @returns Array of matching CountryData objects
|
|
54
|
+
*/
|
|
55
|
+
declare function searchCountries(query: string): CountryData[];
|
|
56
|
+
/**
|
|
57
|
+
* Generates an array mask based on the country's format.
|
|
58
|
+
* Useful for integrating with masked input libraries (like react-text-mask).
|
|
59
|
+
* @param format The country's format string (e.g. "## ### ####")
|
|
60
|
+
* @returns Array of strings and RegExps (e.g. [/\d/, /\d/, ' ', /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/])
|
|
61
|
+
*/
|
|
62
|
+
declare function getMaskArray(format: string): Array<string | RegExp>;
|
|
63
|
+
/**
|
|
64
|
+
* Returns all countries belonging to a specific continent.
|
|
65
|
+
* @param continent The continent code (e.g., 'AS', 'EU', 'AF', 'NA', 'SA', 'OC', 'AN')
|
|
66
|
+
* @returns Array of CountryData objects
|
|
67
|
+
*/
|
|
68
|
+
declare function getCountriesByContinent(continent: string): CountryData[];
|
|
69
|
+
/**
|
|
70
|
+
* Returns all countries that use a specific currency.
|
|
71
|
+
* @param currency The 3-letter currency code (e.g., 'USD', 'EUR', 'INR')
|
|
72
|
+
* @returns Array of CountryData objects
|
|
73
|
+
*/
|
|
74
|
+
declare function getCountriesByCurrency(currency: string): CountryData[];
|
|
75
|
+
/**
|
|
76
|
+
* Returns all countries that speak a specific language.
|
|
77
|
+
* @param language The 2-letter language code (e.g., 'en', 'es', 'fr')
|
|
78
|
+
* @returns Array of CountryData objects
|
|
79
|
+
*/
|
|
80
|
+
declare function getCountriesByLanguage(language: string): CountryData[];
|
|
81
|
+
/**
|
|
82
|
+
* Returns a unique list of all currencies used globally.
|
|
83
|
+
* @returns Array of unique currency strings (e.g., 'USD', 'EUR')
|
|
84
|
+
*/
|
|
85
|
+
declare function getAllCurrencies(): string[];
|
|
86
|
+
/**
|
|
87
|
+
* Returns a unique list of all languages spoken globally.
|
|
88
|
+
* @returns Array of unique language strings (e.g., 'en', 'es')
|
|
89
|
+
*/
|
|
90
|
+
declare function getAllLanguages(): string[];
|
|
91
|
+
/**
|
|
92
|
+
* Returns a unique list of all continents.
|
|
93
|
+
* @returns Array of unique continent strings
|
|
94
|
+
*/
|
|
95
|
+
declare function getAllContinents(): string[];
|
|
96
|
+
|
|
97
|
+
export { COUNTRIES, type CountryData, formatAsE164, formatPhone, getAllContinents, getAllCurrencies, getAllLanguages, getCountriesByContinent, getCountriesByCurrency, getCountriesByLanguage, getCountryByCode, getMaskArray, guessCountryByNumber, searchCountries, validatePhone };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var l=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var s=(n,a)=>{for(var e in a)l(n,e,{get:a[e],enumerable:!0})},u=(n,a,e,c)=>{if(a&&typeof a=="object"||typeof a=="function")for(let t of o(a))!d.call(n,t)&&t!==e&&l(n,t,{get:()=>a[t],enumerable:!(c=g(a,t))||c.enumerable});return n};var m=n=>u(l({},"__esModule",{value:!0}),n);var R={};s(R,{COUNTRIES:()=>i,formatAsE164:()=>S,formatPhone:()=>f,getAllContinents:()=>B,getAllCurrencies:()=>M,getAllLanguages:()=>F,getCountriesByContinent:()=>E,getCountriesByCurrency:()=>D,getCountriesByLanguage:()=>N,getCountryByCode:()=>p,getMaskArray:()=>U,guessCountryByNumber:()=>A,searchCountries:()=>C,validatePhone:()=>y});module.exports=m(R);var i=[{code:"AF",name:"Afghanistan",dial:"+93",flag:"\u{1F1E6}\u{1F1EB}",digits:9,format:"## ### ####",continent:"AS",capital:"Kabul",currency:"AFN",languages:["ps","fa","uz","tk"]},{code:"AL",name:"Albania",dial:"+355",flag:"\u{1F1E6}\u{1F1F1}",digits:9,format:"## ### ####",continent:"EU",capital:"Tirana",currency:"ALL",languages:["sq"]},{code:"DZ",name:"Algeria",dial:"+213",flag:"\u{1F1E9}\u{1F1FF}",digits:9,format:"### ## ## ##",continent:"AF",capital:"Algiers",currency:"DZD",languages:["ar"]},{code:"AS",name:"American Samoa",dial:"+1684",flag:"\u{1F1E6}\u{1F1F8}",digits:7,format:"### ####",continent:"OC",capital:"Pago Pago",currency:"USD",languages:["en","sm"]},{code:"AD",name:"Andorra",dial:"+376",flag:"\u{1F1E6}\u{1F1E9}",digits:6,format:"### ###",continent:"EU",capital:"Andorra la Vella",currency:"EUR",languages:["ca"]},{code:"AO",name:"Angola",dial:"+244",flag:"\u{1F1E6}\u{1F1F4}",digits:9,format:"### ### ###",continent:"AF",capital:"Luanda",currency:"AOA",languages:["pt"]},{code:"AI",name:"Anguilla",dial:"+1264",flag:"\u{1F1E6}\u{1F1EE}",digits:7,format:"### ####",continent:"NA",capital:"The Valley",currency:"XCD",languages:["en"]},{code:"AG",name:"Antigua & Barbuda",dial:"+1268",flag:"\u{1F1E6}\u{1F1EC}",digits:7,format:"### ####",continent:"NA",capital:"Saint John's",currency:"XCD",languages:["en"]},{code:"AR",name:"Argentina",dial:"+54",flag:"\u{1F1E6}\u{1F1F7}",digits:10,format:"## #### ####",continent:"SA",capital:"Buenos Aires",currency:"ARS",languages:["es","gn"]},{code:"AM",name:"Armenia",dial:"+374",flag:"\u{1F1E6}\u{1F1F2}",digits:8,format:"## ######",continent:"AS",capital:"Yerevan",currency:"AMD",languages:["hy","ru"]},{code:"AW",name:"Aruba",dial:"+297",flag:"\u{1F1E6}\u{1F1FC}",digits:7,format:"### ####",continent:"NA",capital:"Oranjestad",currency:"AWG",languages:["nl","pa"]},{code:"AU",name:"Australia",dial:"+61",flag:"\u{1F1E6}\u{1F1FA}",digits:9,format:"### ### ###",continent:"OC",capital:"Canberra",currency:"AUD",languages:["en"]},{code:"AT",name:"Austria",dial:"+43",flag:"\u{1F1E6}\u{1F1F9}",digits:10,format:"### ### ####",continent:"EU",capital:"Vienna",currency:"EUR",languages:["de"]},{code:"AZ",name:"Azerbaijan",dial:"+994",flag:"\u{1F1E6}\u{1F1FF}",digits:9,format:"## ### ## ##",continent:"AS",capital:"Baku",currency:"AZN",languages:["az"]},{code:"BS",name:"Bahamas",dial:"+1242",flag:"\u{1F1E7}\u{1F1F8}",digits:7,format:"### ####",continent:"NA",capital:"Nassau",currency:"BSD",languages:["en"]},{code:"BH",name:"Bahrain",dial:"+973",flag:"\u{1F1E7}\u{1F1ED}",digits:8,format:"#### ####",continent:"AS",capital:"Manama",currency:"BHD",languages:["ar"]},{code:"BD",name:"Bangladesh",dial:"+880",flag:"\u{1F1E7}\u{1F1E9}",digits:10,format:"#### ######",continent:"AS",capital:"Dhaka",currency:"BDT",languages:["bn"]},{code:"BB",name:"Barbados",dial:"+1246",flag:"\u{1F1E7}\u{1F1E7}",digits:7,format:"### ####",continent:"NA",capital:"Bridgetown",currency:"BBD",languages:["en"]},{code:"BY",name:"Belarus",dial:"+375",flag:"\u{1F1E7}\u{1F1FE}",digits:9,format:"## ###-##-##",continent:"EU",capital:"Minsk",currency:"BYN",languages:["be","ru"]},{code:"BE",name:"Belgium",dial:"+32",flag:"\u{1F1E7}\u{1F1EA}",digits:9,format:"### ## ## ##",continent:"EU",capital:"Brussels",currency:"EUR",languages:["nl","fr","de"]},{code:"BZ",name:"Belize",dial:"+501",flag:"\u{1F1E7}\u{1F1FF}",digits:7,format:"### ####",continent:"NA",capital:"Belmopan",currency:"BZD",languages:["en","es"]},{code:"BJ",name:"Benin",dial:"+229",flag:"\u{1F1E7}\u{1F1EF}",digits:8,format:"## ## ## ##",continent:"AF",capital:"Porto-Novo",currency:"XOF",languages:["fr"]},{code:"BM",name:"Bermuda",dial:"+1441",flag:"\u{1F1E7}\u{1F1F2}",digits:7,format:"### ####",continent:"NA",capital:"Hamilton",currency:"BMD",languages:["en"]},{code:"BT",name:"Bhutan",dial:"+975",flag:"\u{1F1E7}\u{1F1F9}",digits:8,format:"## ## ## ##",continent:"AS",capital:"Thimphu",currency:"BTN",languages:["dz"]},{code:"BO",name:"Bolivia",dial:"+591",flag:"\u{1F1E7}\u{1F1F4}",digits:8,format:"#### ####",continent:"SA",capital:"Sucre",currency:"BOB",languages:["es","ay","qu"]},{code:"BA",name:"Bosnia & Herzegovina",dial:"+387",flag:"\u{1F1E7}\u{1F1E6}",digits:8,format:"## ### ###",continent:"EU",capital:"Sarajevo",currency:"BAM",languages:["bs","hr","sr"]},{code:"BW",name:"Botswana",dial:"+267",flag:"\u{1F1E7}\u{1F1FC}",digits:7,format:"## ### ##",continent:"AF",capital:"Gaborone",currency:"BWP",languages:["en","tn"]},{code:"BR",name:"Brazil",dial:"+55",flag:"\u{1F1E7}\u{1F1F7}",digits:11,format:"## ##### ####",continent:"SA",capital:"Bras\xEDlia",currency:"BRL",languages:["pt"]},{code:"IO",name:"British Indian Ocean Territory",dial:"+246",flag:"\u{1F1EE}\u{1F1F4}",digits:7,format:"### ####",continent:"AS",capital:"Diego Garcia",currency:"USD",languages:["en"]},{code:"VG",name:"British Virgin Islands",dial:"+1284",flag:"\u{1F1FB}\u{1F1EC}",digits:7,format:"### ####",continent:"NA",capital:"Road Town",currency:"USD",languages:["en"]},{code:"BN",name:"Brunei",dial:"+673",flag:"\u{1F1E7}\u{1F1F3}",digits:7,format:"### ####",continent:"AS",capital:"Bandar Seri Begawan",currency:"BND",languages:["ms"]},{code:"BG",name:"Bulgaria",dial:"+359",flag:"\u{1F1E7}\u{1F1EC}",digits:9,format:"### ### ###",continent:"EU",capital:"Sofia",currency:"EUR",languages:["bg"]},{code:"BF",name:"Burkina Faso",dial:"+226",flag:"\u{1F1E7}\u{1F1EB}",digits:8,format:"## ## ## ##",continent:"AF",capital:"Ouagadougou",currency:"XOF",languages:["fr","ff"]},{code:"BI",name:"Burundi",dial:"+257",flag:"\u{1F1E7}\u{1F1EE}",digits:8,format:"## ## ## ##",continent:"AF",capital:"Gitega",currency:"BIF",languages:["fr","rn"]},{code:"CV",name:"Cabo Verde",dial:"+238",flag:"\u{1F1E8}\u{1F1FB}",digits:7,format:"### ## ##",continent:"AF",capital:"Praia",currency:"CVE",languages:["pt"]},{code:"KH",name:"Cambodia",dial:"+855",flag:"\u{1F1F0}\u{1F1ED}",digits:9,format:"## ### ####",continent:"AS",capital:"Phnom Penh",currency:"KHR",languages:["km"]},{code:"CM",name:"Cameroon",dial:"+237",flag:"\u{1F1E8}\u{1F1F2}",digits:9,format:"#### #####",continent:"AF",capital:"Yaound\xE9",currency:"XAF",languages:["en","fr"]},{code:"CA",name:"Canada",dial:"+1",flag:"\u{1F1E8}\u{1F1E6}",digits:10,format:"### ### ####",continent:"NA",capital:"Ottawa",currency:"CAD",languages:["en","fr"]},{code:"KY",name:"Cayman Islands",dial:"+1345",flag:"\u{1F1F0}\u{1F1FE}",digits:7,format:"### ####",continent:"NA",capital:"George Town",currency:"KYD",languages:["en"]},{code:"CF",name:"Central African Republic",dial:"+236",flag:"\u{1F1E8}\u{1F1EB}",digits:8,format:"## ## ## ##",continent:"AF",capital:"Bangui",currency:"XAF",languages:["fr","sg"]},{code:"TD",name:"Chad",dial:"+235",flag:"\u{1F1F9}\u{1F1E9}",digits:8,format:"## ## ## ##",continent:"AF",capital:"N'Djamena",currency:"XAF",languages:["fr","ar"]},{code:"CL",name:"Chile",dial:"+56",flag:"\u{1F1E8}\u{1F1F1}",digits:9,format:"# #### ####",continent:"SA",capital:"Santiago",currency:"CLP",languages:["es"]},{code:"CN",name:"China",dial:"+86",flag:"\u{1F1E8}\u{1F1F3}",digits:11,format:"### #### ####",continent:"AS",capital:"Beijing",currency:"CNY",languages:["zh"]},{code:"CX",name:"Christmas Island",dial:"+61",flag:"\u{1F1E8}\u{1F1FD}",digits:9,format:"### ### ###",continent:"AS",capital:"Flying Fish Cove",currency:"AUD",languages:["en"]},{code:"CC",name:"Cocos (Keeling) Islands",dial:"+61",flag:"\u{1F1E8}\u{1F1E8}",digits:9,format:"### ### ###",continent:"AS",capital:"West Island",currency:"AUD",languages:["en"]},{code:"CO",name:"Colombia",dial:"+57",flag:"\u{1F1E8}\u{1F1F4}",digits:10,format:"### ### ####",continent:"SA",capital:"Bogot\xE1",currency:"COP",languages:["es"]},{code:"KM",name:"Comoros",dial:"+269",flag:"\u{1F1F0}\u{1F1F2}",digits:7,format:"### ## ##",continent:"AF",capital:"Moroni",currency:"KMF",languages:["ar","fr"]},{code:"CG",name:"Congo",dial:"+242",flag:"\u{1F1E8}\u{1F1EC}",digits:9,format:"## ### ####",continent:"AF",capital:"Brazzaville",currency:"XAF",languages:["fr","ln"]},{code:"CD",name:"Congo (DRC)",dial:"+243",flag:"\u{1F1E8}\u{1F1E9}",digits:9,format:"### ### ###",continent:"AF",capital:"Kinshasa",currency:"CDF",languages:["fr","ln","kg","sw","lu"]},{code:"CK",name:"Cook Islands",dial:"+682",flag:"\u{1F1E8}\u{1F1F0}",digits:5,format:"#####",continent:"OC",capital:"Avarua",currency:"NZD",languages:["en"]},{code:"CR",name:"Costa Rica",dial:"+506",flag:"\u{1F1E8}\u{1F1F7}",digits:8,format:"#### ####",continent:"NA",capital:"San Jos\xE9",currency:"CRC",languages:["es"]},{code:"HR",name:"Croatia",dial:"+385",flag:"\u{1F1ED}\u{1F1F7}",digits:9,format:"## ### ####",continent:"EU",capital:"Zagreb",currency:"EUR",languages:["hr"]},{code:"CU",name:"Cuba",dial:"+53",flag:"\u{1F1E8}\u{1F1FA}",digits:8,format:"# ### ####",continent:"NA",capital:"Havana",currency:"CUP",languages:["es"]},{code:"CW",name:"Cura\xE7ao",dial:"+599",flag:"\u{1F1E8}\u{1F1FC}",digits:7,format:"### ####",continent:"NA",capital:"Willemstad",currency:"ANG",languages:["nl","pa","en"]},{code:"CY",name:"Cyprus",dial:"+357",flag:"\u{1F1E8}\u{1F1FE}",digits:8,format:"## ######",continent:"EU",capital:"Nicosia",currency:"EUR",languages:["el","tr","hy"]},{code:"CZ",name:"Czech Republic",dial:"+420",flag:"\u{1F1E8}\u{1F1FF}",digits:9,format:"### ### ###",continent:"EU",capital:"Prague",currency:"CZK",languages:["cs"]},{code:"DK",name:"Denmark",dial:"+45",flag:"\u{1F1E9}\u{1F1F0}",digits:8,format:"## ## ## ##",continent:"EU",capital:"Copenhagen",currency:"DKK",languages:["da"]},{code:"DJ",name:"Djibouti",dial:"+253",flag:"\u{1F1E9}\u{1F1EF}",digits:8,format:"## ## ## ##",continent:"AF",capital:"Djibouti",currency:"DJF",languages:["fr","ar"]},{code:"DM",name:"Dominica",dial:"+1767",flag:"\u{1F1E9}\u{1F1F2}",digits:7,format:"### ####",continent:"NA",capital:"Roseau",currency:"XCD",languages:["en"]},{code:"DO",name:"Dominican Republic",dial:"+1809",flag:"\u{1F1E9}\u{1F1F4}",digits:7,format:"### ####",continent:"NA",capital:"Santo Domingo",currency:"DOP",languages:["es"]},{code:"EC",name:"Ecuador",dial:"+593",flag:"\u{1F1EA}\u{1F1E8}",digits:9,format:"## ### ####",continent:"SA",capital:"Quito",currency:"USD",languages:["es"]},{code:"EG",name:"Egypt",dial:"+20",flag:"\u{1F1EA}\u{1F1EC}",digits:10,format:"### ### ####",continent:"AF",capital:"Cairo",currency:"EGP",languages:["ar"]},{code:"SV",name:"El Salvador",dial:"+503",flag:"\u{1F1F8}\u{1F1FB}",digits:8,format:"#### ####",continent:"NA",capital:"San Salvador",currency:"USD",languages:["es"]},{code:"GQ",name:"Equatorial Guinea",dial:"+240",flag:"\u{1F1EC}\u{1F1F6}",digits:9,format:"## ### ####",continent:"AF",capital:"Malabo",currency:"XAF",languages:["es","fr"]},{code:"ER",name:"Eritrea",dial:"+291",flag:"\u{1F1EA}\u{1F1F7}",digits:7,format:"# ### ###",continent:"AF",capital:"Asmara",currency:"ERN",languages:["ti","ar","en"]},{code:"EE",name:"Estonia",dial:"+372",flag:"\u{1F1EA}\u{1F1EA}",digits:8,format:"#### ####",continent:"EU",capital:"Tallinn",currency:"EUR",languages:["et"]},{code:"SZ",name:"Eswatini",dial:"+268",flag:"\u{1F1F8}\u{1F1FF}",digits:8,format:"#### ####",continent:"AF",capital:"Lobamba",currency:"SZL",languages:["en","ss"]},{code:"ET",name:"Ethiopia",dial:"+251",flag:"\u{1F1EA}\u{1F1F9}",digits:9,format:"## ### ####",continent:"AF",capital:"Addis Ababa",currency:"ETB",languages:["am"]},{code:"FK",name:"Falkland Islands",dial:"+500",flag:"\u{1F1EB}\u{1F1F0}",digits:5,format:"#####",continent:"SA",capital:"Stanley",currency:"FKP",languages:["en"]},{code:"FO",name:"Faroe Islands",dial:"+298",flag:"\u{1F1EB}\u{1F1F4}",digits:6,format:"######",continent:"EU",capital:"T\xF3rshavn",currency:"DKK",languages:["fo"]},{code:"FJ",name:"Fiji",dial:"+679",flag:"\u{1F1EB}\u{1F1EF}",digits:7,format:"### ####",continent:"OC",capital:"Suva",currency:"FJD",languages:["en","fj","hi","ur"]},{code:"FI",name:"Finland",dial:"+358",flag:"\u{1F1EB}\u{1F1EE}",digits:10,format:"## ### ## ###",continent:"EU",capital:"Helsinki",currency:"EUR",languages:["fi","sv"]},{code:"FR",name:"France",dial:"+33",flag:"\u{1F1EB}\u{1F1F7}",digits:9,format:"# ## ## ## ##",continent:"EU",capital:"Paris",currency:"EUR",languages:["fr"]},{code:"GF",name:"French Guiana",dial:"+594",flag:"\u{1F1EC}\u{1F1EB}",digits:9,format:"### ## ## ##",continent:"SA",capital:"Cayenne",currency:"EUR",languages:["fr"]},{code:"PF",name:"French Polynesia",dial:"+689",flag:"\u{1F1F5}\u{1F1EB}",digits:8,format:"## ## ## ##",continent:"OC",capital:"Papeet\u0113",currency:"XPF",languages:["fr"]},{code:"GA",name:"Gabon",dial:"+241",flag:"\u{1F1EC}\u{1F1E6}",digits:8,format:"## ## ## ##",continent:"AF",capital:"Libreville",currency:"XAF",languages:["fr"]},{code:"GM",name:"Gambia",dial:"+220",flag:"\u{1F1EC}\u{1F1F2}",digits:7,format:"### ####",continent:"AF",capital:"Banjul",currency:"GMD",languages:["en"]},{code:"GE",name:"Georgia",dial:"+995",flag:"\u{1F1EC}\u{1F1EA}",digits:9,format:"### ## ## ##",continent:"AS",capital:"Tbilisi",currency:"GEL",languages:["ka"]},{code:"DE",name:"Germany",dial:"+49",flag:"\u{1F1E9}\u{1F1EA}",digits:11,format:"### ## ## ####",continent:"EU",capital:"Berlin",currency:"EUR",languages:["de"]},{code:"GH",name:"Ghana",dial:"+233",flag:"\u{1F1EC}\u{1F1ED}",digits:9,format:"## ### ####",continent:"AF",capital:"Accra",currency:"GHS",languages:["en"]},{code:"GI",name:"Gibraltar",dial:"+350",flag:"\u{1F1EC}\u{1F1EE}",digits:8,format:"#### ####",continent:"EU",capital:"Gibraltar",currency:"GIP",languages:["en"]},{code:"GR",name:"Greece",dial:"+30",flag:"\u{1F1EC}\u{1F1F7}",digits:10,format:"### ### ####",continent:"EU",capital:"Athens",currency:"EUR",languages:["el"]},{code:"GL",name:"Greenland",dial:"+299",flag:"\u{1F1EC}\u{1F1F1}",digits:6,format:"## ## ##",continent:"NA",capital:"Nuuk",currency:"DKK",languages:["kl"]},{code:"GD",name:"Grenada",dial:"+1473",flag:"\u{1F1EC}\u{1F1E9}",digits:7,format:"### ####",continent:"NA",capital:"St. George's",currency:"XCD",languages:["en"]},{code:"GP",name:"Guadeloupe",dial:"+590",flag:"\u{1F1EC}\u{1F1F5}",digits:9,format:"### ## ## ##",continent:"NA",capital:"Basse-Terre",currency:"EUR",languages:["fr"]},{code:"GU",name:"Guam",dial:"+1671",flag:"\u{1F1EC}\u{1F1FA}",digits:7,format:"### ####",continent:"OC",capital:"Hag\xE5t\xF1a",currency:"USD",languages:["en","ch","es"]},{code:"GT",name:"Guatemala",dial:"+502",flag:"\u{1F1EC}\u{1F1F9}",digits:8,format:"#### ####",continent:"NA",capital:"Guatemala City",currency:"GTQ",languages:["es"]},{code:"GG",name:"Guernsey",dial:"+44",flag:"\u{1F1EC}\u{1F1EC}",digits:10,format:"#### ######",continent:"EU",capital:"St. Peter Port",currency:"GBP",languages:["en","fr"]},{code:"GN",name:"Guinea",dial:"+224",flag:"\u{1F1EC}\u{1F1F3}",digits:9,format:"### ## ## ##",continent:"AF",capital:"Conakry",currency:"GNF",languages:["fr","ff"]},{code:"GW",name:"Guinea-Bissau",dial:"+245",flag:"\u{1F1EC}\u{1F1FC}",digits:7,format:"### ####",continent:"AF",capital:"Bissau",currency:"XOF",languages:["pt"]},{code:"GY",name:"Guyana",dial:"+592",flag:"\u{1F1EC}\u{1F1FE}",digits:7,format:"### ####",continent:"SA",capital:"Georgetown",currency:"GYD",languages:["en"]},{code:"HT",name:"Haiti",dial:"+509",flag:"\u{1F1ED}\u{1F1F9}",digits:8,format:"#### ####",continent:"NA",capital:"Port-au-Prince",currency:"HTG",languages:["fr","ht"]},{code:"HN",name:"Honduras",dial:"+504",flag:"\u{1F1ED}\u{1F1F3}",digits:8,format:"#### ####",continent:"NA",capital:"Tegucigalpa",currency:"HNL",languages:["es"]},{code:"HK",name:"Hong Kong",dial:"+852",flag:"\u{1F1ED}\u{1F1F0}",digits:8,format:"#### ####",continent:"AS",capital:"City of Victoria",currency:"HKD",languages:["zh","en"]},{code:"HU",name:"Hungary",dial:"+36",flag:"\u{1F1ED}\u{1F1FA}",digits:9,format:"## ### ####",continent:"EU",capital:"Budapest",currency:"HUF",languages:["hu"]},{code:"IS",name:"Iceland",dial:"+354",flag:"\u{1F1EE}\u{1F1F8}",digits:7,format:"### ####",continent:"EU",capital:"Reykjavik",currency:"ISK",languages:["is"]},{code:"IN",name:"India",dial:"+91",flag:"\u{1F1EE}\u{1F1F3}",digits:10,format:"##### #####",continent:"AS",capital:"New Delhi",currency:"INR",languages:["hi","en"]},{code:"ID",name:"Indonesia",dial:"+62",flag:"\u{1F1EE}\u{1F1E9}",digits:11,format:"### #### #####",continent:"AS",capital:"Jakarta",currency:"IDR",languages:["id"]},{code:"IR",name:"Iran",dial:"+98",flag:"\u{1F1EE}\u{1F1F7}",digits:10,format:"### ### ####",continent:"AS",capital:"Tehran",currency:"IRR",languages:["fa"]},{code:"IQ",name:"Iraq",dial:"+964",flag:"\u{1F1EE}\u{1F1F6}",digits:10,format:"### ### ####",continent:"AS",capital:"Baghdad",currency:"IQD",languages:["ar","ku"]},{code:"IE",name:"Ireland",dial:"+353",flag:"\u{1F1EE}\u{1F1EA}",digits:9,format:"## ### ####",continent:"EU",capital:"Dublin",currency:"EUR",languages:["ga","en"]},{code:"IM",name:"Isle of Man",dial:"+44",flag:"\u{1F1EE}\u{1F1F2}",digits:10,format:"#### ######",continent:"EU",capital:"Douglas",currency:"GBP",languages:["en","gv"]},{code:"IL",name:"Israel",dial:"+972",flag:"\u{1F1EE}\u{1F1F1}",digits:9,format:"## ### ####",continent:"AS",capital:"Jerusalem",currency:"ILS",languages:["he","ar"]},{code:"IT",name:"Italy",dial:"+39",flag:"\u{1F1EE}\u{1F1F9}",digits:10,format:"### ### ####",continent:"EU",capital:"Rome",currency:"EUR",languages:["it"]},{code:"JM",name:"Jamaica",dial:"+1876",flag:"\u{1F1EF}\u{1F1F2}",digits:7,format:"### ####",continent:"NA",capital:"Kingston",currency:"JMD",languages:["en"]},{code:"JP",name:"Japan",dial:"+81",flag:"\u{1F1EF}\u{1F1F5}",digits:10,format:"## #### ####",continent:"AS",capital:"Tokyo",currency:"JPY",languages:["ja"]},{code:"JE",name:"Jersey",dial:"+44",flag:"\u{1F1EF}\u{1F1EA}",digits:10,format:"#### ######",continent:"EU",capital:"Saint Helier",currency:"GBP",languages:["en","fr"]},{code:"JO",name:"Jordan",dial:"+962",flag:"\u{1F1EF}\u{1F1F4}",digits:9,format:"# ### ####",continent:"AS",capital:"Amman",currency:"JOD",languages:["ar"]},{code:"KZ",name:"Kazakhstan",dial:"+7",flag:"\u{1F1F0}\u{1F1FF}",digits:10,format:"### ### ## ##",continent:"AS",capital:"Astana",currency:"KZT",languages:["kk","ru"]},{code:"KE",name:"Kenya",dial:"+254",flag:"\u{1F1F0}\u{1F1EA}",digits:9,format:"### ######",continent:"AF",capital:"Nairobi",currency:"KES",languages:["en","sw"]},{code:"KI",name:"Kiribati",dial:"+686",flag:"\u{1F1F0}\u{1F1EE}",digits:5,format:"#####",continent:"OC",capital:"South Tarawa",currency:"AUD",languages:["en"]},{code:"XK",name:"Kosovo",dial:"+383",flag:"\u{1F1FD}\u{1F1F0}",digits:8,format:"## ### ###",continent:"EU",capital:"Pristina",currency:"EUR",languages:["sq","sr"]},{code:"KW",name:"Kuwait",dial:"+965",flag:"\u{1F1F0}\u{1F1FC}",digits:8,format:"#### ####",continent:"AS",capital:"Kuwait City",currency:"KWD",languages:["ar"]},{code:"KG",name:"Kyrgyzstan",dial:"+996",flag:"\u{1F1F0}\u{1F1EC}",digits:9,format:"### ## ## ##",continent:"AS",capital:"Bishkek",currency:"KGS",languages:["ky","ru"]},{code:"LA",name:"Laos",dial:"+856",flag:"\u{1F1F1}\u{1F1E6}",digits:9,format:"## ## ### ##",continent:"AS",capital:"Vientiane",currency:"LAK",languages:["lo"]},{code:"LV",name:"Latvia",dial:"+371",flag:"\u{1F1F1}\u{1F1FB}",digits:8,format:"## ### ###",continent:"EU",capital:"Riga",currency:"EUR",languages:["lv"]},{code:"LB",name:"Lebanon",dial:"+961",flag:"\u{1F1F1}\u{1F1E7}",digits:8,format:"## ### ###",continent:"AS",capital:"Beirut",currency:"LBP",languages:["ar","fr"]},{code:"LS",name:"Lesotho",dial:"+266",flag:"\u{1F1F1}\u{1F1F8}",digits:8,format:"## ## ## ##",continent:"AF",capital:"Maseru",currency:"LSL",languages:["en","st"]},{code:"LR",name:"Liberia",dial:"+231",flag:"\u{1F1F1}\u{1F1F7}",digits:8,format:"## ### ###",continent:"AF",capital:"Monrovia",currency:"LRD",languages:["en"]},{code:"LY",name:"Libya",dial:"+218",flag:"\u{1F1F1}\u{1F1FE}",digits:9,format:"## ### ## ##",continent:"AF",capital:"Tripoli",currency:"LYD",languages:["ar"]},{code:"LI",name:"Liechtenstein",dial:"+423",flag:"\u{1F1F1}\u{1F1EE}",digits:7,format:"### ####",continent:"EU",capital:"Vaduz",currency:"CHF",languages:["de"]},{code:"LT",name:"Lithuania",dial:"+370",flag:"\u{1F1F1}\u{1F1F9}",digits:8,format:"## ## ## ##",continent:"EU",capital:"Vilnius",currency:"EUR",languages:["lt"]},{code:"LU",name:"Luxembourg",dial:"+352",flag:"\u{1F1F1}\u{1F1FA}",digits:9,format:"## ## ## ###",continent:"EU",capital:"Luxembourg",currency:"EUR",languages:["fr","de","lb"]},{code:"MO",name:"Macao",dial:"+853",flag:"\u{1F1F2}\u{1F1F4}",digits:8,format:"#### ####",continent:"AS",capital:"",currency:"MOP",languages:["zh","pt"]},{code:"MG",name:"Madagascar",dial:"+261",flag:"\u{1F1F2}\u{1F1EC}",digits:9,format:"## ## ### ##",continent:"AF",capital:"Antananarivo",currency:"MGA",languages:["fr","mg"]},{code:"MW",name:"Malawi",dial:"+265",flag:"\u{1F1F2}\u{1F1FC}",digits:9,format:"### ## ## ##",continent:"AF",capital:"Lilongwe",currency:"MWK",languages:["en","ny"]},{code:"MY",name:"Malaysia",dial:"+60",flag:"\u{1F1F2}\u{1F1FE}",digits:10,format:"##-#### ####",continent:"AS",capital:"Kuala Lumpur",currency:"MYR",languages:["ms"]},{code:"MV",name:"Maldives",dial:"+960",flag:"\u{1F1F2}\u{1F1FB}",digits:7,format:"### ####",continent:"AS",capital:"Mal\xE9",currency:"MVR",languages:["dv"]},{code:"ML",name:"Mali",dial:"+223",flag:"\u{1F1F2}\u{1F1F1}",digits:8,format:"## ## ## ##",continent:"AF",capital:"Bamako",currency:"XOF",languages:["fr"]},{code:"MT",name:"Malta",dial:"+356",flag:"\u{1F1F2}\u{1F1F9}",digits:8,format:"## ## ## ##",continent:"EU",capital:"Valletta",currency:"EUR",languages:["mt","en"]},{code:"MH",name:"Marshall Islands",dial:"+692",flag:"\u{1F1F2}\u{1F1ED}",digits:7,format:"### ####",continent:"OC",capital:"Majuro",currency:"USD",languages:["en","mh"]},{code:"MQ",name:"Martinique",dial:"+596",flag:"\u{1F1F2}\u{1F1F6}",digits:9,format:"### ## ## ##",continent:"NA",capital:"Fort-de-France",currency:"EUR",languages:["fr"]},{code:"MR",name:"Mauritania",dial:"+222",flag:"\u{1F1F2}\u{1F1F7}",digits:8,format:"## ## ## ##",continent:"AF",capital:"Nouakchott",currency:"MRU",languages:["ar"]},{code:"MU",name:"Mauritius",dial:"+230",flag:"\u{1F1F2}\u{1F1FA}",digits:8,format:"#### ####",continent:"AF",capital:"Port Louis",currency:"MUR",languages:["en"]},{code:"YT",name:"Mayotte",dial:"+262",flag:"\u{1F1FE}\u{1F1F9}",digits:9,format:"### ## ## ##",continent:"AF",capital:"Mamoudzou",currency:"EUR",languages:["fr"]},{code:"MX",name:"Mexico",dial:"+52",flag:"\u{1F1F2}\u{1F1FD}",digits:10,format:"### ### ####",continent:"NA",capital:"Mexico City",currency:"MXN",languages:["es"]},{code:"FM",name:"Micronesia",dial:"+691",flag:"\u{1F1EB}\u{1F1F2}",digits:7,format:"### ####",continent:"OC",capital:"Palikir",currency:"USD",languages:["en"]},{code:"MD",name:"Moldova",dial:"+373",flag:"\u{1F1F2}\u{1F1E9}",digits:8,format:"## ## ## ##",continent:"EU",capital:"Chi\u0219in\u0103u",currency:"MDL",languages:["ro"]},{code:"MC",name:"Monaco",dial:"+377",flag:"\u{1F1F2}\u{1F1E8}",digits:8,format:"## ## ## ##",continent:"EU",capital:"Monaco",currency:"EUR",languages:["fr"]},{code:"MN",name:"Mongolia",dial:"+976",flag:"\u{1F1F2}\u{1F1F3}",digits:8,format:"#### ####",continent:"AS",capital:"Ulan Bator",currency:"MNT",languages:["mn"]},{code:"ME",name:"Montenegro",dial:"+382",flag:"\u{1F1F2}\u{1F1EA}",digits:8,format:"## ### ###",continent:"EU",capital:"Podgorica",currency:"EUR",languages:["sr","bs","sq","hr"]},{code:"MS",name:"Montserrat",dial:"+1664",flag:"\u{1F1F2}\u{1F1F8}",digits:7,format:"### ####",continent:"NA",capital:"Plymouth",currency:"XCD",languages:["en"]},{code:"MA",name:"Morocco",dial:"+212",flag:"\u{1F1F2}\u{1F1E6}",digits:9,format:"## ## ## ###",continent:"AF",capital:"Rabat",currency:"MAD",languages:["ar"]},{code:"MZ",name:"Mozambique",dial:"+258",flag:"\u{1F1F2}\u{1F1FF}",digits:9,format:"## ### ####",continent:"AF",capital:"Maputo",currency:"MZN",languages:["pt"]},{code:"MM",name:"Myanmar",dial:"+95",flag:"\u{1F1F2}\u{1F1F2}",digits:9,format:"## ### ####",continent:"AS",capital:"Naypyidaw",currency:"MMK",languages:["my"]},{code:"NA",name:"Namibia",dial:"+264",flag:"\u{1F1F3}\u{1F1E6}",digits:9,format:"## ### ####",continent:"AF",capital:"Windhoek",currency:"NAD",languages:["en","af"]},{code:"NR",name:"Nauru",dial:"+674",flag:"\u{1F1F3}\u{1F1F7}",digits:7,format:"### ####",continent:"OC",capital:"Yaren",currency:"AUD",languages:["en","na"]},{code:"NP",name:"Nepal",dial:"+977",flag:"\u{1F1F3}\u{1F1F5}",digits:10,format:"## ### #####",continent:"AS",capital:"Kathmandu",currency:"NPR",languages:["ne"]},{code:"NL",name:"Netherlands",dial:"+31",flag:"\u{1F1F3}\u{1F1F1}",digits:9,format:"# ## ## ## ##",continent:"EU",capital:"Amsterdam",currency:"EUR",languages:["nl"]},{code:"NC",name:"New Caledonia",dial:"+687",flag:"\u{1F1F3}\u{1F1E8}",digits:6,format:"## ## ##",continent:"OC",capital:"Noum\xE9a",currency:"XPF",languages:["fr"]},{code:"NZ",name:"New Zealand",dial:"+64",flag:"\u{1F1F3}\u{1F1FF}",digits:9,format:"## ### ####",continent:"OC",capital:"Wellington",currency:"NZD",languages:["en","mi"]},{code:"NI",name:"Nicaragua",dial:"+505",flag:"\u{1F1F3}\u{1F1EE}",digits:8,format:"#### ####",continent:"NA",capital:"Managua",currency:"NIO",languages:["es"]},{code:"NE",name:"Niger",dial:"+227",flag:"\u{1F1F3}\u{1F1EA}",digits:8,format:"## ## ## ##",continent:"AF",capital:"Niamey",currency:"XOF",languages:["fr"]},{code:"NG",name:"Nigeria",dial:"+234",flag:"\u{1F1F3}\u{1F1EC}",digits:10,format:"### ### ####",continent:"AF",capital:"Abuja",currency:"NGN",languages:["en"]},{code:"NU",name:"Niue",dial:"+683",flag:"\u{1F1F3}\u{1F1FA}",digits:4,format:"####",continent:"OC",capital:"Alofi",currency:"NZD",languages:["en"]},{code:"NF",name:"Norfolk Island",dial:"+672",flag:"\u{1F1F3}\u{1F1EB}",digits:6,format:"######",continent:"OC",capital:"Kingston",currency:"AUD",languages:["en"]},{code:"KP",name:"North Korea",dial:"+850",flag:"\u{1F1F0}\u{1F1F5}",digits:10,format:"### ### ####",continent:"AS",capital:"Pyongyang",currency:"KPW",languages:["ko"]},{code:"MK",name:"North Macedonia",dial:"+389",flag:"\u{1F1F2}\u{1F1F0}",digits:8,format:"## ### ###",continent:"EU",capital:"Skopje",currency:"MKD",languages:["mk"]},{code:"MP",name:"Northern Mariana Islands",dial:"+1670",flag:"\u{1F1F2}\u{1F1F5}",digits:7,format:"### ####",continent:"OC",capital:"Saipan",currency:"USD",languages:["en","ch"]},{code:"NO",name:"Norway",dial:"+47",flag:"\u{1F1F3}\u{1F1F4}",digits:8,format:"### ## ###",continent:"EU",capital:"Oslo",currency:"NOK",languages:["no","nb","nn"]},{code:"OM",name:"Oman",dial:"+968",flag:"\u{1F1F4}\u{1F1F2}",digits:8,format:"#### ####",continent:"AS",capital:"Muscat",currency:"OMR",languages:["ar"]},{code:"PK",name:"Pakistan",dial:"+92",flag:"\u{1F1F5}\u{1F1F0}",digits:10,format:"### ### ####",continent:"AS",capital:"Islamabad",currency:"PKR",languages:["en","ur"]},{code:"PW",name:"Palau",dial:"+680",flag:"\u{1F1F5}\u{1F1FC}",digits:7,format:"### ####",continent:"OC",capital:"Ngerulmud",currency:"USD",languages:["en"]},{code:"PS",name:"Palestine",dial:"+970",flag:"\u{1F1F5}\u{1F1F8}",digits:9,format:"## ### ####",continent:"AS",capital:"Ramallah",currency:"ILS",languages:["ar"]},{code:"PA",name:"Panama",dial:"+507",flag:"\u{1F1F5}\u{1F1E6}",digits:8,format:"#### ####",continent:"NA",capital:"Panama City",currency:"PAB",languages:["es"]},{code:"PG",name:"Papua New Guinea",dial:"+675",flag:"\u{1F1F5}\u{1F1EC}",digits:8,format:"#### ####",continent:"OC",capital:"Port Moresby",currency:"PGK",languages:["en"]},{code:"PY",name:"Paraguay",dial:"+595",flag:"\u{1F1F5}\u{1F1FE}",digits:9,format:"### ### ###",continent:"SA",capital:"Asunci\xF3n",currency:"PYG",languages:["es","gn"]},{code:"PE",name:"Peru",dial:"+51",flag:"\u{1F1F5}\u{1F1EA}",digits:9,format:"### ### ###",continent:"SA",capital:"Lima",currency:"PEN",languages:["es"]},{code:"PH",name:"Philippines",dial:"+63",flag:"\u{1F1F5}\u{1F1ED}",digits:10,format:"### ### ####",continent:"AS",capital:"Manila",currency:"PHP",languages:["en","tl"]},{code:"PN",name:"Pitcairn Islands",dial:"+870",flag:"\u{1F1F5}\u{1F1F3}",digits:9,format:"#########",continent:"OC",capital:"Adamstown",currency:"NZD",languages:["en"]},{code:"PL",name:"Poland",dial:"+48",flag:"\u{1F1F5}\u{1F1F1}",digits:9,format:"## ### ## ##",continent:"EU",capital:"Warsaw",currency:"PLN",languages:["pl"]},{code:"PT",name:"Portugal",dial:"+351",flag:"\u{1F1F5}\u{1F1F9}",digits:9,format:"### ### ###",continent:"EU",capital:"Lisbon",currency:"EUR",languages:["pt"]},{code:"PR",name:"Puerto Rico",dial:"+1787",flag:"\u{1F1F5}\u{1F1F7}",digits:7,format:"### ####",continent:"NA",capital:"San Juan",currency:"USD",languages:["es","en"]},{code:"QA",name:"Qatar",dial:"+974",flag:"\u{1F1F6}\u{1F1E6}",digits:8,format:"#### ####",continent:"AS",capital:"Doha",currency:"QAR",languages:["ar"]},{code:"RE",name:"R\xE9union",dial:"+262",flag:"\u{1F1F7}\u{1F1EA}",digits:9,format:"### ## ## ##",continent:"AF",capital:"Saint-Denis",currency:"EUR",languages:["fr"]},{code:"RO",name:"Romania",dial:"+40",flag:"\u{1F1F7}\u{1F1F4}",digits:9,format:"### ### ###",continent:"EU",capital:"Bucharest",currency:"RON",languages:["ro"]},{code:"RU",name:"Russia",dial:"+7",flag:"\u{1F1F7}\u{1F1FA}",digits:10,format:"### ###-##-##",continent:"AS",capital:"Moscow",currency:"RUB",languages:["ru"]},{code:"RW",name:"Rwanda",dial:"+250",flag:"\u{1F1F7}\u{1F1FC}",digits:9,format:"### ### ###",continent:"AF",capital:"Kigali",currency:"RWF",languages:["rw","en","fr"]},{code:"BL",name:"Saint Barth\xE9lemy",dial:"+590",flag:"\u{1F1E7}\u{1F1F1}",digits:9,format:"### ## ## ##",continent:"NA",capital:"Gustavia",currency:"EUR",languages:["fr"]},{code:"SH",name:"Saint Helena",dial:"+290",flag:"\u{1F1F8}\u{1F1ED}",digits:4,format:"####",continent:"AF",capital:"Jamestown",currency:"SHP",languages:["en"]},{code:"KN",name:"Saint Kitts & Nevis",dial:"+1869",flag:"\u{1F1F0}\u{1F1F3}",digits:7,format:"### ####",continent:"NA",capital:"Basseterre",currency:"XCD",languages:["en"]},{code:"LC",name:"Saint Lucia",dial:"+1758",flag:"\u{1F1F1}\u{1F1E8}",digits:7,format:"### ####",continent:"NA",capital:"Castries",currency:"XCD",languages:["en"]},{code:"MF",name:"Saint Martin",dial:"+590",flag:"\u{1F1F2}\u{1F1EB}",digits:9,format:"### ## ## ##",continent:"NA",capital:"Marigot",currency:"EUR",languages:["en","fr","nl"]},{code:"PM",name:"Saint Pierre & Miquelon",dial:"+508",flag:"\u{1F1F5}\u{1F1F2}",digits:6,format:"## ## ##",continent:"NA",capital:"Saint-Pierre",currency:"EUR",languages:["fr"]},{code:"VC",name:"Saint Vincent & Grenadines",dial:"+1784",flag:"\u{1F1FB}\u{1F1E8}",digits:7,format:"### ####",continent:"NA",capital:"Kingstown",currency:"XCD",languages:["en"]},{code:"WS",name:"Samoa",dial:"+685",flag:"\u{1F1FC}\u{1F1F8}",digits:7,format:"## #####",continent:"OC",capital:"Apia",currency:"WST",languages:["sm","en"]},{code:"SM",name:"San Marino",dial:"+378",flag:"\u{1F1F8}\u{1F1F2}",digits:10,format:"## ## ## ## ##",continent:"EU",capital:"City of San Marino",currency:"EUR",languages:["it"]},{code:"ST",name:"S\xE3o Tom\xE9 & Pr\xEDncipe",dial:"+239",flag:"\u{1F1F8}\u{1F1F9}",digits:7,format:"### ####",continent:"AF",capital:"S\xE3o Tom\xE9",currency:"STN",languages:["pt"]},{code:"SA",name:"Saudi Arabia",dial:"+966",flag:"\u{1F1F8}\u{1F1E6}",digits:9,format:"## ### ####",continent:"AS",capital:"Riyadh",currency:"SAR",languages:["ar"]},{code:"SN",name:"Senegal",dial:"+221",flag:"\u{1F1F8}\u{1F1F3}",digits:9,format:"## ### ## ##",continent:"AF",capital:"Dakar",currency:"XOF",languages:["fr"]},{code:"RS",name:"Serbia",dial:"+381",flag:"\u{1F1F7}\u{1F1F8}",digits:9,format:"## ### ####",continent:"EU",capital:"Belgrade",currency:"RSD",languages:["sr"]},{code:"SC",name:"Seychelles",dial:"+248",flag:"\u{1F1F8}\u{1F1E8}",digits:7,format:"# ### ###",continent:"AF",capital:"Victoria",currency:"SCR",languages:["fr","en"]},{code:"SL",name:"Sierra Leone",dial:"+232",flag:"\u{1F1F8}\u{1F1F1}",digits:8,format:"## ######",continent:"AF",capital:"Freetown",currency:"SLL",languages:["en"]},{code:"SG",name:"Singapore",dial:"+65",flag:"\u{1F1F8}\u{1F1EC}",digits:8,format:"#### ####",continent:"AS",capital:"Singapore",currency:"SGD",languages:["en","ms","ta","zh"]},{code:"SX",name:"Sint Maarten",dial:"+1721",flag:"\u{1F1F8}\u{1F1FD}",digits:7,format:"### ####",continent:"NA",capital:"Philipsburg",currency:"ANG",languages:["nl","en"]},{code:"SK",name:"Slovakia",dial:"+421",flag:"\u{1F1F8}\u{1F1F0}",digits:9,format:"### ### ###",continent:"EU",capital:"Bratislava",currency:"EUR",languages:["sk"]},{code:"SI",name:"Slovenia",dial:"+386",flag:"\u{1F1F8}\u{1F1EE}",digits:8,format:"## ### ###",continent:"EU",capital:"Ljubljana",currency:"EUR",languages:["sl"]},{code:"SB",name:"Solomon Islands",dial:"+677",flag:"\u{1F1F8}\u{1F1E7}",digits:7,format:"### ####",continent:"OC",capital:"Honiara",currency:"SBD",languages:["en"]},{code:"SO",name:"Somalia",dial:"+252",flag:"\u{1F1F8}\u{1F1F4}",digits:8,format:"## ### ###",continent:"AF",capital:"Mogadishu",currency:"SOS",languages:["so","ar"]},{code:"ZA",name:"South Africa",dial:"+27",flag:"\u{1F1FF}\u{1F1E6}",digits:9,format:"## ### ####",continent:"AF",capital:"Pretoria",currency:"ZAR",languages:["af","en","nr","st","ss","tn","ts","ve","xh","zu"]},{code:"SS",name:"South Sudan",dial:"+211",flag:"\u{1F1F8}\u{1F1F8}",digits:9,format:"### ### ###",continent:"AF",capital:"Juba",currency:"SSP",languages:["en"]},{code:"ES",name:"Spain",dial:"+34",flag:"\u{1F1EA}\u{1F1F8}",digits:9,format:"### ### ###",continent:"EU",capital:"Madrid",currency:"EUR",languages:["es","eu","ca","gl","oc"]},{code:"LK",name:"Sri Lanka",dial:"+94",flag:"\u{1F1F1}\u{1F1F0}",digits:9,format:"## ### ####",continent:"AS",capital:"Colombo",currency:"LKR",languages:["si","ta"]},{code:"SD",name:"Sudan",dial:"+249",flag:"\u{1F1F8}\u{1F1E9}",digits:9,format:"## ### ####",continent:"AF",capital:"Khartoum",currency:"SDG",languages:["ar","en"]},{code:"SR",name:"Suriname",dial:"+597",flag:"\u{1F1F8}\u{1F1F7}",digits:7,format:"### ####",continent:"SA",capital:"Paramaribo",currency:"SRD",languages:["nl"]},{code:"SE",name:"Sweden",dial:"+46",flag:"\u{1F1F8}\u{1F1EA}",digits:9,format:"## ### ## ##",continent:"EU",capital:"Stockholm",currency:"SEK",languages:["sv"]},{code:"CH",name:"Switzerland",dial:"+41",flag:"\u{1F1E8}\u{1F1ED}",digits:9,format:"## ### ## ##",continent:"EU",capital:"Bern",currency:"CHF",languages:["de","fr","it"]},{code:"SY",name:"Syria",dial:"+963",flag:"\u{1F1F8}\u{1F1FE}",digits:9,format:"### ### ###",continent:"AS",capital:"Damascus",currency:"SYP",languages:["ar"]},{code:"TW",name:"Taiwan",dial:"+886",flag:"\u{1F1F9}\u{1F1FC}",digits:9,format:"### ### ###",continent:"AS",capital:"Taipei",currency:"TWD",languages:["zh"]},{code:"TJ",name:"Tajikistan",dial:"+992",flag:"\u{1F1F9}\u{1F1EF}",digits:9,format:"## ### ####",continent:"AS",capital:"Dushanbe",currency:"TJS",languages:["tg","ru"]},{code:"TZ",name:"Tanzania",dial:"+255",flag:"\u{1F1F9}\u{1F1FF}",digits:9,format:"### ### ###",continent:"AF",capital:"Dodoma",currency:"TZS",languages:["sw","en"]},{code:"TH",name:"Thailand",dial:"+66",flag:"\u{1F1F9}\u{1F1ED}",digits:9,format:"## ### ####",continent:"AS",capital:"Bangkok",currency:"THB",languages:["th"]},{code:"TL",name:"Timor-Leste",dial:"+670",flag:"\u{1F1F9}\u{1F1F1}",digits:8,format:"#### ####",continent:"OC",capital:"Dili",currency:"USD",languages:["pt"]},{code:"TG",name:"Togo",dial:"+228",flag:"\u{1F1F9}\u{1F1EC}",digits:8,format:"## ## ## ##",continent:"AF",capital:"Lom\xE9",currency:"XOF",languages:["fr"]},{code:"TK",name:"Tokelau",dial:"+690",flag:"\u{1F1F9}\u{1F1F0}",digits:4,format:"####",continent:"OC",capital:"Fakaofo",currency:"NZD",languages:["en"]},{code:"TO",name:"Tonga",dial:"+676",flag:"\u{1F1F9}\u{1F1F4}",digits:7,format:"### ####",continent:"OC",capital:"Nuku'alofa",currency:"TOP",languages:["en","to"]},{code:"TT",name:"Trinidad & Tobago",dial:"+1868",flag:"\u{1F1F9}\u{1F1F9}",digits:7,format:"### ####",continent:"NA",capital:"Port of Spain",currency:"TTD",languages:["en"]},{code:"TN",name:"Tunisia",dial:"+216",flag:"\u{1F1F9}\u{1F1F3}",digits:8,format:"## ### ###",continent:"AF",capital:"Tunis",currency:"TND",languages:["ar"]},{code:"TR",name:"Turkey",dial:"+90",flag:"\u{1F1F9}\u{1F1F7}",digits:10,format:"### ### ## ##",continent:"AS",capital:"Ankara",currency:"TRY",languages:["tr"]},{code:"TM",name:"Turkmenistan",dial:"+993",flag:"\u{1F1F9}\u{1F1F2}",digits:8,format:"## ## ## ##",continent:"AS",capital:"Ashgabat",currency:"TMT",languages:["tk","ru"]},{code:"TC",name:"Turks & Caicos Islands",dial:"+1649",flag:"\u{1F1F9}\u{1F1E8}",digits:7,format:"### ####",continent:"NA",capital:"Cockburn Town",currency:"USD",languages:["en"]},{code:"TV",name:"Tuvalu",dial:"+688",flag:"\u{1F1F9}\u{1F1FB}",digits:5,format:"#####",continent:"OC",capital:"Funafuti",currency:"AUD",languages:["en"]},{code:"UG",name:"Uganda",dial:"+256",flag:"\u{1F1FA}\u{1F1EC}",digits:9,format:"### ### ###",continent:"AF",capital:"Kampala",currency:"UGX",languages:["en","sw"]},{code:"UA",name:"Ukraine",dial:"+380",flag:"\u{1F1FA}\u{1F1E6}",digits:9,format:"## ### ## ##",continent:"EU",capital:"Kyiv",currency:"UAH",languages:["uk"]},{code:"AE",name:"United Arab Emirates",dial:"+971",flag:"\u{1F1E6}\u{1F1EA}",digits:9,format:"## ### ####",continent:"AS",capital:"Abu Dhabi",currency:"AED",languages:["ar"]},{code:"GB",name:"United Kingdom",dial:"+44",flag:"\u{1F1EC}\u{1F1E7}",digits:10,format:"#### ######",continent:"EU",capital:"London",currency:"GBP",languages:["en"]},{code:"US",name:"United States",dial:"+1",flag:"\u{1F1FA}\u{1F1F8}",digits:10,format:"### ### ####",continent:"NA",capital:"Washington D.C.",currency:"USD",languages:["en"]},{code:"VI",name:"U.S. Virgin Islands",dial:"+1340",flag:"\u{1F1FB}\u{1F1EE}",digits:7,format:"### ####",continent:"NA",capital:"Charlotte Amalie",currency:"USD",languages:["en"]},{code:"UY",name:"Uruguay",dial:"+598",flag:"\u{1F1FA}\u{1F1FE}",digits:9,format:"## ### ## ##",continent:"SA",capital:"Montevideo",currency:"UYU",languages:["es"]},{code:"UZ",name:"Uzbekistan",dial:"+998",flag:"\u{1F1FA}\u{1F1FF}",digits:9,format:"## ### ## ##",continent:"AS",capital:"Tashkent",currency:"UZS",languages:["uz","ru"]},{code:"VU",name:"Vanuatu",dial:"+678",flag:"\u{1F1FB}\u{1F1FA}",digits:7,format:"### ####",continent:"OC",capital:"Port Vila",currency:"VUV",languages:["bi","en","fr"]},{code:"VA",name:"Vatican City",dial:"+379",flag:"\u{1F1FB}\u{1F1E6}",digits:10,format:"## #### ####",continent:"EU",capital:"Vatican City",currency:"EUR",languages:["it","la"]},{code:"VE",name:"Venezuela",dial:"+58",flag:"\u{1F1FB}\u{1F1EA}",digits:10,format:"### ### ####",continent:"SA",capital:"Caracas",currency:"VES",languages:["es"]},{code:"VN",name:"Vietnam",dial:"+84",flag:"\u{1F1FB}\u{1F1F3}",digits:10,format:"### ### ####",continent:"AS",capital:"Hanoi",currency:"VND",languages:["vi"]},{code:"WF",name:"Wallis & Futuna",dial:"+681",flag:"\u{1F1FC}\u{1F1EB}",digits:6,format:"## ## ##",continent:"OC",capital:"Mata-Utu",currency:"XPF",languages:["fr"]},{code:"EH",name:"Western Sahara",dial:"+212",flag:"\u{1F1EA}\u{1F1ED}",digits:9,format:"## ## ## ###",continent:"AF",capital:"El Aai\xFAn",currency:"MAD",languages:["es"]},{code:"YE",name:"Yemen",dial:"+967",flag:"\u{1F1FE}\u{1F1EA}",digits:9,format:"### ### ###",continent:"AS",capital:"Sana'a",currency:"YER",languages:["ar"]},{code:"ZM",name:"Zambia",dial:"+260",flag:"\u{1F1FF}\u{1F1F2}",digits:9,format:"### ### ###",continent:"AF",capital:"Lusaka",currency:"ZMW",languages:["en"]},{code:"ZW",name:"Zimbabwe",dial:"+263",flag:"\u{1F1FF}\u{1F1FC}",digits:9,format:"## ### ####",continent:"AF",capital:"Harare",currency:"USD",languages:["en","sn","nd"]}];function f(n,a){let e=n.replace(/\D/g,""),c="",t=0;for(let r=0;r<a.length&&t<e.length;r++)a[r]==="#"?c+=e[t++]:t<e.length&&(c+=a[r]);return c}function y(n,a){return n.replace(/\D/g,"").length===a.digits}function p(n){return i.find(a=>a.code.toUpperCase()===n.toUpperCase())}function A(n){return n.startsWith("+")?[...i].sort((e,c)=>c.dial.length-e.dial.length).find(e=>n.startsWith(e.dial)):void 0}function S(n,a){let e=n.replace(/\D/g,"");return`${a.dial}${e}`}function C(n){let a=n.toLowerCase().trim();return a?i.filter(e=>e.name.toLowerCase().includes(a)||e.code.toLowerCase().includes(a)||e.dial.includes(a)):i}function U(n){return n.split("").map(a=>a==="#"?/\d/:a)}function E(n){return i.filter(a=>a.continent&&a.continent.toUpperCase()===n.toUpperCase())}function D(n){return i.filter(a=>a.currency&&a.currency.toUpperCase()===n.toUpperCase())}function N(n){return i.filter(a=>a.languages&&a.languages.some(e=>e.toLowerCase()===n.toLowerCase()))}function M(){let n=new Set;return i.forEach(a=>{a.currency&&n.add(a.currency)}),Array.from(n).sort()}function F(){let n=new Set;return i.forEach(a=>{a.languages&&a.languages.forEach(e=>n.add(e))}),Array.from(n).sort()}function B(){let n=new Set;return i.forEach(a=>{a.continent&&n.add(a.continent)}),Array.from(n).sort()}0&&(module.exports={COUNTRIES,formatAsE164,formatPhone,getAllContinents,getAllCurrencies,getAllLanguages,getCountriesByContinent,getCountriesByCurrency,getCountriesByLanguage,getCountryByCode,getMaskArray,guessCountryByNumber,searchCountries,validatePhone});
|