mena library

MENA: Middle East and North Africa country data and utilities.

This package provides a comprehensive, offline dataset of MENA countries with convenient search utilities and localized data. Perfect for building international applications, country selectors, phone number inputs, and region-specific features.

Key Features:

  • Offline Data: No network calls required - all data is bundled
  • Localized Names: Both Arabic and English names (common + official)
  • Multiple Search Methods: Find countries by code, name, dial code, or currency
  • Flag Support: Built-in SVG flag URLs via flagcdn.com
  • JSON Serialization: Easy integration with APIs and storage

Quick Start:

import 'package:mena/mena.dart';

// Find a country by ISO code
final country = MENA.getByCode('ae');
print(country?.countryName.en); // "United Arab Emirates"

// Get all Middle East countries
final middleEast = MENA.middleEast;
print('${middleEast.length} countries'); // "13 countries"

@since 1.0.0 @author Mohamed Maher

Classes

Country
Immutable model containing localized country names in multiple formats.
Currency
Immutable data model representing a currency with localized names.
MENA
Primary API class providing utilities and data for Middle East and North Africa countries.
MenaData
Static in-memory dataset for MENA countries.
MenaItemModel
Immutable data model representing a MENA country with complete metadata.

Enums

CurrencyType
Enumeration of currency types used in the MENA region.
EmojiSize
Available flag emoji sizes from flagcdn.com.
ImageSize
Available image flag sizes from flagcdn.com.
ImageType
Available image formats for flag images from flagcdn.com.
MenaKeys
Internal search discriminator for the different lookup helpers.