supported_countries.rs

  1use std::collections::HashSet;
  2use std::sync::LazyLock;
  3
  4/// Returns whether the given country code is supported by Anthropic.
  5///
  6/// https://www.anthropic.com/supported-countries
  7pub fn is_supported_country(country_code: &str) -> bool {
  8    SUPPORTED_COUNTRIES.contains(&country_code)
  9}
 10
 11/// The list of country codes supported by Anthropic.
 12///
 13/// https://www.anthropic.com/supported-countries
 14static SUPPORTED_COUNTRIES: LazyLock<HashSet<&'static str>> = LazyLock::new(|| {
 15    vec![
 16        "AL", // Albania
 17        "DZ", // Algeria
 18        "AD", // Andorra
 19        "AO", // Angola
 20        "AG", // Antigua and Barbuda
 21        "AR", // Argentina
 22        "AM", // Armenia
 23        "AU", // Australia
 24        "AT", // Austria
 25        "AZ", // Azerbaijan
 26        "BS", // Bahamas
 27        "BH", // Bahrain
 28        "BD", // Bangladesh
 29        "BB", // Barbados
 30        "BE", // Belgium
 31        "BZ", // Belize
 32        "BJ", // Benin
 33        "BT", // Bhutan
 34        "BO", // Bolivia
 35        "BA", // Bosnia and Herzegovina
 36        "BW", // Botswana
 37        "BR", // Brazil
 38        "BN", // Brunei
 39        "BG", // Bulgaria
 40        "BF", // Burkina Faso
 41        "BI", // Burundi
 42        "CV", // Cabo Verde
 43        "KH", // Cambodia
 44        "CM", // Cameroon
 45        "CA", // Canada
 46        "TD", // Chad
 47        "CL", // Chile
 48        "CO", // Colombia
 49        "KM", // Comoros
 50        "CG", // Congo (Brazzaville)
 51        "CR", // Costa Rica
 52        "CI", // Côte d'Ivoire
 53        "HR", // Croatia
 54        "CY", // Cyprus
 55        "CZ", // Czechia (Czech Republic)
 56        "DK", // Denmark
 57        "DJ", // Djibouti
 58        "DM", // Dominica
 59        "DO", // Dominican Republic
 60        "EC", // Ecuador
 61        "EG", // Egypt
 62        "SV", // El Salvador
 63        "GQ", // Equatorial Guinea
 64        "EE", // Estonia
 65        "SZ", // Eswatini
 66        "FJ", // Fiji
 67        "FI", // Finland
 68        "FR", // France
 69        "GA", // Gabon
 70        "GM", // Gambia
 71        "GE", // Georgia
 72        "DE", // Germany
 73        "GH", // Ghana
 74        "GR", // Greece
 75        "GD", // Grenada
 76        "GT", // Guatemala
 77        "GN", // Guinea
 78        "GW", // Guinea-Bissau
 79        "GY", // Guyana
 80        "HT", // Haiti
 81        "HN", // Honduras
 82        "HU", // Hungary
 83        "IS", // Iceland
 84        "IN", // India
 85        "ID", // Indonesia
 86        "IQ", // Iraq
 87        "IE", // Ireland
 88        "IL", // Israel
 89        "IT", // Italy
 90        "JM", // Jamaica
 91        "JP", // Japan
 92        "JO", // Jordan
 93        "KZ", // Kazakhstan
 94        "KE", // Kenya
 95        "KI", // Kiribati
 96        "KW", // Kuwait
 97        "KG", // Kyrgyzstan
 98        "LA", // Laos
 99        "LV", // Latvia
100        "LB", // Lebanon
101        "LS", // Lesotho
102        "LR", // Liberia
103        "LI", // Liechtenstein
104        "LT", // Lithuania
105        "LU", // Luxembourg
106        "MG", // Madagascar
107        "MW", // Malawi
108        "MY", // Malaysia
109        "MV", // Maldives
110        "MT", // Malta
111        "MH", // Marshall Islands
112        "MR", // Mauritania
113        "MU", // Mauritius
114        "MX", // Mexico
115        "FM", // Micronesia
116        "MD", // Moldova
117        "MC", // Monaco
118        "MN", // Mongolia
119        "ME", // Montenegro
120        "MA", // Morocco
121        "MZ", // Mozambique
122        "NA", // Namibia
123        "NR", // Nauru
124        "NP", // Nepal
125        "NL", // Netherlands
126        "NZ", // New Zealand
127        "NE", // Niger
128        "NG", // Nigeria
129        "MK", // North Macedonia
130        "NO", // Norway
131        "OM", // Oman
132        "PK", // Pakistan
133        "PW", // Palau
134        "PS", // Palestine
135        "PA", // Panama
136        "PG", // Papua New Guinea
137        "PY", // Paraguay
138        "PE", // Peru
139        "PH", // Philippines
140        "PL", // Poland
141        "PT", // Portugal
142        "QA", // Qatar
143        "RO", // Romania
144        "RW", // Rwanda
145        "KN", // Saint Kitts and Nevis
146        "LC", // Saint Lucia
147        "VC", // Saint Vincent and the Grenadines
148        "WS", // Samoa
149        "SM", // San Marino
150        "ST", // São Tomé and Príncipe
151        "SA", // Saudi Arabia
152        "SN", // Senegal
153        "RS", // Serbia
154        "SC", // Seychelles
155        "SL", // Sierra Leone
156        "SG", // Singapore
157        "SK", // Slovakia
158        "SI", // Slovenia
159        "SB", // Solomon Islands
160        "ZA", // South Africa
161        "KR", // South Korea
162        "ES", // Spain
163        "LK", // Sri Lanka
164        "SR", // Suriname
165        "SE", // Sweden
166        "CH", // Switzerland
167        "TW", // Taiwan
168        "TJ", // Tajikistan
169        "TZ", // Tanzania
170        "TH", // Thailand
171        "TL", // Timor-Leste
172        "TG", // Togo
173        "TO", // Tonga
174        "TT", // Trinidad and Tobago
175        "TN", // Tunisia
176        "TR", // Türkiye (Turkey)
177        "TM", // Turkmenistan
178        "TV", // Tuvalu
179        "UG", // Uganda
180        "UA", // Ukraine (except Crimea, Donetsk, and Luhansk regions)
181        "AE", // United Arab Emirates
182        "GB", // United Kingdom
183        "US", // United States of America
184        "UY", // Uruguay
185        "UZ", // Uzbekistan
186        "VU", // Vanuatu
187        "VA", // Vatican City
188        "VN", // Vietnam
189        "ZM", // Zambia
190        "ZW", // Zimbabwe
191    ]
192    .into_iter()
193    .collect()
194});