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,603 lines (1,598 loc) • 38.7 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/GH.json
var require_GH = __commonJS({
"src/data/africa/tribes/GH.json"(exports2, module2) {
module2.exports = {
GH: {
"AHAFO REGION": {
capitalCity: "Goaso",
subdivisions: ["Asunafo North", "Asunafo South", "Asutifi North", "Asutifi South", "Tano North", "Tano South"],
geoPoliticalZone: "Central",
location: "Central Ghana",
name: "Ahafo",
stateCode: "AHR",
tribes: ["Akan", "Brong", "Ewe"],
type: "region"
},
ASHANTI: {
capitalCity: "Kumasi",
subdivisions: ["Adansi North", "Adansi South", "Afigya Sekyere", "Ahafo Ano North", "Ahafo Ano South", "Asante Akim Central", "Asante Akim North", "Asante Akim South", "Bantama", "Bekwai", "Bosome Freho", "Bosomtwe", "Kwabre East", "Obuasi East", "Obuasi West", "Offinso North", "Offinso South", "Sekyere Afram Plains", "Sekyere Central", "Sekyere East", "Amansie Central", "Amansie South", "Amansie West"],
geoPoliticalZone: "Central",
location: "Central Ghana",
name: "Ashanti",
stateCode: "AR",
tribes: ["Akan", "Ashanti", "Fante", "Akuapem", "Akyem", "Brong", "Ewe"],
type: "region"
},
"BONO EAST": {
capitalCity: "Techiman",
subdivisions: ["Techiman", "Nkoranza North", "Nkoranza South", "Kintampo North", "Kintampo South", "Pru East", "Pru West"],
geoPoliticalZone: "Central",
location: "Central Ghana",
name: "Bono East",
stateCode: "BER",
tribes: ["Akan", "Bono", "Ewe", "Guang"],
type: "region"
},
"BRONG-AHAFO": {
capitalCity: "Sunyani",
subdivisions: ["Berekum", "Nkoranza", "Sunyani", "Dormaa", "Techiman"],
geoPoliticalZone: "",
location: "Central",
name: "Brong-Ahafo",
stateCode: "BA",
tribes: ["Bono", "Akan"],
type: "region"
},
CENTRAL: {
capitalCity: "Cape Coast",
subdivisions: ["Abura-Asebu-Kwamankese", "Awutu Senya East", "Awutu Senya West", "Cape Coast", "Efutu", "Gomoa Central", "Gomoa East", "Gomoa West", "Kwahuman", "Mfantseman", "Twifo Atti-Morkwa", "Assin North", "Assin South"],
geoPoliticalZone: "Southern",
location: "Southern Ghana",
name: "Central",
stateCode: "CR",
tribes: ["Akan", "Fante", "Ewe", "Guan"],
type: "region"
},
EASTERN: {
capitalCity: "Koforidua",
subdivisions: ["Abuakwa South", "Abuakwa North", "Asuogyaman", "Birim North", "Birim South", "New Juaben South", "New Juaben North", "Kwahu East", "Kwahu North", "Kwahu South", "Suhum", "Nsawam/Adoagyiri", "Akuapem North", "Akuapem South", "Brewaniase", "Nkawkaw"],
geoPoliticalZone: "Southern",
location: "Southern Ghana",
name: "Eastern",
stateCode: "ER",
tribes: ["Akan", "Akuapem", "Akyem", "Ewe", "Guan"],
type: "region"
},
"GREATER ACCRA": {
capitalCity: "Accra",
subdivisions: ["Ablekuma Central", "Ablekuma North", "Ablekuma West", "Adenta", "Ashaiman", "Ayawaso Central", "Ayawaso East", "Ayawaso West", "La Dade Kotopon", "La Nkwantanang Madina", "Okaikwei North", "Okaikwei South", "Tema", "Ningo Prampram", "Kpone Katamanso"],
geoPoliticalZone: "Southern",
location: "Southern Ghana",
name: "Greater Accra",
stateCode: "GAR",
tribes: ["Akan", "Ewe", "Ga", "Dangme", "Fante"],
type: "region"
},
"NORTH EAST": {
capitalCity: "Nalerigu",
subdivisions: ["Nalerigu", "Yunyoo", "Bunkpurugu"],
geoPoliticalZone: "",
location: "Northeast",
name: "North East",
stateCode: "NE",
tribes: ["Mamprusi", "Nanumba"],
type: "region"
},
NORTHERN: {
capitalCity: "Tamale",
subdivisions: ["Savelugu", "Tamale Metropolis", "Tolon", "Gushegu", "Karaga", "Kpandai", "Bole", "Daboya", "Nanton", "Navorongo", "Sagnarigu", "Walewale", "Yendi", "Zabzugu"],
geoPoliticalZone: "Northern",
location: "Northern Ghana",
name: "Northern",
stateCode: "NR",
tribes: ["Dagbani", "Nanumba", "Kusaal", "Bimoba", "Mamprusi"],
type: "region"
},
OTI: {
capitalCity: "Dambai",
subdivisions: ["Dambai", "Nkwanta South", "Biakoye"],
geoPoliticalZone: "",
location: "Northeast",
name: "Oti",
stateCode: "OT",
tribes: ["Ewe", "Akan"],
type: "region"
},
SAVANNAH: {
capitalCity: "Damongo",
subdivisions: ["Damongo", "Bole", "Sawla-Tuna-Kalba"],
geoPoliticalZone: "",
location: "North",
name: "Savannah",
stateCode: "SV",
tribes: ["Gonja"],
type: "region"
},
"UPPER EAST": {
capitalCity: "Bolgatanga",
subdivisions: ["Bawku", "Bolgatanga", "Bongo", "Kassena Nankana East", "Kassena Nankana West", "Talensi", "Tongo"],
geoPoliticalZone: "Northern",
location: "Northern Ghana",
name: "Upper East",
stateCode: "UER",
tribes: ["Frafra", "Nankani", "Buli", "Bawku", "Kusasi"],
type: "region"
},
"UPPER WEST": {
capitalCity: "Wa",
subdivisions: ["Nadowli-Kaleo", "Wa East", "Wa West", "Wa", "Sissala East", "Sissala West", "Jirapa", "Lawra"],
geoPoliticalZone: "Northern",
location: "Northern Ghana",
name: "Upper West",
stateCode: "UWR",
tribes: ["Sissala", "Dagaaba", "Wala", "Frafra"],
type: "region"
},
VOLTA: {
capitalCity: "Ho",
subdivisions: ["Ho", "Ho West", "Afadjato South", "Ketu North", "Ketu South", "Kpassa", "Nkwanta North", "Nkwanta South", "Gushegu", "Krachi East", "Krachi West", "Dambai"],
geoPoliticalZone: "Southern",
location: "Eastern Ghana",
name: "Volta",
stateCode: "VR",
tribes: ["Ewe", "Akan", "Dangme", "Guang"],
type: "region"
},
WESTERN: {
capitalCity: "Sekondi-Takoradi",
subdivisions: ["Amenfi East", "Amenfi West", "Essikado-Ketan", "Effia-Kwesimintsim", "Sekondi-Takoradi", "Shama", "Mpohor", "Prestea-Huni Valley", "Tarkwa-Nsuaem", "Wassa East", "Wassa West", "Bogoso"],
geoPoliticalZone: "Western",
location: "Western Ghana",
name: "Western",
stateCode: "WR",
tribes: ["Akan", "Ewe", "Fante", "Guan"],
type: "region"
},
"WESTERN NORTH": {
capitalCity: "Sefwi Wiawso",
subdivisions: ["Aowin", "Bia West", "Bia East", "Bodi", "Sefwi Akontombra", "Sefwi Wiawso", "Sefwi Anhwiaso"],
geoPoliticalZone: "Western",
location: "Western Ghana",
name: "Western North",
stateCode: "WNR",
tribes: ["Akan", "Sefwi", "Bono"],
type: "region"
}
}
};
}
});
// src/countries/gh.ts
var gh_exports = {};
__export(gh_exports, {
getCountry: () => getCountry,
getCountryAndStates: () => getCountryAndStates,
getStates: () => getStates
});
module.exports = __toCommonJS(gh_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/gh.ts
async function getCountry() {
return {
...countries_default["GH"],
countryCode: "GH"
};
}
async function getStates() {
try {
const jsonTribesData = await Promise.resolve().then(() => __toESM(require_GH()));
return Object.values(jsonTribesData["GH"] || {});
} catch (err) {
console.warn(`\u26A0\uFE0F No tribe data found for GH:`, 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
});