232 lines · 6.4 KB · Rust
RawDownload
use std::collections::HashSet;use std::sync::LazyLock; /// Returns whether the given country code is supported by Google Gemini.////// <https://ai.google.dev/gemini-api/docs/available-regions>pub fn is_supported_country(country_code: &str) -> bool {    SUPPORTED_COUNTRIES.contains(&country_code)} /// The list of country codes supported by Google Gemini.////// https://ai.google.dev/gemini-api/docs/available-regionsstatic SUPPORTED_COUNTRIES: LazyLock<HashSet<&'static str>> = LazyLock::new(|| {    vec![        "DZ", // Algeria        "AS", // American Samoa        "AO", // Angola        "AI", // Anguilla        "AQ", // Antarctica        "AG", // Antigua and Barbuda        "AR", // Argentina        "AM", // Armenia        "AW", // Aruba        "AU", // Australia        "AT", // Austria        "AZ", // Azerbaijan        "BS", // The Bahamas        "BH", // Bahrain        "BD", // Bangladesh        "BB", // Barbados        "BE", // Belgium        "BZ", // Belize        "BJ", // Benin        "BM", // Bermuda        "BT", // Bhutan        "BO", // Bolivia        "BW", // Botswana        "BR", // Brazil        "IO", // British Indian Ocean Territory        "VG", // British Virgin Islands        "BN", // Brunei        "BG", // Bulgaria        "BF", // Burkina Faso        "BI", // Burundi        "CV", // Cabo Verde        "KH", // Cambodia        "CM", // Cameroon        "CA", // Canada        "BQ", // Caribbean Netherlands        "KY", // Cayman Islands        "CF", // Central African Republic        "TD", // Chad        "CL", // Chile        "CX", // Christmas Island        "CC", // Cocos (Keeling) Islands        "CO", // Colombia        "KM", // Comoros        "CK", // Cook Islands        "CI", // Côte d'Ivoire        "CR", // Costa Rica        "HR", // Croatia        "CW", // Curaçao        "CZ", // Czech Republic        "CD", // Democratic Republic of the Congo        "DK", // Denmark        "DJ", // Djibouti        "DM", // Dominica        "DO", // Dominican Republic        "EC", // Ecuador        "EG", // Egypt        "SV", // El Salvador        "GQ", // Equatorial Guinea        "ER", // Eritrea        "EE", // Estonia        "SZ", // Eswatini        "ET", // Ethiopia        "FK", // Falkland Islands (Islas Malvinas)        "FJ", // Fiji        "FI", // Finland        "FR", // France        "GA", // Gabon        "GM", // The Gambia        "GE", // Georgia        "DE", // Germany        "GH", // Ghana        "GI", // Gibraltar        "GR", // Greece        "GD", // Grenada        "GU", // Guam        "GT", // Guatemala        "GG", // Guernsey        "GN", // Guinea        "GW", // Guinea-Bissau        "GY", // Guyana        "HT", // Haiti        "HM", // Heard Island and McDonald Islands        "HN", // Honduras        "HU", // Hungary        "IS", // Iceland        "IN", // India        "ID", // Indonesia        "IQ", // Iraq        "IE", // Ireland        "IM", // Isle of Man        "IL", // Israel        "IT", // Italy        "JM", // Jamaica        "JP", // Japan        "JE", // Jersey        "JO", // Jordan        "KZ", // Kazakhstan        "KE", // Kenya        "KI", // Kiribati        "KG", // Kyrgyzstan        "KW", // Kuwait        "LA", // Laos        "LV", // Latvia        "LB", // Lebanon        "LS", // Lesotho        "LR", // Liberia        "LY", // Libya        "LI", // Liechtenstein        "LT", // Lithuania        "LU", // Luxembourg        "MG", // Madagascar        "MW", // Malawi        "MY", // Malaysia        "MV", // Maldives        "ML", // Mali        "MT", // Malta        "MH", // Marshall Islands        "MR", // Mauritania        "MU", // Mauritius        "MX", // Mexico        "FM", // Micronesia        "MN", // Mongolia        "MS", // Montserrat        "MA", // Morocco        "MZ", // Mozambique        "NA", // Namibia        "NR", // Nauru        "NP", // Nepal        "NL", // Netherlands        "NC", // New Caledonia        "NZ", // New Zealand        "NI", // Nicaragua        "NE", // Niger        "NG", // Nigeria        "NU", // Niue        "NF", // Norfolk Island        "MP", // Northern Mariana Islands        "NO", // Norway        "OM", // Oman        "PK", // Pakistan        "PW", // Palau        "PS", // Palestine        "PA", // Panama        "PG", // Papua New Guinea        "PY", // Paraguay        "PE", // Peru        "PH", // Philippines        "PN", // Pitcairn Islands        "PL", // Poland        "PT", // Portugal        "PR", // Puerto Rico        "QA", // Qatar        "CY", // Republic of Cyprus        "CG", // Republic of the Congo        "RO", // Romania        "RW", // Rwanda        "BL", // Saint Barthélemy        "KN", // Saint Kitts and Nevis        "LC", // Saint Lucia        "PM", // Saint Pierre and Miquelon        "VC", // Saint Vincent and the Grenadines        "SH", // Saint Helena, Ascension and Tristan da Cunha        "WS", // Samoa        "ST", // São Tomé and Príncipe        "SA", // Saudi Arabia        "SN", // Senegal        "SC", // Seychelles        "SL", // Sierra Leone        "SG", // Singapore        "SK", // Slovakia        "SI", // Slovenia        "SB", // Solomon Islands        "SO", // Somalia        "ZA", // South Africa        "GS", // South Georgia and the South Sandwich Islands        "KR", // South Korea        "SS", // South Sudan        "ES", // Spain        "LK", // Sri Lanka        "SD", // Sudan        "SR", // Suriname        "SE", // Sweden        "CH", // Switzerland        "TW", // Taiwan        "TJ", // Tajikistan        "TZ", // Tanzania        "TH", // Thailand        "TL", // Timor-Leste        "TG", // Togo        "TK", // Tokelau        "TO", // Tonga        "TT", // Trinidad and Tobago        "TN", // Tunisia        "TR", // Türkiye        "TM", // Turkmenistan        "TC", // Turks and Caicos Islands        "TV", // Tuvalu        "UG", // Uganda        "GB", // United Kingdom        "AE", // United Arab Emirates        "US", // United States        "UM", // United States Minor Outlying Islands        "VI", // U.S. Virgin Islands        "UY", // Uruguay        "UZ", // Uzbekistan        "VU", // Vanuatu        "VE", // Venezuela        "VN", // Vietnam        "WF", // Wallis and Futuna        "EH", // Western Sahara        "YE", // Yemen        "ZM", // Zambia        "ZW", // Zimbabwe    ]    .into_iter()    .collect()});