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,633 lines (1,628 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/ML.json
var require_ML = __commonJS({
"src/data/africa/tribes/ML.json"(exports2, module2) {
module2.exports = {
ML: {
BAMAKO: {
capitalCity: "Bamako",
subdivisions: ["Bamako Commune I", "Bamako Commune II", "Bamako Commune III", "Bamako Commune IV", "Bamako Commune V", "Bamako Commune VI"],
geoPoliticalZone: "",
location: "South-West",
name: "Bamako",
stateCode: "BK",
tribes: ["Bambara", "Bozo", "Fulani", "Songhai"],
type: "district"
},
GAO: {
capitalCity: "Gao",
subdivisions: ["Gao", "Ansongo", "Bourem", "Menaka"],
geoPoliticalZone: "",
location: "North-East",
name: "Gao",
stateCode: "GA",
tribes: ["Songhai", "Tuareg", "Fulani"],
type: "region"
},
KAYES: {
capitalCity: "Kayes",
subdivisions: ["Kayes", "Bafoulabe", "Diema", "Kenieba", "Nioro du Sahel", "Yelimane"],
geoPoliticalZone: "",
location: "West",
name: "Kayes",
stateCode: "KY",
tribes: ["Khassonke", "Soninke", "Fulani"],
type: "region"
},
KOULIKORO: {
capitalCity: "Koulikoro",
subdivisions: ["Koulikoro", "Banamba", "Dioila", "Kangaba", "Kolokani", "Nara"],
geoPoliticalZone: "",
location: "South-West",
name: "Koulikoro",
stateCode: "KK",
tribes: ["Bambara", "Malinke", "Fulani"],
type: "region"
},
MOPTI: {
capitalCity: "Mopti",
subdivisions: ["Mopti", "Bandiagara", "Bankass", "Djenn\xE9", "Douentza", "Koro", "Tenenkou", "Youwarou"],
geoPoliticalZone: "",
location: "Central",
name: "Mopti",
stateCode: "MO",
tribes: ["Dogon", "Bozo", "Songhai"],
type: "region"
},
SEGOU: {
capitalCity: "S\xE9gou",
subdivisions: ["S\xE9gou", "Bla", "Barou\xE9li", "Macina", "Markala", "Niono", "San", "Tominian"],
geoPoliticalZone: "",
location: "Central",
name: "S\xE9gou",
stateCode: "SG",
tribes: ["Bambara", "Fulani", "Bozo"],
type: "region"
},
SIKASSO: {
capitalCity: "Sikasso",
subdivisions: ["Sikasso", "Bougouni", "Kolondieba", "Kadiolo", "Yanfolila", "Yorosso"],
geoPoliticalZone: "",
location: "South",
name: "Sikasso",
stateCode: "SK",
tribes: ["Senoufo", "Bambara", "Fulani"],
type: "region"
},
TAOUDENNI: {
capitalCity: "Taoudenni",
subdivisions: ["Taoudenni", "Achouratt", "Al-Ourche", "Boghassa"],
geoPoliticalZone: "",
location: "North",
name: "Taoudenni",
stateCode: "TD",
tribes: ["Tuareg"],
type: "region"
},
TOMBOUCTOU: {
capitalCity: "Tombouctou",
subdivisions: ["Tombouctou", "Dir\xE9", "Goundam", "Niafunk\xE9"],
geoPoliticalZone: "",
location: "North-West",
name: "Tombouctou",
stateCode: "TB",
tribes: ["Songhai", "Tuareg"],
type: "region"
},
MENAKA: {
capitalCity: "Menaka",
subdivisions: ["Menaka", "Anderamboukane", "Inekar"],
geoPoliticalZone: "",
location: "North-East",
name: "Menaka",
stateCode: "MN",
tribes: ["Tuareg"],
type: "region"
},
KIDAL: {
capitalCity: "Kidal",
subdivisions: ["Kidal", "Abeibara", "Tessalit", "Tin-Essako"],
geoPoliticalZone: "",
location: "North-East",
name: "Kidal",
stateCode: "KD",
tribes: ["Tuareg"],
type: "region"
},
BAMBA: {
capitalCity: "Bamba",
subdivisions: ["Bamba", "Bourem", "Gossi"],
geoPoliticalZone: "",
location: "North",
name: "Bamba",
stateCode: "BA",
tribes: ["Tuareg", "Songhai"],
type: "region"
},
SAN: {
capitalCity: "San",
subdivisions: ["San", "Bla", "Koutiala"],
geoPoliticalZone: "",
location: "Central",
name: "San",
stateCode: "SN",
tribes: ["Bambara", "Fulani"],
type: "region"
},
NARA: {
capitalCity: "Nara",
subdivisions: ["Nara", "Banamba"],
geoPoliticalZone: "",
location: "West",
name: "Nara",
stateCode: "NR",
tribes: ["Bambara", "Soninke"],
type: "region"
},
DIR\u00C9: {
capitalCity: "Dir\xE9",
subdivisions: ["Dir\xE9", "Goundam"],
geoPoliticalZone: "",
location: "North-West",
name: "Dir\xE9",
stateCode: "DR",
tribes: ["Songhai", "Tuareg"],
type: "region"
},
DOUENTZA: {
capitalCity: "Douentza",
subdivisions: ["Douentza", "Bandiagara"],
geoPoliticalZone: "",
location: "Central",
name: "Douentza",
stateCode: "DZ",
tribes: ["Dogon", "Songhai"],
type: "region"
},
TENENKOU: {
capitalCity: "Tenenkou",
subdivisions: ["Tenenkou", "Youwarou"],
geoPoliticalZone: "",
location: "Central",
name: "Tenenkou",
stateCode: "TN",
tribes: ["Bozo", "Songhai"],
type: "region"
},
YANFOLILA: {
capitalCity: "Yanfolila",
subdivisions: ["Yanfolila", "Kadiolo"],
geoPoliticalZone: "",
location: "South",
name: "Yanfolila",
stateCode: "YN",
tribes: ["Senoufo", "Fulani"],
type: "region"
},
YOROSSO: {
capitalCity: "Yorosso",
subdivisions: ["Yorosso", "Sikasso"],
geoPoliticalZone: "",
location: "South-East",
name: "Yorosso",
stateCode: "YR",
tribes: ["Senoufo", "Bambara"],
type: "region"
}
}
};
}
});
// src/countries/ml.ts
var ml_exports = {};
__export(ml_exports, {
getCountry: () => getCountry,
getCountryAndStates: () => getCountryAndStates,
getStates: () => getStates
});
module.exports = __toCommonJS(ml_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/ml.ts
async function getCountry() {
return {
...countries_default["ML"],
countryCode: "ML"
};
}
async function getStates() {
try {
const jsonTribesData = await Promise.resolve().then(() => __toESM(require_ML()));
return Object.values(jsonTribesData["ML"] || {});
} catch (err) {
console.warn(`\u26A0\uFE0F No tribe data found for ML:`, 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
});