UNPKG

african-states-and-tribes

Version:

This project provides comprehensive insights into African countries, the origins of various tribes, and their geographic distributions. Built to celebrate and document Africa’s rich multicultural landscape, it allows users to explore the continent’s diver

1,482 lines (1,478 loc) 34.4 kB
import { __glob } from "./chunk-4UEJOM6W.mjs"; // src/data/africa/countries.json var countries_default = { AO: { phoneCode: 244, capitalCity: "Luanda", colonialMaster: [ { name: "Portugal", countryCode: "PT" } ], countryCode: "AO", flagEmoji: "\u{1F1E6}\u{1F1F4}", name: "Angola", currency: "Angolan kwanza", currencyCode: "AOA", currencySymbol: "Kz", officialLanguage: "Portuguese", majorEthnicGroups: ["Bakongo", "Mbundu", "Ovimbundu"], timezones: [ { iana: "Africa/Luanda", gmtOffset: "+01:00" } ] }, BJ: { phoneCode: 229, capitalCity: "Porto-Novo", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "BJ", flagEmoji: "\u{1F1E7}\u{1F1EF}", name: "Benin", currency: "West African CFA franc", currencyCode: "XOF", currencySymbol: "Fr", officialLanguage: "French", majorEthnicGroups: ["Bariba", "Fon (Dahomey)", "Yoruba"], timezones: [ { iana: "Africa/Porto-Novo", gmtOffset: "+01:00" } ] }, BW: { phoneCode: 267, capitalCity: "Gaborone", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "BW", flagEmoji: "\u{1F1E7}\u{1F1FC}", name: "Botswana", currency: "Botswana pula", currencyCode: "BWP", currencySymbol: "P", officialLanguage: "Setswana", majorEthnicGroups: ["Basarwa", "Kalanga", "Tswana"], timezones: [ { iana: "Africa/Gaborone", gmtOffset: "+02:00" } ] }, BF: { phoneCode: 226, capitalCity: "Ouagadougou", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "BF", flagEmoji: "\u{1F1E7}\u{1F1EB}", name: "Burkina Faso", currency: "West African CFA franc", currencyCode: "XOF", currencySymbol: "Fr", officialLanguage: "French", majorEthnicGroups: ["Mossi"], timezones: [ { iana: "Africa/Ouagadougou", gmtOffset: "+00:00" } ] }, BI: { phoneCode: 257, capitalCity: "Bujumbura", colonialMaster: [ { name: "Germany", countryCode: "DE" }, { name: "Belgium", countryCode: "BE" } ], countryCode: "BI", flagEmoji: "\u{1F1E7}\u{1F1EE}", name: "Burundi", currency: "Burundi franc", currencyCode: "BIF", currencySymbol: "FBu", officialLanguage: "Kirundi", majorEthnicGroups: ["Hutu", "Tutsi", "Twa"], timezones: [ { iana: "Africa/Bujumbura", gmtOffset: "+02:00" } ] }, CV: { phoneCode: 238, capitalCity: "Praia", colonialMaster: [ { name: "Portugal", countryCode: "PT" } ], countryCode: "CV", flagEmoji: "\u{1F1E8}\u{1F1FB}", name: "Cabo Verde", currency: "Cape Verdean escudo", currencyCode: "CVE", currencySymbol: "$", officialLanguage: "Portuguese", majorEthnicGroups: ["Creole"], timezones: [ { iana: "Atlantic/Cape_Verde", gmtOffset: "-01:00" } ] }, CM: { phoneCode: 237, capitalCity: "Yaound\xE9", colonialMaster: [ { name: "Germany", countryCode: "DE" }, { name: "France", countryCode: "FR" }, { name: "United Kingdom", countryCode: "GB" } ], countryCode: "CM", flagEmoji: "\u{1F1E8}\u{1F1F2}", name: "Cameroon", currency: "Central African CFA franc", currencyCode: "XAF", currencySymbol: "Fr", officialLanguage: "Major African languages", majorEthnicGroups: ["Beti", "Fang", "Fulani"], timezones: [ { iana: "Africa/Douala", gmtOffset: "+01:00" } ] }, CF: { phoneCode: 236, capitalCity: "Bangui", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "CF", flagEmoji: "\u{1F1E8}\u{1F1EB}", name: "Central African Republic", currency: "Central African CFA franc", currencyCode: "XAF", currencySymbol: "Fr", officialLanguage: "French", majorEthnicGroups: ["Banda", "Gbaya", "Mandja"], timezones: [ { iana: "Africa/Bangui", gmtOffset: "+01:00" } ] }, DZ: { phoneCode: 213, capitalCity: "Algiers", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "", flagEmoji: "\u{1F1E9}\u{1F1FF}", name: "Algeria", currency: "Algerian dinar", currencyCode: "DZD", currencySymbol: "\u062F.\u062C", officialLanguage: "Arabic", majorEthnicGroups: ["Arabs", "Berbers"], timezones: [ { iana: "Africa/Algiers", gmtOffset: "+01:00" } ] }, TD: { phoneCode: 235, capitalCity: "N'Djamena", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "TD", flagEmoji: "\u{1F1F9}\u{1F1E9}", name: "Chad", currency: "Central African CFA franc", currencyCode: "XAF", currencySymbol: "Fr", officialLanguage: "French", majorEthnicGroups: ["Arabs", "Mayo-Kebbi", "Sara"], timezones: [ { iana: "Africa/Ndjamena", gmtOffset: "+01:00" } ] }, KM: { phoneCode: 269, capitalCity: "Moroni", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "KM", flagEmoji: "\u{1F1F0}\u{1F1F2}", name: "Comoros", currency: "Comorian franc", currencyCode: "KMF", currencySymbol: "CF", officialLanguage: "Arabic", majorEthnicGroups: ["Comorian"], timezones: [ { iana: "Indian/Comoro", gmtOffset: "+03:00" } ] }, CD: { phoneCode: 243, capitalCity: "Kinshasa", colonialMaster: [ { name: "Belgium", countryCode: "BE" } ], countryCode: "CD", flagEmoji: "\u{1F1E8}\u{1F1E9}", name: "Democratic Republic of the Congo", currency: "Congolese franc", currencyCode: "CDF", currencySymbol: "FC", officialLanguage: "French", majorEthnicGroups: ["Kongo", "Luba", "Mongo", "Tutsi"], timezones: [ { iana: "Africa/Kinshasa", gmtOffset: "+01:00" }, { iana: "Africa/Lubumbashi", gmtOffset: "+02:00" } ] }, CG: { phoneCode: 242, capitalCity: "Brazzaville", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "CG", flagEmoji: "\u{1F1E8}\u{1F1EC}", name: "Republic of the Congo", currency: "Central African CFA franc", currencyCode: "XAF", currencySymbol: "Fr", officialLanguage: "French", majorEthnicGroups: ["Kongo", "Teke", "Sangha"], timezones: [ { iana: "Africa/Brazzaville", gmtOffset: "+01:00" } ] }, CI: { phoneCode: 225, capitalCity: "Yamoussoukro", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "CI", flagEmoji: "\u{1F1E8}\u{1F1EE}", name: "Cote D'Ivoire", currency: "West African CFA franc", currencyCode: "XOF", currencySymbol: "Fr", officialLanguage: "French", majorEthnicGroups: ["Akan", "Mand\xE9", "Krou", "Gur"], timezones: [ { iana: "Africa/Abidjan", gmtOffset: "+00:00" } ] }, DJ: { phoneCode: 253, capitalCity: "Djibouti (city)", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "DJ", flagEmoji: "\u{1F1E9}\u{1F1EF}", name: "Djibouti", currency: "Djiboutian franc", currencyCode: "DJF", currencySymbol: "Fdj", officialLanguage: "French", majorEthnicGroups: ["Afar", "Issa"], timezones: [ { iana: "Africa/Djibouti", gmtOffset: "+03:00" } ] }, EG: { phoneCode: 20, capitalCity: "Cairo", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "EG", flagEmoji: "\u{1F1EA}\u{1F1EC}", name: "Egypt", currency: "Egyptian Pound", currencyCode: "EGP", currencySymbol: "\xA3", officialLanguage: "Arabic", majorEthnicGroups: ["Arabs", "Bedouin", "Nubian"], timezones: [ { iana: "Africa/Cairo", gmtOffset: "+02:00" } ] }, GQ: { phoneCode: 240, capitalCity: "Malabo", colonialMaster: [ { name: "Spain", countryCode: "ES" } ], countryCode: "GQ", flagEmoji: "\u{1F1EC}\u{1F1F6}", name: "Equatorial Guinea", currency: "Central African CFA franc", currencyCode: "XAF", currencySymbol: "Fr", officialLanguage: "Spanish", majorEthnicGroups: ["Bubi", "Fang"], timezones: [ { iana: "Africa/Malabo", gmtOffset: "+01:00" } ] }, ER: { phoneCode: 291, capitalCity: "Asmara", colonialMaster: [ { name: "Italy", countryCode: "IT" }, { name: "United Kingdom", countryCode: "GB" } ], countryCode: "ER", flagEmoji: "\u{1F1EA}\u{1F1F7}", name: "Eritrea", currency: "Eritrean nakfa", currencyCode: "ERN", currencySymbol: "Nkf", officialLanguage: "Afar", majorEthnicGroups: ["Afar", "Tigrinya"], timezones: [ { iana: "Africa/Asmara", gmtOffset: "+03:00" } ] }, ET: { phoneCode: 251, capitalCity: "Addis Ababa", colonialMaster: [], countryCode: "ET", flagEmoji: "\u{1F1EA}\u{1F1F9}", name: "Ethiopia", currency: "Ethiopian birr", currencyCode: "ETB", currencySymbol: "Br", officialLanguage: "Amharic", majorEthnicGroups: ["Amhara", "Oromo", "Somali", "Tigray"], timezones: [ { iana: "Africa/Addis_Ababa", gmtOffset: "+03:00" } ] }, GA: { phoneCode: 241, capitalCity: "Libreville", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "GA", flagEmoji: "\u{1F1EC}\u{1F1E6}", name: "Gabon", currency: "Central African CFA franc", currencyCode: "XAF", currencySymbol: "Fr", officialLanguage: "French", majorEthnicGroups: ["Fang", "Nzebi", "Punu"], timezones: [ { iana: "Africa/Libreville", gmtOffset: "+01:00" } ] }, GH: { phoneCode: 233, capitalCity: "Accra", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "GH", flagEmoji: "\u{1F1EC}\u{1F1ED}", name: "Ghana", currency: "Ghanaian cedi", currencyCode: "GHS", currencySymbol: "\u20B5", officialLanguage: "English", majorEthnicGroups: ["Akan", "Ewe"], timezones: [ { iana: "Africa/Accra", gmtOffset: "+00:00" } ] }, GM: { phoneCode: 220, capitalCity: "Banjul", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "GM", flagEmoji: "\u{1F1EC}\u{1F1F2}", name: "Gambia", currency: "Dalasi", currencyCode: "GMD", currencySymbol: "D", officialLanguage: "English", majorEthnicGroups: ["Fula", "Mandinka", "Wolof"], timezones: [ { iana: "Africa/Banjul", gmtOffset: "+00:00" } ] }, GN: { phoneCode: 224, capitalCity: "Conakry", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "GN", flagEmoji: "\u{1F1EC}\u{1F1F3}", name: "Guinea", currency: "Guinean franc", currencyCode: "GNF", currencySymbol: "FG", officialLanguage: "French", majorEthnicGroups: ["Fulani", "Malinke", "Susu"], timezones: [ { iana: "Africa/Conakry", gmtOffset: "+00:00" } ] }, GW: { phoneCode: 245, capitalCity: "Bissau", colonialMaster: [ { name: "Portugal", countryCode: "PT" } ], countryCode: "GW", flagEmoji: "\uFFFD\uFFFD\u{1F1FC}", name: "Guinea-Bissau", currency: "West African CFA franc", currencyCode: "XOF", currencySymbol: "Fr", officialLanguage: "Portuguese", majorEthnicGroups: ["Balanta", "Fula", "Mandinka"], timezones: [ { iana: "Africa/Bissau", gmtOffset: "+00:00" } ] }, KE: { phoneCode: 254, capitalCity: "Nairobi", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "KE", flagEmoji: "\u{1F1F0}\u{1F1EA}", name: "Kenya", currency: "Kenyan shilling", currencyCode: "KES", currencySymbol: "KSh", officialLanguage: "English", majorEthnicGroups: ["Kalenjin", "Kikuyu", "Luo", "Maasai"], timezones: [ { iana: "Africa/Nairobi", gmtOffset: "+03:00" } ] }, LS: { phoneCode: 266, capitalCity: "Maseru", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "LS", flagEmoji: "\u{1F1F1}\u{1F1F8}", name: "Lesotho", currency: "Lesotho loti", currencyCode: "LSL", currencySymbol: "L", officialLanguage: "Sesotho", majorEthnicGroups: ["Basotho"], timezones: [ { iana: "Africa/Maseru", gmtOffset: "+02:00" } ] }, LR: { phoneCode: 231, capitalCity: "Monrovia", colonialMaster: [], countryCode: "LR", flagEmoji: "\u{1F1F1}\u{1F1F7}", name: "Liberia", currency: "Liberian Dollar", currencyCode: "LRD", currencySymbol: "**$", officialLanguage: "English", majorEthnicGroups: ["Bassa", "Kpelle", "Gio"], timezones: [ { iana: "Africa/Monrovia", gmtOffset: "+00:00" } ] }, LY: { phoneCode: 218, capitalCity: "Tripoli", colonialMaster: [ { name: "Italy", countryCode: "IT" }, { name: "United Kingdom", countryCode: "GB" }, { name: "France", countryCode: "FR" } ], countryCode: "LY", flagEmoji: "\u{1F1F1}\u{1F1FE}", name: "Libya", currency: "Libyan dinar", currencyCode: "LYD", currencySymbol: "\u062F.\u0644", officialLanguage: "Arabic", majorEthnicGroups: ["Arabs", "Berbers"], timezones: [ { iana: "Africa/Tripoli", gmtOffset: "+02:00" } ] }, MG: { phoneCode: 261, capitalCity: "Antananarivo", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "MG", flagEmoji: "\u{1F1F2}\u{1F1EC}", name: "Madagascar", currency: "Malagasy ariary", currencyCode: "MGA", currencySymbol: "Ar", officialLanguage: "French", majorEthnicGroups: ["Betsileo", "Betsimisaraka", "Merina"], timezones: [ { iana: "Indian/Antananarivo", gmtOffset: "+03:00" } ] }, MW: { phoneCode: 265, capitalCity: "Lilongwe", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "MW", flagEmoji: "\u{1F1F2}\u{1F1FC}", name: "Malawi", currency: "Malawian kwacha", currencyCode: "MWK", currencySymbol: "K", officialLanguage: "Chichewa", majorEthnicGroups: ["Chewa", "Tumbuka", "Yao"], timezones: [ { iana: "Indian/Antananarivo", gmtOffset: "+03:00" } ] }, ML: { phoneCode: 223, capitalCity: "Bamako", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "ML", flagEmoji: "\u{1F1F2}\u{1F1F1}", name: "Mali", currency: "West African CFA franc", currencyCode: "XOF", currencySymbol: "Fr", officialLanguage: "French", majorEthnicGroups: ["Bambara", "Dogon", "Tuareg"], timezones: [ { iana: "Africa/Bamako", gmtOffset: "+00:00" } ] }, MR: { phoneCode: 222, capitalCity: "Nouakchott", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "MR", flagEmoji: "\u{1F1F2}\u{1F1F7}", name: "Mauritania", currency: "Mauritanian ouguiya", currencyCode: "MRU", currencySymbol: "UM", officialLanguage: "Arabic", majorEthnicGroups: ["Moor", "Soninke"], timezones: [ { iana: "Africa/Nouakchott", gmtOffset: "+00:00" } ] }, MU: { phoneCode: 230, capitalCity: "Port Louis", colonialMaster: [ { name: "Netherlands", countryCode: "NL" }, { name: "Germany", countryCode: "DE" }, { name: "United Kingdom", countryCode: "GB" } ], countryCode: "MU", flagEmoji: "\u{1F1F2}\u{1F1FA}", name: "Mauritius", currency: "Mauritian rupee", currencyCode: "MUR", currencySymbol: "\u20A8", officialLanguage: "Creole", majorEthnicGroups: ["Indo-Mauritian", "Creole"], timezones: [ { iana: "Indian/Mauritius", gmtOffset: "+04:00" } ] }, MA: { phoneCode: 212, capitalCity: "Rabat", colonialMaster: [ { name: "France", countryCode: "FR" }, { name: "Spain", countryCode: "ES" } ], countryCode: "MA", flagEmoji: "\u{1F1F2}\u{1F1E6}", name: "Morocco", currency: "Moroccan dirham", currencyCode: "MAD", currencySymbol: "\u062F.\u0645.", officialLanguage: "Arabic", majorEthnicGroups: ["Arabs", "Berbers"], timezones: [ { iana: "Africa/Casablanca", gmtOffset: "+01:00" } ] }, MZ: { phoneCode: 258, capitalCity: "Maputo", colonialMaster: [ { name: "Portugal", countryCode: "PT" } ], countryCode: "MZ", flagEmoji: "\u{1F1F2}\u{1F1FF}", name: "Mozambique", currency: "Mozambican metical", currencyCode: "MZN", currencySymbol: "MT", officialLanguage: "Emakhuwa", majorEthnicGroups: ["Makua", "Sena", "Tsonga"], timezones: [ { iana: "Africa/Maputo", gmtOffset: "+02:00" } ] }, NA: { phoneCode: 264, capitalCity: "Windhoek", colonialMaster: [ { name: "Germany", countryCode: "DE" } ], countryCode: "NA", flagEmoji: "\u{1F1F3}\u{1F1E6}", name: "Namibia", currency: "Namibian Dollar", currencyCode: "NAD", currencySymbol: "$", officialLanguage: null, majorEthnicGroups: ["Herero", "Nama", "Ovambo"], timezones: [ { iana: "Africa/Windhoek", gmtOffset: "+02:00" } ] }, NE: { phoneCode: 227, capitalCity: "Niamey", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "NE", flagEmoji: "\u{1F1F3}\u{1F1EA}", name: "Niger", currency: "West African CFA franc", currencyCode: "XOF", currencySymbol: "Fr", officialLanguage: "French", majorEthnicGroups: ["Hausa", "Tuareg", "Zarma"], timezones: [ { iana: "Africa/Niamey", gmtOffset: "+01:00" } ] }, NG: { phoneCode: 234, capitalCity: "Abuja", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "NG", flagEmoji: "\u{1F1F3}\u{1F1EC}", name: "Nigeria", currency: "Nigerian naira", currencyCode: "NGN", currencySymbol: "\u20A6", officialLanguage: "English", majorEthnicGroups: ["Fulani", "Hausa", "Igbo", "Yoruba"], timezones: [ { iana: "Africa/Lagos", gmtOffset: "+01:00" } ] }, RW: { phoneCode: 250, capitalCity: "Kigali", colonialMaster: [ { name: "Germany", countryCode: "DE" }, { name: "Belgium", countryCode: "BE" } ], countryCode: "RW", flagEmoji: "\u{1F1F7}\u{1F1FC}", name: "Rwanda", currency: "Rwandan franc", currencyCode: "RWF", currencySymbol: "Fr", officialLanguage: "Kinyarwanda", majorEthnicGroups: ["Hutu", "Tutsi", "Twa"], timezones: [ { iana: "Africa/Kigali", gmtOffset: "+02:00" } ] }, ST: { phoneCode: 239, capitalCity: "S\xE3o Tom\xE9", colonialMaster: [ { name: "Portugal", countryCode: "PT" } ], countryCode: "ST", flagEmoji: "\u{1F1F8}\u{1F1F9}", name: "Sao Tome And Principe", currency: "Sao Tome and Principe dobra", currencyCode: "STN", currencySymbol: "Db", officialLanguage: "Portuguese", majorEthnicGroups: ["Angolares", "Forro"], timezones: [ { iana: "Africa/Sao_Tome", gmtOffset: "+00:00" } ] }, SN: { phoneCode: 221, capitalCity: "Dakar", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "SN", flagEmoji: "\u{1F1F8}\u{1F1F3}", name: "Senegal", currency: "West African CFA franc", currencyCode: "XOF", currencySymbol: "Fr", officialLanguage: "French", majorEthnicGroups: ["Peulh", "Serer", "Wolof"], timezones: [ { iana: "Africa/Dakar", gmtOffset: "+00:00" } ] }, SC: { phoneCode: 248, capitalCity: "Victoria", colonialMaster: [ { name: "France", countryCode: "FR" }, { name: "United Kingdom", countryCode: "GB" } ], countryCode: "SC", flagEmoji: "\u{1F1F8}\u{1F1E8}", name: "Seychelles", currency: "Seychellois rupee", currencyCode: "SCR", currencySymbol: "\u20A8", officialLanguage: "Creole", majorEthnicGroups: ["Creole"], timezones: [ { iana: "Indian/Mahe", gmtOffset: "+04:00" } ] }, SL: { phoneCode: 232, capitalCity: "Freetown", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "SL", flagEmoji: "\u{1F1F8}\u{1F1F1}", name: "Sierra Leone", currency: "Sierra Leonean leone", currencyCode: "SLL", currencySymbol: "Le", officialLanguage: "English", majorEthnicGroups: ["Limba", "Mende", "Temne"], timezones: [ { iana: "Africa/Freetown", gmtOffset: "+00:00" } ] }, SO: { phoneCode: 252, capitalCity: "Mogadishu", colonialMaster: [ { name: "Italy", countryCode: "IT" }, { name: "United Kingdom", countryCode: "GB" } ], countryCode: "SO", flagEmoji: "\u{1F1F8}\u{1F1F4}", name: "Somalia", currency: "Somali shilling", currencyCode: "SOS", currencySymbol: "Sh", officialLanguage: "Somali", majorEthnicGroups: ["Arabs", "Bantu", "Somali"], timezones: [ { iana: "Africa/Mogadishu", gmtOffset: "+03:00" } ] }, ZA: { phoneCode: 27, capitalCity: "Pretoria / Cape Town", colonialMaster: [ { name: "Netherlands", countryCode: "NL" }, { name: "United Kingdom", countryCode: "GB" } ], countryCode: "ZA", flagEmoji: "\u{1F1FF}\u{1F1E6}", name: "South Africa", currency: "South African rand", currencyCode: "ZAR", currencySymbol: "R", officialLanguage: "IsiZulu", majorEthnicGroups: ["Afrikaner", "Sotho", "Xhosa", "Zulu"], timezones: [ { iana: "Africa/Johannesburg", gmtOffset: "+02:00" } ] }, SS: { phoneCode: 211, capitalCity: "Juba", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "SS", flagEmoji: "\u{1F1F8}\u{1F1F8}", name: "South Sudan", currency: "South Sudanese Pound", currencyCode: "SSP", currencySymbol: "\xA3", officialLanguage: "Arabic", majorEthnicGroups: ["Dinka", "Nuer", "Shilluk"], timezones: [ { iana: "Africa/Juba", gmtOffset: "+03:00" } ] }, SD: { phoneCode: 249, capitalCity: "Khartoum", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" }, { name: "Egypt", countryCode: "EG" } ], countryCode: "SD", flagEmoji: "\u{1F1F8}\u{1F1E9}", name: "Sudan", currency: "Sudanese Pound", currencyCode: "SDG", currencySymbol: "\u062C.\u0633.", officialLanguage: "Arabic", majorEthnicGroups: ["Fur", "Nubian"], timezones: [ { iana: "Africa/Khartoum", gmtOffset: "+02:00" } ] }, SZ: { phoneCode: 268, capitalCity: "Mbabane", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "SZ", flagEmoji: "\u{1F1F8}\u{1F1FF}", name: "Eswatini", currency: "Swazi lilangeni", currencyCode: "SZL", currencySymbol: "E", officialLanguage: "English", majorEthnicGroups: ["Swazi", "Nguni"], timezones: [ { iana: "Africa/Mbabane", gmtOffset: "+02:00" } ] }, TZ: { phoneCode: 255, capitalCity: "Dodoma", colonialMaster: [ { name: "Germany", countryCode: "DE" }, { name: "United Kingdom", countryCode: "GB" } ], countryCode: "TZ", flagEmoji: "\u{1F1F9}\u{1F1FF}", name: "Tanzania", currency: "Tanzanian shilling", currencyCode: "TZS", currencySymbol: "TSh", officialLanguage: "Kiswahili or Swahili", majorEthnicGroups: ["Sukuma", "Chaga", "Haya"], timezones: [ { iana: "Africa/Dar_es_Salaam", gmtOffset: "+03:00" } ] }, TG: { phoneCode: 228, capitalCity: "Lom\xE9", colonialMaster: [ { name: "Germany", countryCode: "DE" }, { name: "France", countryCode: "FR" }, { name: "United Kingdom", countryCode: "GB" } ], countryCode: "TG", flagEmoji: "\u{1F1F9}\u{1F1EC}", name: "Togo", currency: "West African CFA franc", currencyCode: "XOF", currencySymbol: "Fr", officialLanguage: "French", majorEthnicGroups: ["Ewe", "Kabye"], timezones: [ { iana: "Africa/Lome", gmtOffset: "+00:00" } ] }, TN: { phoneCode: 216, capitalCity: "Tunis", colonialMaster: [ { name: "France", countryCode: "FR" } ], countryCode: "TN", flagEmoji: "\u{1F1F9}\u{1F1F3}", name: "Tunisia", currency: "Tunisian dinar", currencyCode: "TND", currencySymbol: "\u062F.\u062A", officialLanguage: "Arabic", majorEthnicGroups: ["Arabs", "Berbers"], timezones: [ { iana: "Africa/Tunis", gmtOffset: "+01:00" } ] }, UG: { phoneCode: 256, capitalCity: "Kampala", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "UG", flagEmoji: "\u{1F1FA}\u{1F1EC}", name: "Uganda", currency: "Ugandan shilling", currencyCode: "UGX", currencySymbol: "USh", officialLanguage: "English", majorEthnicGroups: ["Baganda", "Banyankore", "Basoga"], timezones: [ { iana: "Africa/Kampala", gmtOffset: "+03:00" } ] }, ZM: { phoneCode: 260, capitalCity: "Lusaka", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "ZM", flagEmoji: "\u{1F1FF}\u{1F1F2}", name: "Zambia", currency: "Zambian kwacha", currencyCode: "ZMW", currencySymbol: "ZK", officialLanguage: "English", majorEthnicGroups: ["Bemba", "Lozi", "Tonga"], timezones: [ { iana: "Africa/Lusaka", gmtOffset: "+02:00" } ] }, ZW: { phoneCode: 263, capitalCity: "Harare", colonialMaster: [ { name: "United Kingdom", countryCode: "GB" } ], countryCode: "ZW", flagEmoji: "\u{1F1FF}\u{1F1FC}", name: "Zimbabwe", currency: "Zimbabwean Dollar", currencyCode: "ZWL", currencySymbol: "$", officialLanguage: "English", majorEthnicGroups: ["Ndebele", "Shona"], timezones: [ { iana: "Africa/Harare", gmtOffset: "+02:00" } ] } }; // import("./data/africa/tribes/**/*.json") in src/index.ts var globImport_data_africa_tribes_json = __glob({ "./data/africa/tribes/AO.json": () => import("./AO-KTWONNYZ.mjs"), "./data/africa/tribes/BF.json": () => import("./BF-O7TBSCCA.mjs"), "./data/africa/tribes/BI.json": () => import("./BI-DLK4YMGO.mjs"), "./data/africa/tribes/BJ.json": () => import("./BJ-PNML7KGU.mjs"), "./data/africa/tribes/BW.json": () => import("./BW-CNU7L4NH.mjs"), "./data/africa/tribes/CD.json": () => import("./CD-3L2NXQVL.mjs"), "./data/africa/tribes/CF.json": () => import("./CF-ESX77N6V.mjs"), "./data/africa/tribes/CG.json": () => import("./CG-VO3X7LDQ.mjs"), "./data/africa/tribes/CI.json": () => import("./CI-GS6CFDT3.mjs"), "./data/africa/tribes/CM.json": () => import("./CM-BTFLGGR5.mjs"), "./data/africa/tribes/CV.json": () => import("./CV-UT67RQS3.mjs"), "./data/africa/tribes/DJ.json": () => import("./DJ-ZMQOBOIG.mjs"), "./data/africa/tribes/DZ.json": () => import("./DZ-LPE6ZB5C.mjs"), "./data/africa/tribes/EG.json": () => import("./EG-SP5CNNNV.mjs"), "./data/africa/tribes/ER.json": () => import("./ER-UP22LPAH.mjs"), "./data/africa/tribes/ET.json": () => import("./ET-OBCUOADT.mjs"), "./data/africa/tribes/GA.json": () => import("./GA-MAVC3U4Q.mjs"), "./data/africa/tribes/GH.json": () => import("./GH-6ZWTNM6E.mjs"), "./data/africa/tribes/GM.json": () => import("./GM-3TYRGF43.mjs"), "./data/africa/tribes/GN.json": () => import("./GN-J26OKD3H.mjs"), "./data/africa/tribes/GQ.json": () => import("./GQ-TVJPRBZ4.mjs"), "./data/africa/tribes/GW.json": () => import("./GW-BXXBSDB3.mjs"), "./data/africa/tribes/KE.json": () => import("./KE-FR37ZDM6.mjs"), "./data/africa/tribes/KM.json": () => import("./KM-2T7XZQOW.mjs"), "./data/africa/tribes/LR.json": () => import("./LR-SDYDWBD2.mjs"), "./data/africa/tribes/LS.json": () => import("./LS-WW7EJFSS.mjs"), "./data/africa/tribes/LY.json": () => import("./LY-GLNCPO5D.mjs"), "./data/africa/tribes/MA.json": () => import("./MA-4JTQR5LC.mjs"), "./data/africa/tribes/MG.json": () => import("./MG-V4B3MJ27.mjs"), "./data/africa/tribes/ML.json": () => import("./ML-5UC2UZFE.mjs"), "./data/africa/tribes/MR.json": () => import("./MR-V7C27OIX.mjs"), "./data/africa/tribes/MU.json": () => import("./MU-2QTJWWOZ.mjs"), "./data/africa/tribes/MW.json": () => import("./MW-QHGL2IKS.mjs"), "./data/africa/tribes/MZ.json": () => import("./MZ-5UZ67NUU.mjs"), "./data/africa/tribes/NA.json": () => import("./NA-5VDTGOMK.mjs"), "./data/africa/tribes/NE.json": () => import("./NE-ZOWNVUFW.mjs"), "./data/africa/tribes/NG.json": () => import("./NG-RETX6WJ4.mjs"), "./data/africa/tribes/RW.json": () => import("./RW-GQU5ZEII.mjs"), "./data/africa/tribes/SC.json": () => import("./SC-SY5UMMU2.mjs"), "./data/africa/tribes/SD.json": () => import("./SD-GZVFH7EN.mjs"), "./data/africa/tribes/SL.json": () => import("./SL-G6OQ2OKF.mjs"), "./data/africa/tribes/SN.json": () => import("./SN-KDIN2VHE.mjs"), "./data/africa/tribes/SO.json": () => import("./SO-OYCQEJXC.mjs"), "./data/africa/tribes/SS.json": () => import("./SS-VC4OP4LH.mjs"), "./data/africa/tribes/ST.json": () => import("./ST-W5CRCMYC.mjs"), "./data/africa/tribes/SZ.json": () => import("./SZ-WPJM53Q7.mjs"), "./data/africa/tribes/TD.json": () => import("./TD-LC3R4NYM.mjs"), "./data/africa/tribes/TG.json": () => import("./TG-4GRO64UZ.mjs"), "./data/africa/tribes/TN.json": () => import("./TN-KWXKNLDT.mjs"), "./data/africa/tribes/TZ.json": () => import("./TZ-MR6WGF2A.mjs"), "./data/africa/tribes/UG.json": () => import("./UG-UNMXRIJ5.mjs"), "./data/africa/tribes/ZA.json": () => import("./ZA-RNKH3KHE.mjs"), "./data/africa/tribes/ZM.json": () => import("./ZM-KVDEVKJK.mjs"), "./data/africa/tribes/ZW.json": () => import("./ZW-EFGG3D6Y.mjs") }); // src/index.ts async function getTribeData(countryCode) { try { const jsonTribesData = await globImport_data_africa_tribes_json(`./data/africa/tribes/${countryCode}.json`); return Object.values(jsonTribesData[countryCode] || {}); } catch (err) { console.warn(`\u26A0\uFE0F No tribe data found for ${countryCode}:`, err.message); return []; } } async function getCountries() { const countries = Object.keys(countries_default).map((item) => ({ ...countries_default[item], countryCode: item })); return countries; } async function getCountriesAndStates() { const countries = await getCountries(); const embeddedData = await Promise.all( countries.map(async (item) => ({ ...item, states: await getTribeData(item.countryCode) })) ); return embeddedData; } async function getCountry(countryCode) { const countries = await getCountries(); const selectCountry = countries.find( (item) => item.countryCode === countryCode ); if (selectCountry) return selectCountry; return {}; } async function getCountryAndState(countryCode) { const country = await getCountry(countryCode); const tribes = await getTribeData(countryCode); if (Object.keys(country).length > 0) { return { ...country, states: tribes }; } return {}; } async function getCountryStates(countryCode) { const tribes = await getTribeData(countryCode); return tribes; } export { getCountries, getCountriesAndStates, getCountry, getCountryAndState, getCountryStates };