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,613 lines (1,608 loc) • 37.8 kB
JavaScript
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/data/africa/tribes/BI.json
var require_BI = __commonJS({
"src/data/africa/tribes/BI.json"(exports2, module2) {
module2.exports = {
BI: {
BUBANZA: {
capitalCity: "Bubanza",
subdivisions: ["Bubanza", "Gihanga", "Musigati", "Mpanda", "Rugazi"],
geoPoliticalZone: "Western",
location: "North West",
name: "Bubanza",
stateCode: "BB",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
"BUJUMBURA MAIRIE": {
capitalCity: "Bujumbura",
subdivisions: ["Mukaza", "Musaga", "Buyenzi", "Kamenge", "Kinama", "Nyakabiga"],
geoPoliticalZone: "Western",
location: "West",
name: "Bujumbura Mairie",
stateCode: "BM",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
"BUJUMBURA RURAL": {
capitalCity: "Isale",
subdivisions: ["Isale", "Kabezi", "Kanyosha", "Mubimbi", "Mutambu", "Nyabiraba"],
geoPoliticalZone: "Western",
location: "West",
name: "Bujumbura Rural",
stateCode: "BR",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
BURURI: {
capitalCity: "Bururi",
subdivisions: ["Bururi", "Matana", "Mugamba", "Rumonge", "Songa", "Vyanda"],
geoPoliticalZone: "Southern",
location: "South",
name: "Bururi",
stateCode: "BU",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
CANKUZO: {
capitalCity: "Cankuzo",
subdivisions: ["Cankuzo", "Cendajuru", "Gisagara", "Mishiha"],
geoPoliticalZone: "Eastern",
location: "East",
name: "Cankuzo",
stateCode: "CA",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
CIBITOKE: {
capitalCity: "Cibitoke",
subdivisions: ["Buganda", "Bukinanyana", "Cibitoke", "Mabayi", "Murwi", "Rugombo"],
geoPoliticalZone: "Western",
location: "North West",
name: "Cibitoke",
stateCode: "CI",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
GITEGA: {
capitalCity: "Gitega",
subdivisions: ["Bugendana", "Bukirasazi", "Buraza", "Giheta", "Gitega", "Itaba", "Makebuko", "Mutaho", "Ryansoro"],
geoPoliticalZone: "Central",
location: "Central",
name: "Gitega",
stateCode: "GI",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
KARUSI: {
capitalCity: "Karuzi",
subdivisions: ["Bugenyuzi", "Gihogazi", "Gitaramuka", "Karuzi", "Mutumba", "Nyabikere", "Shombo"],
geoPoliticalZone: "Central",
location: "Central",
name: "Karuzi",
stateCode: "KR",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
KAYANZA: {
capitalCity: "Kayanza",
subdivisions: ["Butaganzwa", "Gatara", "Gahombo", "Kabarore", "Kayanza", "Matongo", "Muruta", "Rango"],
geoPoliticalZone: "Northern",
location: "North",
name: "Kayanza",
stateCode: "KY",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
KIRUNDO: {
capitalCity: "Kirundo",
subdivisions: ["Busoni", "Bwambarangwe", "Kirundo", "Ntega", "Vumbi"],
geoPoliticalZone: "Northern",
location: "North",
name: "Kirundo",
stateCode: "KI",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
MAKAMBA: {
capitalCity: "Makamba",
subdivisions: ["Kayogoro", "Kibago", "Makamba", "Mabanda", "Nyanza-Lac", "Vugizo"],
geoPoliticalZone: "Southern",
location: "South",
name: "Makamba",
stateCode: "MA",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
MUYINGA: {
capitalCity: "Muyinga",
subdivisions: ["Buhinyuza", "Butihinda", "Gashoho", "Gasorwe", "Giteranyi", "Muyinga"],
geoPoliticalZone: "Northern",
location: "North East",
name: "Muyinga",
stateCode: "MU",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
MWARO: {
capitalCity: "Mwaro",
subdivisions: ["Bisoro", "Gisozi", "Kayokwe", "Ndava", "Nyabihanga", "Rusaka"],
geoPoliticalZone: "Central",
location: "Central",
name: "Mwaro",
stateCode: "MW",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
NGOZI: {
capitalCity: "Ngozi",
subdivisions: ["Gashikanwa", "Kiremba", "Marangara", "Mwumba", "Ngozi", "Nyamurenza", "Ruhororo", "Tangara"],
geoPoliticalZone: "Northern",
location: "North",
name: "Ngozi",
stateCode: "NG",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
RUMONGE: {
capitalCity: "Rumonge",
subdivisions: ["Bugarama", "Burambi", "Buyengero", "Rumonge"],
geoPoliticalZone: "Southern",
location: "South West",
name: "Rumonge",
stateCode: "RU",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
RUTANA: {
capitalCity: "Rutana",
subdivisions: ["Bukemba", "Gitanga", "Musongati", "Rutana"],
geoPoliticalZone: "Southern",
location: "South East",
name: "Rutana",
stateCode: "RT",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
},
RUYIGI: {
capitalCity: "Ruyigi",
subdivisions: ["Butezi", "Bweru", "Gisuru", "Kinyinya", "Nyabitsinda", "Ruyigi"],
geoPoliticalZone: "Eastern",
location: "East",
name: "Ruyigi",
stateCode: "RY",
tribes: ["Hutu", "Tutsi", "Twa", "Ganwa"],
type: "province"
}
}
};
}
});
// src/countries/bi.ts
var bi_exports = {};
__export(bi_exports, {
getCountry: () => getCountry,
getCountryAndStates: () => getCountryAndStates,
getStates: () => getStates
});
module.exports = __toCommonJS(bi_exports);
// 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: "DZ",
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: ["Digo", "Kalenjin", "Kikuyu", "Luhya", "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"
}
]
}
};
// src/countries/bi.ts
async function getCountry() {
return {
...countries_default["BI"],
countryCode: "BI"
};
}
async function getStates() {
try {
const jsonTribesData = await Promise.resolve().then(() => __toESM(require_BI()));
return Object.values(jsonTribesData["BI"] || {});
} catch (err) {
console.warn(`\u26A0\uFE0F No tribe data found for BI:`, err.message);
return [];
}
}
async function getCountryAndStates() {
const country = await getCountry();
const states = await getStates();
return {
...country,
states
};
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
getCountry,
getCountryAndStates,
getStates
});